simpleRTK2B and binary output? gpsmon on Raspberry Pi failing; binary mode

Q&A forumCategory: QuestionssimpleRTK2B and binary output? gpsmon on Raspberry Pi failing; binary mode
clip asked 11 months ago

I’ve gotten the simpleRTK2B to communicate using a direct connection to the serial port on a Raspberry Pi, but this isn’t ideal.
However, when using the gpsmon tool, which connects to the gpsd daemon, it is hit or miss.  Sometimes, the connection will go through, and other times, communication will happen, but the raw messages will be (I’m pretty sure) binary; stuff like this will show up at the bottom of gpsmon:

(24) b5620120………………
(26) b5620104……………..
(24) b5620120……………..
The odd thing is, that sometimes, gpsd will grab a few good fixes (you can see good NMEA strings), and then, after a few seconds, you see the b5620120…. stuff as above.  I know gpsd automatically configures to
gpsd on the rPi is 3.17
Is the system going to a different mode of some sort?

5 Answers
clip answered 11 months ago

….message was cut off – gpsd will automatically configure itself based on baud rate of serial port.  I wonder if this is the cause of the issue.

clip answered 11 months ago

One solution is to use:
gpsctl -n
This forces NMEA strings.  However, it seems you have to either wait a bit after gpsd has started, or issue the command *twice*.

gdt answered 6 months ago

gpsd 3.17 is extremely old.   There have been a lot of fixes/improvements to gpsd since then for the F9P.    I suggest at the very least upgrading to 3.21, but really check out gpsd from git and build it yourself.

weedinator answered 3 weeks ago

rasbian 10 & gpsd version 3.17
I got the same problem, sometime it would work, and sometimes it would report 
(24) b5620120………………
(26) b5620104……………..
(24) b5620120……………..
when running gpsmon
It seems when gpsd runs , it will try and write to the gps device to ‘optomise’ it, this optmisation seems to interfere with the ublox settings in someway 🙁
Running the gpsd with the -b (readonly) seems to reliably fix the problem.
using this 
sudo gpsd /dev/serial0 -b -F /var/run/gpsd.sock
works every time
I have no idea why gpsd tries to optimise the gps device, and why it ‘gets in wrong’.
Compiling to the laster version of gpsd from source to gpsd 3.22 didn’t seem to improve the situation.
I may open an issue up on here
if i get time.

gdt replied 3 weeks ago

3.17 is ancient. Lots of things have been fixed and improved including F9P support.

Nobody at gpsd is interested in debugging 3.17. I know this because I’m one of the maintainers, and we get a lot of similar reports and always tell people to update. Please do not file bugs against 3.17; that is just a waste of upstream developer time to deal with.

If you are upset about this stance because 3.17 being in raspbian, then please file a bug with raspbian that they include old gpsd.

weedinator replied 3 weeks ago

I’m not upset about anything? I did mention that I compiled 3.22, and it seems to have the same results. So any upstream issues will be with the latest and greatest gspd can give. I never get upset for software i get for free, and I certainly appreciate all your hard work in maintaining gpsd. I make sure i’ll contribute something, even it’s a well worded and researched bug report.

gdt answered 3 weeks ago

Sorry, I thought you were still testing with 3.17.  Bug reports against the latest release are most welcome.