This is puzzling me:

I use Ubuntu 20.04 'Focal' on a RPI CM4. When I run i2cdetect -y 1 to list the connected I2C devices on /dev/i2c-1, I get a few addresses back that correspond to the custom PCB I have connected to the RPi. However, a few devices are missing! There are a couple of I2C devices there, including an RTC, a DAC, et.c.

Strangely, on the Raspberry Pi OS (on a RPi4, not a CM4) everything works fine and I get all connected devices when I probe the bus.

I am starting to think that since Ubuntu recognises at least some devices, it is probably something wrong with the CM4. Maybe an address conflict? I'd love to try Ubuntu 20.04 on the RPI4, but since it is running on a CM4, it isn't possible to simply switch the cards.

Edit: I did try to run Ubuntu (this time 20.10) on the RPi 4 (which also has pullups) instead of Raspberry Pi OS. Same result; some I2C devices do not get recongised in the bus. So, it probably is something Ubuntu-related.


You haven't said so I am going to assume you have not fitted the proper pulls to 3V3 on SDA and SCL on your compute module. The pulls are hardwired on the other Pi models.

  • Whilst a good catch (the PCB has no pullups indeed!) that I need to fix in the board, the issue is probaby not the pulls. Still not detecting half the devices. – Spyros Rallis Dec 15 '20 at 12:58

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.