HackerGadgets AIO V1 GPS: "ANTENNA OPEN" + frozen lat/lon on Debian bookworm — two separate bugs, both fixed

System: ClockworkPi uConsole (RPi CM4) + HackerGadgets AIO V1 board (“UC AIO Ext”), package hackergadgets-uconsole-aio-board v1.41, Debian 12 (bookworm), kernel 7.1.4-v8+ aarch64.

GPS is a u-blox module wired to /dev/ttyS0 (/dev/serial0), read via gpsd. I ran into two independent problems getting a real fix out of it. Writing this up since I couldn’t find both root causes documented together anywhere.

Symptom 1: ANTENNA OPEN, zero satellites in view

gpspipe -r showed a persistent $GPTXT,01,01,01,ANTENNA OPEN*25, $GPGSV sentences never populated, and $GPRMC stayed void. Note: UBX-MON-HW NAKs on this module/firmware, so you can’t rely on that to check antenna status — the NMEA $GPTXT line is the reliable channel here.

Ruled out with a structured swap test (2 different antennas, module COLDBOOT reset, IPEX connector reseat — 4 independent variables), all producing the identical ANTENNA OPEN result. That points away from antenna/cable/firmware-state and toward the board itself.

Root cause: known AIO V1 manufacturing defect — a leftover test diode on the board back-feeds power onto the GPS antenna line. Measured 4.9/4.85 V at the SMA end, consistent with another user’s report of 4.7 V from the same defect ( HackerGadgets AIO Board Package - #812 by Michal_Wojcik , user Michal_Wojcik).

Fix: desolder the offending part. On my board it’s a SOT-23 package, SMD marking “3K10” — consistent with the “diode” description in the referenced thread (SOT-23 is a common package for small-signal/Zener diodes). Recording the marking here so others can positively identify the same part without re-deriving it.

After removal: ANTENNA OK consistently across multiple runs (300/300, 190/190 sentences checked), at a window and outdoors.

Pictures below.

Symptom 2: real fix (mode:3) but lat/lon frozen at 30.0/120.0

After fixing the antenna issue, $GPGSV still reported 0 satellites and gpspipe -w TPV output showed mode:3 with lat/lon stuck at an exact placeholder (lat:30.000000029, lon:119.999999994), even outdoors with a clear sky view. That ruled out signal attenuation.

The tell: in the same TPV JSON line, the ecefx/ecefy/ecefz fields were live and changing, and decoded to a real, correct position (~48°N, 16.3°E). Independently confirmed with ubxtool -p NAV-STATUS -P 3.14 -f /dev/ttyS0, which returned live UBX-NAV-SOL/UBX-NAV-POSECEF data. So the receiver genuinely had a 3D fix with 12 satellites — only the geodetic lat/lon field in gpsd’s output was stuck.

Root cause: confirmed known bug in gpsd 3.22 (this system runs 3.22-4.1+deb12u1 from bookworm) — when gpsd auto-configures a u-blox receiver into its binary (“ublox”) protocol mode, the JSON TPV lat/lon/alt fields freeze at a fixed non-updating value while ECEF keeps updating correctly. Fixed upstream in gpsd 3.24+; not yet backported to bookworm’s packaged version. Also confirmed via a Raspberry Pi Forums thread covering the same gpsd 3.22 + u-blox + bullseye/bookworm combination.

Fix: add -p to GPSD_OPTIONS in /etc/default/gpsd (was "-n", now "-n -p"). -p disables gpsd’s auto-configuration and keeps the receiver in plain NMEA mode, avoiding the buggy binary-mode code path. Then sudo systemctl restart gpsd.

Verified: gpspipe -w TPV now reports mode:3 with real, correct coordinates matching the actual location.

Summary for anyone hitting this on an AIO V1 board

  1. If you see ANTENNA OPEN in the NMEA stream and it survives an antenna swap and COLDBOOT: it’s very likely the board’s diode defect, not your antenna or module. Desolder the SOT-23 part marked “3K10” (or whatever the equivalent marking is on your board revision).
  2. If antenna status is ANTENNA OK, you have a real 3D fix (check ecefx/y/z or ubxtool NAV-STATUS), but lat/lon in gpsd’s TPV output sit at exactly 30.0/120.0: that’s the gpsd 3.22 auto-config bug. Add -p to GPSD_OPTIONS in /etc/default/gpsd and restart the service.

Both issues can be present at the same time and mask each other, so check antenna status first, then lat/lon behavior once that’s clean.

Regards,

Michael

P.S.: Check my 3D printed case here: https://makerworld.com/en/models/1873361-uconsole-protection-case

1 Like

我也一直有 ANTENNA OPEN 的问题,售后说这是因为以前的测试天线是5v供电,现在是3.3v,所以会出现这个问题

The component labeled 3K10 powered the GPS antenna with an external 5V supply. Some antennas require 5V instead of 3.3V. Because the antenna was powered by an external power supply, the GPS module can’t detect the current flowing to the antenna, which causes the “ANTENNA OPEN” warning. But that warning won’t affect positioning.