×

INDI Library v2.0.6 is Released (02 Feb 2024)

Bi-monthly release with minor bug fixes and improvements

[SOLVED] GPSD not establishing a fix, but gpsmon works

  • Posts: 460
  • Thank you received: 69
Is anyone able to guess an issue with gpsd connecting but not establishing a fix?

lsusb -v gives this:
Bus 001 Device 005: ID 1546:01a7 U-Blox AG [u-blox 7]
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            2 Communications
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x1546 U-Blox AG
  idProduct          0x01a7 [u-blox 7]
  bcdDevice            1.00
  iManufacturer           1 u-blox AG - www.u-blox.com
  iProduct                2 u-blox 7 - GPS/GNSS Receiver
  iSerial                 0 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength       0x003e
    bNumInterfaces          2
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xc0
      Self Powered
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           1
      bInterfaceClass         2 Communications
      bInterfaceSubClass      2 Abstract (modem)
      bInterfaceProtocol      1 AT-commands (v.25ter)
      iInterface              0 
      CDC Header:
        bcdCDC               1.10
      CDC ACM:
        bmCapabilities       0x02
          line coding and serial state
      CDC Call Management:
        bmCapabilities       0x03
          call management
          use DataInterface
        bDataInterface          1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x83  EP 3 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval             255
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        1
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass        10 CDC Data
      bInterfaceSubClass      0 
      bInterfaceProtocol    255 Vendor specific
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               0
can't get debug descriptor: Resource temporarily unavailable
Device Status:     0x0001
  Self Powered

Tthe /lib/udev/rules.d/60-gpsd.rules
rule looks OK to me
# u-blox AG, u-blox 7 [linux module: cdc_acm]
ATTRS{idVendor}=="1546", ATTRS{idProduct}=="01a7", SYMLINK+="gps%n", TAG+="systemd", ENV{SYSTEMD_WANTS}="gpsdctl@%k.service"
gpsmon shows that the gps is working as shown below, but under indi driver --> Name: GPSD, Exec: indi_gpsd, Version: 0.5, Interface 32832 it never gets a fix?


BTW, I previously had problems with the driver crashing which Jasem diagnosed as an old duplicate installation. Now it doesn't crash, but I don't get a fix.

Thanks
3 years 7 months ago #57794
Attachments:

Please Log in or Create an account to join the conversation.

Clicking Refresh --> GPS does not help?
3 years 7 months ago #57819

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

Use: sudo systemctl status gpsd

Let’s see what the trouble is? I have the same device. Mine is working fine now. I created a custom rule to manage this UART device. I used the above command to see what is up with GPSD. What I found is this. Using the USB 3.0 port and a hub to service the U-BLOX 7, the device complains a bunch about UT not set. Also, /tmp/vgps conflicts are a problem with AstroPI3 script. My rule under RPI3B+ needed to be updated.

All three of these problems showed up in earnest after a recent update. I think this problem started with moving from RPI3B+ to RPI4B. I started using the USB 3.0 ports. All my devices are USB 2.0. My Hubs are USB 3.0. I did not have this problem with RPI3B+.
Last edit: 3 years 7 months ago by John Robison.
3 years 7 months ago #57828

Please Log in or Create an account to join the conversation.

  • Posts: 460
  • Thank you received: 69
I must confess in my 1st posting above I have the time of day showing up. The time data only shows up when I Disconnect and Connect, usually every field is empty.

Hitting Refresh GPS has no effect, adjusting the update to 60 sec. doesn't help.

