skywalker-1/tools
Ryan Malloy d9f51548e0 Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller
Removed I2CS bmSTOP "bus reset" from bcm4500_boot() and debug modes.
Sending STOP with no active transaction puts the FX2 I2C controller
into an inconsistent state where subsequent START+ACK detection fails.

Root cause identified through incremental debug modes (wValue 0x80-0x85)
on live hardware: mode 0x82 (with bmSTOP) fails, mode 0x85 (identical
but without bmSTOP) succeeds. Raw I2C reads confirm BCM4500 is alive
the entire time -- only the controller state is corrupted.

BCM4500 now boots successfully in ~90ms. Three I2C devices found on
bus: 0x08 (BCM4500), 0x10 (tuner/LNB), 0x51 (EEPROM).

Also in this commit:
- Timeout-protected I2C functions replacing fx2lib bare while loops
- I2C bus scan and debug mode infrastructure
- Kernel driver blacklist for dvb_usb_gp8psk
- Test tools for incremental boot debugging
- Technical findings documented in docs/boot-debug-findings.md
2026-02-12 10:34:15 -07:00
..
eeprom_dump.py Extract real FX2 firmware from I2C EEPROM 2026-02-11 05:08:20 -07:00
eeprom_probe.py Extract real FX2 firmware from I2C EEPROM 2026-02-11 05:08:20 -07:00
eeprom_write.py Add EEPROM flash tool, TS analyzer, DVB-S2 investigation, and tune.py bugfix 2026-02-11 14:46:20 -07:00
fw_dump.py Add FX2 firmware dumps and USB probe tool 2026-02-11 04:51:34 -07:00
fw_load.py Add custom FX2 firmware and RAM loader for open-source development 2026-02-11 19:46:50 -07:00
test_boot.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_boot_debug.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_i2c_debug.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_i2c_isolate.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
test_i2c_pinpoint.py Fix BCM4500 boot: spurious I2C STOP corrupted FX2 controller 2026-02-12 10:34:15 -07:00
ts_analyze.py Add EEPROM flash tool, TS analyzer, DVB-S2 investigation, and tune.py bugfix 2026-02-11 14:46:20 -07:00
tune.py Add EEPROM flash tool, TS analyzer, DVB-S2 investigation, and tune.py bugfix 2026-02-11 14:46:20 -07:00
wine_memdump.py Extract firmware from official Genpix updater EXEs via Wine memory dump 2026-02-11 06:05:13 -07:00