uzbek-plus/b10/b10b5/B10-PREFLIGHT.md
q 58dcb3d121 B10: battery charging — PM8916 LBC supervisor v4 (CHARGE/HOLD, FAULT safe clamp to 4.00 V) and persistent B10B-5 cache
- LBC supervisor v1..v4 (linux/patches/b10b3-lbc-supervisor-v3.patch + b10/b10b3/lbc-v3-to-v4-fault-clamp.diff):
  CHARGING 4.20 V/450 mA -> HOLD 4.05 V after 60 min CV -> battery -> new cycle on USB insert; FAULT = VDD_MAX 4.00 V clamp
- RAM tests C/B/D/D2/D3/D4 (safety timer only ends fast charge), B10B-4 actuator audit (VDD_MAX works, USB_SUSP does not),
  B10B-5 FAULT clamp regression, production run, warm reboot via PON reboot reason
- cache = B10B-5 c3732515 (HW EDL write, readback + full partition verify), class-A persistent validation
- test-only hooks/images are not part of the production kernel; images with the AP PSK are not published
2026-10-04 19:00:27 +03:00

3.7 KiB
Raw Permalink Blame History

B10 cache write — preflight (2026-10-04) — reviewed, NOT executed

Candidate / rollback

  • Candidate b10/b10b3/cache-v4/cache-extlinux-b10b5.img c37325156a6f4c013982cf01bcb5b2ddb026b0298e9c3ec0be87f57d693464b8 (134217728 B) = B9C + kernel 7.2.7-aurora-b10b5 (v4, FAULT safe clamp) + production DTB e47762d1; no test hooks (B10B5-RESULT.md, production RAM smoke PASS).
  • Live cache today: B9C b9ce13c9 — rollback image b9/b9c/cache/cache-extlinux-b9c.img and the B9C write readback logs/b9/b9c/W/11-cache-readback.bin (both b9ce13c9, checked). The script also saves the live cache read right before the write as logs/b10/b10b5/W/pre-cache.bin.

Scripts (on 480s; b10/b10b5/)

  • B10-write.sh 295ed53b — 1:1 from b9/b9c/cache/B9C-write.sh; changed only: image + NEW_SHA, OLD_SHA = B9C b9ce13c9, rollback/backup paths (B9C), ABOOT_SHA = 15208dbb (lk1st-b9l since B9L-PERSIST; B9C used 3b8cd266), log dir logs/b10/b10b5/W, rollback hint, final marker. Gates (stop at first failure): G0 loader 53f19350 / candidate sha+size / rollback image / B9C readback backup / 9008 present; G1 printgpt, serial 0x<SAHARA_SERIAL> or firehose, cache geometry 0x4118c000+0x8000000, GPT primary == A3, boot == e9579f33 (emmc1), aboot == 15208dbb, live cache == b9ce13c9 (= backup); W: edl w cache only → readback → cmp == candidate (CACHE_MATCH) else STOP "do NOT reboot; run rollback"; V: GPT primary/backup, tzbak, boot, aboot, sbl1 rpm tz hyp recovery modemst1 modemst2 fsg fsc persist == A3, modem system userdata == A4pre; SHA256SUMS → B10_CACHE_WRITE_VERIFIED. Offline G0 check done: loader, candidate, rollback image, backup and all A3/A4pre references OK.
  • B10-rollback.sh 37e0e165 — 1:1 from B9C-rollback.sh: rollback image hash gate → 9008 gate → edl w cache B9C → readback cmp → CACHE_RESTORED_B9C.
  • b10-cold-boot.sh K — observation of the normal power-on (MODE=cold: aborts if fastboot appears = RESET held); RTC class, LTE/Wi-Fi/display/charger snapshot. Never edl reset; never dd from Linux.

Physical sequence — install (verified B9C HW EDL workflow)

Battery is required during EDL (the board does not start from USB alone, NOTES.md:483). Minimum battery handling inside the verified procedure: 2× out/in.

  1. Board running; operator: USB OFF (unplug the board's USB cable).
  2. Battery OUT (board off), then battery IN — board stays off (no USB). Check the contact sits firmly.
  3. Hold D+ to GND, plug USB, release D+ → host shows 05c6:9008. Claude runs b10/b10b5/B10-write.sh (≈ 10–15 min incl. verify reads).
  4. Only after B10_CACHE_WRITE_VERIFIED: USB OFF → battery OUT → wait ≥ 90 s (this is also the class-A condition).
  5. Claude starts b10-cold-boot.sh 1; operator: battery IN → USB ON, no RESET, no D+. Normal power-on → lk1st → lk2nd extlinux → b10b5 from cache. If step 3 prints a STOP before W: nothing was written → USB OFF, battery out/in, USB ON → B9C boots as before. If CACHE READBACK MISMATCH: do NOT power off; keep 9008 and run the rollback below immediately.

Physical sequence — rollback to B9C b9ce13c9 (if needed)

  1. Board running (or off): USB OFF → battery OUT → battery IN (board off).
  2. D+ to GND, plug USB, release → 9008. Claude runs b10/b10b5/B10-rollback.sh → CACHE_RESTORED_B9C.
  3. USB OFF → battery OUT ≥ 90 s → battery IN → USB ON (no RESET) → B9C boots.

Not used (recorded only)

  • Battery out for the whole EDL → flash → power-off span: impossible (EDL needs the battery).
  • fastboot oem reboot-edl from lk1st (verified for EDL entry and reads in A3 / S1 / S3 sessions, NOTES.md:530/569/866) would avoid steps 1–2, but no cache write was ever done through it → not used.