Seeed reComputer R1000 (CM4) + BalenaOS: PCA9535 I2C expander (0x21) unreachable — WM1302 LoRa concentrator stuck at 0xFF

Hardware:

  • Seeed reComputer R1000 / R1013-10 (Raspberry Pi CM4, BalenaOS)
  • WM1302 LoRaWAN concentrator (SPI variant, /dev/spidev0.1)

Problem:
The WM1302 SX1302 concentrator always reads chip version is 0xFF and fails to start. Root cause: the SX1302 reset line (LoRaWAN_SX1302_RST, pin 2) and power enable (VDD_OUT_CTL, pin 9) are wired through an onboard NXP PCA9535 I2C GPIO expander at address 0x21, as declared in Seeed’s reComputer-R100x device tree overlay (&i2c5). Without being able to toggle those lines, the SX1302 stays in reset.

What we tried:

  • Scanned all available I2C buses (/dev/i2c-1, /dev/i2c-6, /dev/i2c-20, /dev/i2c-21) with no 0x21 found anywhere
  • dtoverlay=i2c5 fails silently; BalenaOS CM4 kernel does not expose BSC5
  • dtoverlay=i2c3,pins_2_3 and pins_4_5 bus either doesn’t come up or chip NAKs (pca953x 3-0021 error -5)
  • dtoverlay=i2c0,pins_44_45 bus comes up, 0x21 absent
  • dtoverlay=i2c-gpio,i2c_gpio_sda=44,i2c_gpio_scl=45,bus=5 caused a supervisor reboot loop; confirmed /boot/overlays/ does not exist on this BalenaOS build, so the overlay is not available in the kernel
  • Probed 11 BCM GPIO candidates directly via sysfs as SX1302 reset pin and all return 0xFF

Confirmed:

  • /boot/overlays/ does not exist, BalenaOS CM4 kernel has no loadable overlay files
  • i2c-20 and i2c-21 are phantom buses (almost all addresses respond ; floating lines)
  • The reComputer-R100x overlay is applied via Device Configuration but has no effect because &i2c5 (BSC5) is not present in the stock BalenaOS CM4 kernel

Question:
Is there a BalenaOS-compatible way to expose the reComputer R1000’s internal I2C bus (where the PCA9535 lives) on a stock CM4 kernel without Seeed’s custom kernel/DTB? Or is a custom BalenaOS build with Seeed’s seeed-linux-dtoverlays the only path forward?

Any guidance from the Balena or Seeed community would be very appreciated.