Setup Dual XGPS150A in KDE Plasma

I am trying to setup a Dual XGPS150A in KDE Plasma running on a Dell Inspiron 7010 laptop to use in a marine chart plotting application meaning I need Manjaro to see NMEA serial data.

My first hurdle is trying to see if the USB for the GPS is recognized. I have installed gpsutils and and tried running lusb but I get “command not found”. Is there a problem with gpsutils that I am not aware of?

Next hurdle is I need to setup a group to allow open serial connections there are some instructions for Debian and RedHat systems, but none for Arch based.

Finally, I have read that there are 2 ways to connect your GPS through GPSD or Direct Connection. Which is the preferred way to go in KDE Manjaro? It appears that GPSD takes care of more aspects of the connection to the GPS and that Direct Connection requires more explicit handling of configuration files.

Please feel free to correct me if I am misunderstanding any of this and yes I have been searching to see if others have been down this road before but have not yet found satisfactory answers. Thanks a lot ahead of time.

you mean lsusb ?

lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 009: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 008: ID 062a:4101 MosArt Semiconductor Corp. Wireless Keyboard/Mouse
Bus 001 Device 007: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 001 Device 006: ID 046d:c52b Logitech, Inc. Unifying Receiver
Bus 001 Device 004: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 011: ID 046d:c52f Logitech, Inc. Unifying Receiver
Bus 001 Device 010: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 001 Device 005: ID 046d:085c Logitech, Inc. C922 Pro Stream Webcam
Bus 001 Device 003: ID 1a40:0101 Terminus Technology Inc. Hub
Bus 001 Device 002: ID 0bc7:0006 X10 Wireless Technology, Inc. Wireless Transceiver (ACPI-compliant)
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

trizen -Qo lsusb                                               
/usr/bin/lsusb ist in usbutils 014-1 enthalten

As startingpoint you may use:

https://wiki.archlinux.org/title/working_with_the_serial_console

you mean lsusb ?

Thank you — Forehead slap

OK, so some progress…I identified a Prolific Technologies PL2003 Serial to USB adapter which I “believe” is probably my GPS since it went away when I unplugged it and ran lsusb again.

Thanks for the Arch Wiki link I will check it out and see what I can glean from it.

OK, I am at step 2. I need to create a “dialup” group. I found the following.

Make sure that you belong to the “dialout ” group. To find out, run the

$groups

command. If you’re not in “dialout ”, add yourself with the command

sudo usermod -a -G dialout $USER

I don’t have the “dialup” group so it apparently needs to be created. I know the format is


groupadd [OPTIONS] GROUPNAME

I know next to nothing about creating groups especially ones that perform specific functions. Is there
anything special I need to know (like what options) about creating this group since it’s purpose is to
allow access to serial data connections. I’m obviously in uncharted territory for me and is why I’m
seeking help with this.

Isn’t this a bluetooth device?

Dual XGPS150A Bluetooth GPS Receiver - MyPilotStore.com

By the description and pictures there, the usb port is just for charging.

Or is it a different device?

It is Bluetooth, and you are correct and investigating the specifications indicates that it is just for charging. I was assuming that it would work with either a wired connection or with Bluetooth and that the wired connection would be preferable since I have to plug it in anyway. Shame on me for not looking deeper. Interesting though that lsusb identifies it as Prolific Technologies PL2003 Serial to USB adapter. It had me fooled into thinking it could transmit serial data across the USB. Electronic Chart Plotting Systems I’ve used in the past have had hardware nmea to USB dongles (coming from a fixed marine GPS) so I was making assumptions based on past experience. This is my first attempt at building a portable laptop system with GPS and AIS. Learning curves…

Thanks for setting me straight.

Now to figure out how to access Bluetooth nmea data.

Alright, I still need to figure out how to create the “dialup” group. I’m using OpenCPN and it still requires being in the proper group to access the serial ports. I’m assuming serial data is serial data no matter how it’s being received. Here is where I’m getting my info

https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:options_setting:connections#linux_serial_connections

Once I get that completed then I have the Bluetooth setup that I am getting from here.

GPS Setup [OpenCPN Manuals]

