Unable to read from ADC121C_MQ9, get Remote I/O error

I’m trying to read from an ADC121C_MQ9 module using sample code here: ADC121C_MQ9/ADC121C_MQ9.py at master · ControlEverythingCommunity/ADC121C_MQ9 · GitHub

It always gives “OSError: [Errno 121] Remote I/O error”. I have tried the default address 0x50, and switching the jumpers to try 0x55, with same result. The controller is an Nvidia jetson nano. I am able to read from some different sensor modules with similar python code.
Please help.

Mark

does the unit show when you do a i2c scan ?

Thnaks

Is this what you mean? Even the other working sensor I have does not appear in this scan. Is there a better way to scan?

aware@jetson:/opt/ava/iot$ sudo i2cdetect -y 1
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:

Try sudo i2cdetect -y 0

The result is the same.

aware@jetson:/opt/ava/iot$ sudo i2cdetect -y 0
Warning: Can't use SMBus Quick Write command, will skip some addresses
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f
00:
10:
20:
30: -- -- -- -- -- -- -- --
40:
50: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
60:
70:

It looks like the problem was the jetson nano I2C controller using 3.3V on the SDA and SCL signals, while trying to run the I2C devices at 5V. We installed a Raspberry Pi I2C shield device on the 40 pin header, which appears to be compatible with the jetson. This device converts between 3.3V and 5V. Now we can read from the ADC121C_MQ9 without problem.