Skip to content

v0.2.0 — slim variant + full efuse

Latest

Choose a tag to compare

@lmore377 lmore377 released this 21 May 02:10

Second release of peek-carthing.

What's new since v0.1.0

  • Slim variant (peek_mmio_slim.ko + peek-slim.py) — narrow-slice
    hardware inventory focused on GPU / display / eMMC / serials / panel ID /
    board revision. ~45 KB JSON vs ~275 KB for the full flavor, or ~4 KB
    with --gzip. Userspace-only paths still work without the kmod.
  • TLSC6X panel-variant probe integrated into peek-slim.py — talks
    to the touch controller at I²C 0x2e via I2C_SLAVE_FORCE, reads the
    204-byte config NVM, returns BOE / Wily / Holitech + vendor_id /
    hw_id. Restores normal touch-reporting mode after; no kernel driver
    unbind needed.
  • Full eFuse dump (peek-slim.py) — every field under
    /sys/class/efuse/ (vendor 4.9) and /sys/bus/nvmem/devices/efuse0/
    (mainline), decoded into typed values. Includes f_serial extracted
    from userdata at offset 0x22 — no SMC needed (stock BL31 doesn't
    answer the vendor eFuse SMC, so this is the only path on stock units
    without a custom u-boot).
  • Compact + gzip output modes (--compact, --gzip) — 45 KB → 20 KB
    → 4 KB.
  • VPU VIU_OSD1 dump added to the full kmod — captures OSD compositor
    CTRL_STAT + MATRIX state at word 0x1a10..0x1a9f.
  • Docs split — short `README.md` + detailed
    `DETAILS.md` (build / CRC patch / per-section MMIO
    map / panel probe / known limits).
  • Removed the bundled `sample-hwinfo.json` — grab your own.

What's in this release

file what
`peek_mmio.ko` Full kernel module. Drop straight onto a Car Thing running ADB-enabled firmware (kernel 4.9.113) and `insmod`.
`peek_mmio_slim.ko` Slim kernel module. About half the dump sections — keeps GPU / display / eMMC / SARADC / HHI / pinmux / PWM-AB; drops DDR / audio / USB PHYs / DWC3 / tsensors etc.
`peek-collect.py` Full userspace JSON aggregator.
`peek-slim.py` Slim aggregator + integrated panel probe + efuse dump. `--compact` and `--gzip` flags.

Quick run

```bash
gh release download --repo ThingLabsOSS/peek-carthing \
--pattern '.ko' --pattern '.py' v0.2.0

full

adb push peek_mmio.ko peek-collect.py /tmp/
adb shell python3 /tmp/peek-collect.py > hwinfo.json

slim

adb push peek_mmio_slim.ko peek-slim.py /tmp/
adb shell python3 /tmp/peek-slim.py > hwinfo-slim.json

add --compact for 20 KB, --gzip for 4 KB

```

Requirements

A Car Thing running ADB-enabled firmware. ADB isn't on by default on
retail units — it's a community firmware mod, applied with the usual
reflashing tools.