Hoping that the Ubuntu instructions translate over to Manjaro. One step at a time.

Oh, and I was able to successfully pair the device . Just need to get the data to where it can be read by OpenCPN.

Thanks ahead of time for any insights. I already have a bunch of hours into this. Hopefully when I’m done this will help someone else down the line.

I’d go out on a limb here and say that that is not necessary.
I base this on the following quote from the second link in your post above:

To proceed, the “user” you use on your computer must belong to a group that is allowed to open serial connections. This group is normally “dialout” on Debian based Linuxes, including Ubuntu, and “uucp” on Red Hat based distributions.

The uucp group does exist on Arch and Manjaro - the dialout group does not.
… but having it or adding it doesn’t hurt either.

The software for the device as well as a few plugins seems to be in the AUR.

AUR (en) - opencpn

When a software relies on the presence of a group that wasn’t there before,
creating this system group is normally part of the installation process.
Looking at the PKGBUILD, this isn’t the case - so “dialup” is likely not needed.
Use uucp instead.

this:
gpasswd -a *username* uucp

is also in the arch wiki re serial setup

Working with the serial console - ArchWiki

also perhaps see:

Users and groups - ArchWiki

edit:

It is indeed - and it builds and installs without problems
and it works, too.
But I have no use for it and don’t know anything about what it is intended to be used for.
… and I don’t have a GPS device to connect and play with it.

Nachlese,

Thank you for the detailed response. I have as you stated installed the program from the repository and yes the program does work. In the applications setup is a “connections” tab. It will accept both serial and network data streams from GPS for positioning , course and speed as well as AIS (Automatic Identification System) receiver.

Anyway, from what I now understand to get my Bluetooth GPS working I need to create a binding in the rfcomm configuration file. rfcomm.conf so that it is bound at startup. The references on this pertain to Ubuntu based systems and this file does not seem to exist on my system.

I am referencing the section under Bluetooth GPS for Ubuntu in the OpenCPN docs posted above.

Since I don’t have an rfcomm.conf file can I create one with the information in the document? I checked and I do have the rfcomm server on my system as I have many files and a couple of folders with similarly named.

It is my understanding that once the binding is created the GPS should show up in OpenCPN as a device available for use.

I’m interested and willing to read the mentioned section.
But please:
link to it - so that I don’t have to search for in the whole manual to find what you are referring to.
I have to start here (from the top of the manual).
I just see the table of contents.
(and don’t know where to go or look …)

OpenCPN User Manual [OpenCPN Manuals]

I do not have a device to tinker with to figure things out …
for me it is documentation only …

in order to maybe understand what that means
and how it may be translated to Arch/Manjaro systems
… please reference what you mean

I’m interested and willing to read the mentioned section.
But please:
link to it - so that I don’t have to search for in the whole manual

My apologies I was going to do that and the editor asked me if I was sure I really wanted to post it again.

https://opencpn.org/wiki/dokuwiki/doku.php?id=opencpn:opencpn_user_manual:getting_started:gps_setup#linux

Scroll down to the section on Bluetooth GPS and the subsection on Ubuntu 12.04.

ah - ok
I responded too soon.
Not everything had settled yet. :wink:
sorry!

will read …

ok
the command(s) to do that are only temporary
they are explaining how to set up the device and configure it

maybe it just works
I don’t/can’t know - I don’t have one to try with …

most importantly:
the commands are identical/universal,
(not when it comes to users/groups though …)
no variation in between systems (Ubuntu/Debian/Arch … whatever)

Looks like they are just trying to explain the proper setup of gpsd
so that the program will work reliably.

again:
maybe it just works?

So should I be able to create a rfcomm.conf file and use the contents in the document as a template as described?

I am assuming that once this is done and the binding setup that it will be built at bootup and make that connection available for use.

I also downloaded a freeware serial port utility too that will scan for connections. It looks to be useful as a GUI for troubleshooting. It’s called Coolterm.

https://www.freeware.the-meiers.org/

yes

you might not even need it though - it might just work or be adjustable from within the program

or will there be a bunch of other USB serial devices connected at the same time?

but this will fix your device address to a specific interface

