7 Commits

Author SHA1 Message Date
mikkeli 28e056dc4d Chrony with GPS fallback; robust antenna supply; all GNSS constellations
Time: chrony replaces timesyncd, with NICT/JP-pool NTP primary and gpsd
SHM as an offline-only refclock; makestep any time and fake-hwclock
cover the battery-less RTC.

Antenna: the modem cleared the supply again after the service set it,
so the service is now idempotent, configurable (ANTENNA=active|passive,
passive keeps it off) and re-checked by a 30 s timer.

gpsd: a gpsdctl udev hook spawned a stray gpsd without -n at boot that
blocked the real service; gpsd.service now binds to the NMEA device.

GNSS: CGNSSMODE=15 (GLONASS, BeiDou, Galileo, QZSS) and all supported
NMEA sentences; both persist across a modem reset. Adds sim7600-at.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 19:18:16 +09:00
mikkeli 68fd0715b8 SIM7600: power the active GNSS antenna on every modem start
An active antenna on the roof received nothing until the modem's
antenna supply was switched on (AT+CVAUXV=3050, AT+CVAUXS=1); then +5.5
dB over the passive one. The settings reset on every modem restart and
AT&W doesn't keep them, so interface 03 is reserved as /dev/sim7600-at
(ModemManager ignores it) and a udev-started oneshot re-applies them.
gpsd now re-attaches via gpsdctl after re-enumeration. Verified with a
live modem reset: antenna, LTE and the GNSS fix all recovered unattended.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 17:03:20 +09:00
mikkeli 3926dcc055 SIM7600: note antenna placement for the first fix
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:39:41 +09:00
mikkeli 21007a384e SIM7600: first GNSS 3D fix, in the car
The gpsd pipeline needed no changes; the indoor tests lacked sky view.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-09 16:39:29 +09:00
mikkeli 9ba464f4a4 Mark povo connection metered
project-yukart's map-tile sync treats NetworkManager's metered flag as
a second guard against syncing over LTE; the flag was never set. It is
now, live on the car unit.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:58:35 +09:00
mikkeli e29c20de75 Record LTE failover test: seamless switch, Tailscale direct over IPv6
With the WiFi radio off, the default route moved to wwan0 within 10 s and
all IPv4/DNS/Tailscale samples passed. Tailscale went direct to halogen
over povo's global IPv6 (no DERP), and an SSH session over the tailnet
survived both switches. WiFi took back IPv4 within 15 s and IPv6 within
~45 s.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 09:50:18 +09:00
mikkeli 4742d4a5bb Add SIM7600 setup report: LTE over QMI, gpsd on stable port
The L4T kernel ships without qmi_wwan/cdc-wdm, and PPP dial-up made KDDI
detach the povo SIM (attach APN was au's; PPP re-activating the default
bearer still detached). Built both modules out of tree from v5.15.148
into ~/infra/qmi_wwan, set the attach APN to povo.jp, and added an NM
connection at metric 1000 so LTE ranks below Ethernet and WiFi.

GNSS autostarts on the modem and gpsd reads /dev/sim7600-gps (udev
symlink on interface 01); no fix yet, tested indoors.

BOM: NMEA is on ttyUSB1 not ttyUSB3, and the data path is QMI, not
RNDIS/PPP.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 01:36:27 +09:00