Hi, all. I'm having a problem reading a GPS module through the GPIO UART pins. The Pi board is a 3b+ running the latest bookworm Raspberry Pi OS. I've enabled the UART pins in /boot/firmware/config.txt.
I'm working with a u-blox NEO-M8N GPS module that I've wired straight to the pins. After some considerable futzing, I got it working with GPSD, reading data, connecting with gpsmon, etc. Worked great.
I moved the whole unit to a different location so I could connect it to an outside antenna, turned it back on, and now it's behaving strangely. In my troubleshooting so far, I've disabled GPSD and am trying to communicate directly with the GPS module. Here's what I observe:
Using 'gpscat /dev/serial0 -s 38400' or any other speed results in gibberish.
Using 'picocom /dev/serial0 -b 38400' or any other speed(*) results in gibberish.
* While trying to use picocom at 115200 baud, I accidentally typed "15200" and started getting clear NMEA lines. While picocom was running I ran 'stty -F /dev/serial0' and it reported the speed "0 baud". It seems that other "invalid" speeds have the same result.
Swapping the module with another identical module has the same result.
Since two GPS modules are behaving the same, I suspect the fault lies in the Pi's UART. I haven't yet tested the UART pins with other serial devices (all are currently allocated to other projects).
Could I have done something to horse up the UART?
Thanks for any feedback.
I'm working with a u-blox NEO-M8N GPS module that I've wired straight to the pins. After some considerable futzing, I got it working with GPSD, reading data, connecting with gpsmon, etc. Worked great.
I moved the whole unit to a different location so I could connect it to an outside antenna, turned it back on, and now it's behaving strangely. In my troubleshooting so far, I've disabled GPSD and am trying to communicate directly with the GPS module. Here's what I observe:
Using 'gpscat /dev/serial0 -s 38400' or any other speed results in gibberish.
Using 'picocom /dev/serial0 -b 38400' or any other speed(*) results in gibberish.
* While trying to use picocom at 115200 baud, I accidentally typed "15200" and started getting clear NMEA lines. While picocom was running I ran 'stty -F /dev/serial0' and it reported the speed "0 baud". It seems that other "invalid" speeds have the same result.
Swapping the module with another identical module has the same result.
Since two GPS modules are behaving the same, I suspect the fault lies in the Pi's UART. I haven't yet tested the UART pins with other serial devices (all are currently allocated to other projects).
Could I have done something to horse up the UART?
Thanks for any feedback.
Statistics: Posted by daveriesz — Tue Mar 19, 2024 2:16 am