I cannot test any of this, unfortunately, even though I’d like to - just saying that again …
And you will grow your experience on this, to be able to judge what a certain thing does, what it was intended to do, and what you had to do to make that happen …

first just make it work - via command line … options
play around until it works
once/when it works
make it permanent - through configuration files

I created the rfcomm.conf file

I’m stuck on 2 items

  • How to find the Bluetooth channel…hcitool is recommended but has been deprecated. I have left it at the default of 1 for now. Not sure if this makes difference. I have looked but I have not been able to find another tool that provides this information.
  • rfcomm does not seem to be a valid command on my system. when I try sudo rfcomm connect 0
    I get “command not found”. What Library would have to install to get this functionality?

As is so often the case:
the Arch Wiki can shed light into your darkness :wink:

As Manjaro is derived from Arch and very close to it
the Arch Wiki should be one of the very first resources you peruse whenever questions arise.

Bluetooth - ArchWiki

link goes directly to the BT serial section of the article

also CTRL f
(search and find the expression …)
for hcitool and possibly bluez-utils-compat
in that same page

It is all there - all available.
Just use Arch specific documentation if you can (especially the Arch Wiki).

…everything is just a bit harder when you are doing it for the first time …

Thanks for the tips… especially with regards to bluez-utils-compat. I have been posting to the OpenCPN forum. No responses there yet but here is the summary I posted there.

  1. Under Arch Linux (which Manjaro is based off of) I had to install git and yay so I could access the Arch User Repository. This then allowed me to access and install the package bluez-utils-compat Which is a legacy version of bluez-utils 8 of the tools in the package had been deprecated (made obsolete and discontinued) with no viable replacements for hcitool and rfcomm

  2. I was able to build and save a rfcomm.conf file.

  3. I downloaded a program called CoolTerm to test my serial port connection.

  4. I installed a utility called Blueman Bluetooth Manager. This tool allows you to initiate a Bluetooth connection in serial port mode.

  5. I tested the connection in CoolTerm and it works.

  6. Now I cannot get OpenCPN to see the serial connection. Most likely this is because of something to do with being a member of a serial port group. “Dialout” is the group mentioned in the documentation. Arch systems use a group called “uucp”. I now have to find out if there is something I need to tweek with regards to uucp and get OpenCPN to recognize it.

  7. That is where I am. I am getting close. Enough for one day.

As you can see I am stuck at getting OpenCPN to see the serial connection I created. the applications documentation states this is usually related to not being in the “dialout” group. I am a member of the uucp group which I confirmed with $ groups *user* I’ve not seen if there is anything that needs to be tweaked with uucp.

I’m pretty much a noob with most of this configuration stuff so bear with me I’m struggling but making progress.

I cannot help you with this - but perhaps someone could if you described what you are doing to achieve this, what you expect and what happens instead.

Very unlikely, as already mentioned.
Easy to check for, too.
Some complaint will be in terminal output or in system logfiles about that.

But if you believe that this is the reason - just create the group and make yourself a member.
I advise against it
(because it seems to be a hard thing to do for you)
– unless you positively know that this is what is holding you up.

Maybe this will help:

GPS - ArchWiki

… shouldn’t you be able to use the GUI to select your source at this point?

But if you believe that this is the reason - just create the group and make yourself a member.
I advise against it
(because it seems to be a hard thing to do for you)
– unless you positively know that this is what is holding you up.

Thank you again for the response. I will give a try at creating the Dialup group. It’s not that it’s hard for me to do I’m just exercising caution because I’m not always sure what I’m doing and don’t want to screw anything up. To be honest I don’t know if a group is something as simple as a folder or a text file with names in it or if it has some inherent properties.

As for the GUI in OpenCPN it should be showing a list of available serial ports. I an unable to use to select the serial port because it is greyed out. I know it is working because I opened the serial port in CoolTerm and could see the data stream in realtime. The only thing I have to go on as far as the reason for the GUI being greyed out is the programs documentation telling me that it is likely a group membership problem.

Anyway, thank you for your patient assistance with this as I would not be as far along as I am without your help. I have a lot of hours into this and am soaking up and learning a lot.