IQ.Pilot Release Commit @ d2ce8a8
This commit is contained in:
47
iqpilot/system/hardware/egpu_dock/TESTING.md
Normal file
47
iqpilot/system/hardware/egpu_dock/TESTING.md
Normal file
@@ -0,0 +1,47 @@
|
||||
# eGPU dock bring-up runbook
|
||||
|
||||
Our flasher is a port of comma's known-working one, byte-identical firmware
|
||||
bundle, but it has never touched real hardware. Order matters: everything
|
||||
read-only first, evidence at every step.
|
||||
|
||||
Run everything as root from the repo root on the device, dock on the USB-C
|
||||
port, car ignition off.
|
||||
|
||||
## 1. Read-only probe (safe, run first, share the output)
|
||||
|
||||
sudo python3 iqpilot/system/hardware/egpu_dock/dock_probe.py
|
||||
|
||||
Expected on a dock previously flashed by stock openpilot: product matches the
|
||||
bundled `custom ed4e39b7-CLEAN`, USB3 speed, PCIe link L0, stable config read.
|
||||
Any other result: stop and send the output before proceeding.
|
||||
|
||||
## 2. Flash-path validation (writes, but writes the same bytes)
|
||||
|
||||
A stock-flashed dock already runs our exact bundled firmware, so the
|
||||
no-op path proves version detection:
|
||||
|
||||
sudo python3 iqpilot/system/hardware/egpu_dock/flash.py
|
||||
|
||||
Expected: "firmware matches" and no write. Then exercise the full write path
|
||||
by reflashing the identical image:
|
||||
|
||||
sudo python3 iqpilot/system/hardware/egpu_dock/flash.py --force
|
||||
|
||||
This backs up the per-unit config page to /data/egpu_dock_config/ first and
|
||||
verifies every sector; identical bytes make it the lowest-risk possible
|
||||
full-path test. Re-run step 1 after; product string and config sha must be
|
||||
unchanged.
|
||||
|
||||
## 3. Runtime
|
||||
|
||||
Set `IQEgpuEnabled`, go onroad (bench is fine), and confirm iqegpumodeld
|
||||
downloads/compiles and the selector reports UsbGpu* status. The runtime gate
|
||||
requires the exact bundled firmware product string, so a dock that failed
|
||||
step 2 will be treated as absent by design.
|
||||
|
||||
## If anything goes wrong
|
||||
|
||||
The dock falling back to the ROM bootloader (product "USB 3.2 PCIe
|
||||
TinyEnclosure" or AS2462*) is recoverable: flash.py handles ROM recovery, and
|
||||
the config backup from step 2 is on disk. Do not improvise register writes;
|
||||
capture output and stop.
|
||||
Reference in New Issue
Block a user