Phase 0: record host bring-up progress on the car unit

LTE is up over QMI on povo, metered and ranked below Ethernet/WiFi, with
failover tested. CAN interfaces now have stable udev names (can_pcan,
can_onboard) since canN order raced at boot, so references to can1/can0
go. GNSS stays open: gpsd runs but has no fix until an open-sky test,
which is now what blocks the moving map. Kernel-update rebuild steps
are documented for both out-of-tree modules; time sync is pinned to NICT.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
mikkeli
2026-10-08 09:58:51 +09:00
parent d8c40eb9ed
commit f05fda71ee
3 changed files with 18 additions and 10 deletions
+3 -3
View File
@@ -34,9 +34,9 @@ Planned repositories and the reasoning behind the split are described in
|---|---| |---|---|
| NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano`) | Car unit: main compute, JetPack r36.4 / Ubuntu 22.04 | | NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano`) | Car unit: main compute, JetPack r36.4 / Ubuntu 22.04 |
| NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano-2`) | Development unit: builds, CI, bench (see [REPOS](docs/REPOS.md)) | | NVIDIA Jetson Orin Nano Super (`mikkeli-orin-nano-2`) | Development unit: builds, CI, bench (see [REPOS](docs/REPOS.md)) |
| PEAK PCAN-USB | Car CAN bus access (`can1`, 500 kbps) | | PEAK PCAN-USB | Car CAN bus access (`can_pcan`, 500 kbps) |
| Onboard MTTCan | Second CAN interface (`can0`) | | Onboard MTTCan | Second CAN interface (`can_onboard`) |
| Waveshare SIM7600G-H-M.2 | LTE Cat 4 + GNSS | | Waveshare SIM7600G-H-M.2 | LTE Cat 4 (povo, fallback uplink below WiFi/Ethernet) + GNSS |
Details and rationale live in the environment repo's Details and rationale live in the environment repo's
[bill of materials](gitea:yukart/orin-nano-env-setup). [bill of materials](gitea:yukart/orin-nano-env-setup).
+1 -1
View File
@@ -16,7 +16,7 @@ rest down.
## Shape ## Shape
``` ```
CAN (can1) ──▶ can-bridge ──┐ CAN ──▶ can-bridge ──┐
OBD-II ──▶ obd-poller ─┤ OBD-II ──▶ obd-poller ─┤
GNSS ──▶ gnss ├──▶ message bus ──┬──▶ recorder (disk) GNSS ──▶ gnss ├──▶ message bus ──┬──▶ recorder (disk)
camera ──▶ vision* ─┘ ├──▶ hud (local video out) camera ──▶ vision* ─┘ ├──▶ hud (local video out)
+14 -6
View File
@@ -1,7 +1,7 @@
--- ---
type: plan type: plan
status: active status: active
updated: 2026-09-04 updated: 2026-10-08
--- ---
# Roadmap # Roadmap
@@ -12,11 +12,19 @@ something demonstrable in the car.
Getting the Jetson to see the hardware at all. Getting the Jetson to see the hardware at all.
- [x] PCAN-USB working as SocketCAN `can1` (out-of-tree `pcan.ko`, netdev build) - [x] PCAN-USB working as SocketCAN (out-of-tree `pcan.ko`, netdev build)
- [x] Stable CAN names by udev: `can_pcan`, `can_onboard` — `canN` order raced at boot
- [x] SIM7600G-H-M.2 specified and documented - [x] SIM7600G-H-M.2 specified and documented
- [ ] SIM7600 brought up: LTE data path and GNSS via gpsd - [x] SIM7600 LTE data path: QMI (self-built `qmi_wwan`), povo, metered, ranked
- [ ] Kernel-update procedure for the out-of-tree PCAN module — it does not below Ethernet/WiFi; failover tested, Tailscale stays reachable over LTE
survive kernel upgrades and will break silently - [ ] SIM7600 GNSS via gpsd — pipeline up (`/dev/sim7600-gps`), **no fix yet**;
needs an open-sky test
- [x] Kernel-update procedure for the out-of-tree modules (`pcan`, `qmi_wwan`) —
documented, sources kept in `~/infra`; still manual, and breaks silently
if forgotten
- [x] Network time pinned to NICT; timezone `Asia/Tokyo`
- [ ] Optional: RTC backup battery (CR2032) — without it the clock boots stale
until NTP or GPS corrects it
- [ ] Power and mounting in the car: clean shutdown on ignition off - [ ] Power and mounting in the car: clean shutdown on ignition off
Tracked in [orin-nano-env-setup](gitea:yukart/orin-nano-env-setup). Tracked in [orin-nano-env-setup](gitea:yukart/orin-nano-env-setup).
@@ -79,7 +87,7 @@ and `tool-mapmint` (artifact builds).
- [ ] Pull a Japan basemap extract from the Protomaps daily build with - [ ] Pull a Japan basemap extract from the Protomaps daily build with
`go-pmtiles`; static-serve it, with `localIdeographFontFamily` set for CJK `go-pmtiles`; static-serve it, with `localIdeographFontFamily` set for CJK
- [ ] MapLibre page rendering the basemap from a replayed GNSS trace - [ ] MapLibre page rendering the basemap from a replayed GNSS trace
- [ ] Moving map live in the car — **blocked on gpsd in Phase 0** - [ ] Moving map live in the car — **blocked on a GNSS fix in Phase 0**
- [ ] Meili map matching over recorded sessions, as Phase 2 ground truth - [ ] Meili map matching over recorded sessions, as Phase 2 ground truth
- [ ] Routing and turn-by-turn guidance onto `yukart/nav/guidance` - [ ] Routing and turn-by-turn guidance onto `yukart/nav/guidance`