sudo systemctl status gpsd gives:
gpsd.service - GPS (Global Positioning System) Daemon
     Loaded: loaded (/lib/systemd/system/gpsd.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2020-08-05 19:10:05 ADT; 19h ago
TriggeredBy: ● gpsd.socket
    Process: 2393 ExecStart=/usr/sbin/gpsd $GPSD_OPTIONS $DEVICES (code=exited, status=0/SUCCESS)
   Main PID: 2395 (gpsd)
      Tasks: 1 (limit: 3838)
     Memory: 1.1M
     CGroup: /system.slice/gpsd.service
             └─2395 /usr/sbin/gpsd
 
Aug 05 19:10:05 odroid systemd[1]: Starting GPS (Global Positioning System) Daemon...
Aug 05 19:10:05 odroid systemd[1]: Started GPS (Global Positioning System) Daemon.
That looks good to me, but then I don't understand it :)

gpsmon /dev/gps0 gives the same output as the original post i.e. it's working.

Thanks
3 years 7 months ago #57830

Please Log in or Create an account to join the conversation.

  • Posts: 294
  • Thank you received: 54
I remember vaguely having similar problems with GPSD and INDI.

gpsmon or xgps would work but not GPSD. GPSD would connect but I was not getting position and time. As I was running INDI nightly I decided to remove kstars and friends (except gsc and astrometry.net) and install the latest stable, 3.4.3, as it now has the PPBA driver I needed for my Pocket PowerBox Advance. Doing so got me rid of the GPSD problem and things seem to be working fine for now, no driver crash, no unresponsive devices... You may want to try removing and reinstalling, just in case.

BTW, I'm running 3.4.3 on Odroid N2 and Odroid C4, both with Ubuntu Mate 20.04 LTS

Good luck.
3 years 7 months ago #57831

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

This seems to be a trend. I used the tools within AstroPI3 to see what Indiwebmanager was saying. It is in this log, that I found the conflict.
3 years 7 months ago #57832

Please Log in or Create an account to join the conversation.

  • Posts: 216
  • Thank you received: 120
I've also seen an issue with gpsd getting hung up on other serial devices being plugged in. What happens if you start the PC with ONLY the gps receiver plugged in (no other usb devices) and start a profile that just uses simulators and GPSD? To get mine to work consistently, I needed to modify `/etc/default/gpsd` to disable auto searching and specify my gps receiver. I also needed to disable Auto Search in the indi control panel (and then save the config in the options tab) for my other serial devices, because it seemed to sometimes cause gpsd to lose the connection to the gps receiver. I could never reproduce it consistently, but making these changes has made everything nice and stable now. Without these changes, GPSD would usually work just fine until I plugged in my other devices and started INDI. Then it would stop working.
3 years 7 months ago #57859

Please Log in or Create an account to join the conversation.

  • Posts: 460
  • Thank you received: 69
OK, a simple solution. THANKS to all who made suggestions!

I edited my /etc/default/gpsd config file to add "/dev/gps0" to the GPSD_OPTIONS to replace what was an empty option.
# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES=""
 
# Other options you want to pass to gpsd
#GPSD_OPTIONS=""
GPSD_OPTIONS="/dev/gps0"
This was sufficient to make the indi-gpsd driver instantly pick up the fix. In addition, now
xgps
works to show the satellite info.

Cheers
The following user(s) said Thank You: Jose Corazon
Last edit: 3 years 7 months ago by Jerry Black.
3 years 7 months ago #57900

Please Log in or Create an account to join the conversation.

  • Posts: 1119
  • Thank you received: 182
Struggled with the same problem all evening! Found this too late, will try out tomorrow.
Thanks, Jerry!
The following user(s) said Thank You: Jerry Black
3 years 7 months ago #57977

Please Log in or Create an account to join the conversation.

  • Posts: 389
  • Thank you received: 15
Hello,

I am puzzled. I finally recognized what I was reading. Per GPSD on Linux, I thought the configuration file had a specific placement of input.


# Default settings for the gpsd init script and the hotplug wrapper.

# Start the gpsd daemon automatically at boot time
START_DAEMON="true"
ENABLED="yes"
GPSD_SOCKET="/run/gpsd.sock"

# Use USB hotplugging to add new USB devices automatically to the daemon
USBAUTO="false"

# Devices gpsd should collect to at boot time.
# They need to be read/writeable, either by user gpsd or the group dialout.
DEVICES="/dev/gps0"


# Other options you want to pass to gpsd
GPS_BAUD=115200
GPS_FIXFILE=/var/run/gpsfix
GPSD_OPTIONS="-n -D 1"
3 years 7 months ago #58535

Please Log in or Create an account to join the conversation.

  • Posts: 7
  • Thank you received: 0
I have exactly the same issue and would like to modify the /etc/default/gpsd file, but I keep getting the error message "permission denied," and no offer to enter a password. How do I get around this. Thanks, and Happy Holidays.
Jon
3 years 3 months ago #64955

Please Log in or Create an account to join the conversation.

  • Posts: 460
  • Thank you received: 69
Use sudo nano When editing the file. ?
The following user(s) said Thank You: Jon_G
3 years 3 months ago #64957

Please Log in or Create an account to join the conversation.

Time to create page: 2.722 seconds