Free-up I2C Address 0x76


#1

Hello,

I am looking to use a device (MS5637 - Pressure sensor) from TE (Measurement Specialties) but it uses I2C address 0x76 which is the same as the onboard pressure sensor (BMP280 from Bosch). Even though they are on different busses (1 vs 4) I can not access either of them. When using “i2cget -y 1/4 0x76 0xXX” the output is “Error: Could not set address to 0x76: Device or resource busy”. I could in theory alter the MangOH Red so that the BMP280 uses 0x77 but then the driver would need to be altered as well.

If anyone has a fix or workaround for this issue I would be happy to entertain any ideas or suggestions.

Thankfully
Kas


#2

The problem is that the bmp280 is connected to the main i2c bus and not one of the bus segments downstream from the i2c switch. So the only solution is to try to change the address of the bmp280 or your chip or to remove the bmp280.


#3

Hello @dfrey,

I can change the address of one or teh other as state. my question if I change the address of the BMP280 would be how do I update the drivers for the mangOH Red to use the new address and ot the old one.

Also if the part is available (I should be able to read it over I2C) why do I get an error every time I do a "i2cget -y 1 0x76 0x00” as previously mentioned ?

Thanks
Kas


#4

If you change the address of the bmp280, then change this file: https://github.com/mangOH/mangOH/blob/master/linux_kernel_modules/mangoh/mangoh_red.c

Search for 0x76 in that file.


#5

Thank you very much :slight_smile:

Kas