From 33fe955834c8adf9621f1a9ecb94dc0402563006 Mon Sep 17 00:00:00 2001 From: Ryan Malloy Date: Tue, 17 Feb 2026 17:47:45 -0700 Subject: [PATCH] =?UTF-8?q?Fix=20I2C=20address=20map:=200x61=20(wrong)=20?= =?UTF-8?q?=E2=86=92=200x10=20(confirmed=20by=20hardware=20scan)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The bus scan on real hardware returns [0x08, 0x10, 0x51], matching the firmware source (#define BCM4500_ADDR 0x08), bus-architecture docs, and boot-debug-findings.md. The 0x61 "BCM3440" entry was speculative and never appeared on the actual SkyWalker-1 I2C bus. Updated: server known_devices map, mock_device, and test assertions. --- mcp/skywalker-mcp/src/skywalker_mcp/mock_device.py | 2 +- mcp/skywalker-mcp/src/skywalker_mcp/server.py | 4 ++-- mcp/skywalker-mcp/tests/test_server.py | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mcp/skywalker-mcp/src/skywalker_mcp/mock_device.py b/mcp/skywalker-mcp/src/skywalker_mcp/mock_device.py index 2054297..41e88f4 100644 --- a/mcp/skywalker-mcp/src/skywalker_mcp/mock_device.py +++ b/mcp/skywalker-mcp/src/skywalker_mcp/mock_device.py @@ -119,7 +119,7 @@ class MockSkyWalker1: def i2c_bus_scan(self): self._record("i2c_bus_scan") - return [0x08, 0x61, 0x51] + return [0x08, 0x10, 0x51] def i2c_raw_read(self, slave, register): self._record("i2c_raw_read", slave, register) diff --git a/mcp/skywalker-mcp/src/skywalker_mcp/server.py b/mcp/skywalker-mcp/src/skywalker_mcp/server.py index d590474..a7062e1 100644 --- a/mcp/skywalker-mcp/src/skywalker_mcp/server.py +++ b/mcp/skywalker-mcp/src/skywalker_mcp/server.py @@ -647,8 +647,8 @@ async def scan_i2c_bus(ctx: Context) -> dict: addresses = await _dev_call(ctx, "i2c_bus_scan") known_devices = { 0x08: "BCM4500 (demodulator)", - 0x61: "BCM3440 (tuner)", - 0x51: "24C128 EEPROM (boot)", + 0x10: "Tuner / LNB controller", + 0x51: "24Cxx EEPROM (config/serial)", } devices = [] for addr in addresses: diff --git a/mcp/skywalker-mcp/tests/test_server.py b/mcp/skywalker-mcp/tests/test_server.py index 69e5ed7..d1b78d4 100644 --- a/mcp/skywalker-mcp/tests/test_server.py +++ b/mcp/skywalker-mcp/tests/test_server.py @@ -414,7 +414,7 @@ async def test_i2c_scan(ctx): assert result["device_count"] == 3 addresses = [d["address"] for d in result["devices"]] assert "0x08" in addresses - assert "0x61" in addresses + assert "0x10" in addresses assert "0x51" in addresses