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.