LM75B Error with papirus, Errno121 Remote I/O error


#1

Hello
I have 2 Raspberry Zero W and a Papirus hat 2". Both Raspis are showing the following Error:

> Traceback (most recent call last):
>   File "/home/pi/Desktop/DemoPapirus.py", line 3, in <module>
>     text = PapirusText()
>   File "/usr/local/lib/python2.7/dist-packages/papirus/text.py", line 14, in __init__
>     self.papirus = Papirus(rotation = rotation)
>   File "/usr/local/lib/python2.7/dist-packages/papirus/epd.py", line 58, in __init__
>     self._lm75b = LM75B()
>   File "/usr/local/lib/python2.7/dist-packages/papirus/lm75b.py", line 22, in __init__
>     self._bus.write_byte_data(self._address, LM75B_CONF_REGISTER, LM75B_CONF_NORMAL)
> IOError: [Errno 121] Remote I/O error

when trying to show something on the display. One Raspi is soldiered the other one has hammer headers. I even tried to reinstall the raspian (apt-get update and upgrade is made). The same SD card with the same papirus hat works on a Raspberry Pi 3 without errors so the hat and the raspian seem to be OK.

Any suggestions what could be wrong?
Thanks diComm


#2

the LM75B is the temperature monitoring/sensor, communicating via I2C.

it seems unlikely to me that both your zero would have flaky soldering/connection on the relevant pins, so my best guess would be that you haven’t enabled the I2C bus.

You can do so using raspi-config, or running the following at the command prompt:

sudo raspi-config nonint do_i2c 0

#3

actually re-reading your post, if you did pop the SD into your Pi3 and it works then that is not it.

My next guess then would be a power issue - what are you using to power your setup, the same PSU? If not then, it must be the connection on bcm2 and bcm3, or possibly the ground pins, on your Pi itself. See the following for details:


#4

Yes, the I2C is activated. I also tried to deactivate and reactivate the
bus. No result…

I used the same PSU for both the pi3 and the zero w. But I will try
another PSU this evening. I once read that a waek PSU can cause problems on
the zero w. Thanks for this input.


#5

I tried two other powersupplys but with no better result. I still get the error message.
How can I check the pins? the hat runs on a pi3 so I think its OK. But I get the same error on two different zero w with two different types of header…


#6

the Pi3 has presoldered headers, so the pins would be alright.

If you post a picture of your Pi with soldered on header maybe we can spot something awry, but I see no other possible reason.

One way to troubleshoot would be to try another add-on that communicates over I2C if you have any.

You could also try to run:

sudo i2cdetect -y 1

where you should see the chip address mentioned (see the link previously posted for details).


#7

and here is a pic from the hammered header


#8

Sorry I Answered with gmail and it messed up. above are foto of both the hammered and the soldiered. It wasn’t my best soldering job that’s why I ordered a hammer header too.

the i2cdetect didn’t gave an answer:

it’s not my best soldering job thats why I also ordered a hammer header.
here are Pics from the soldered and the hammered zero W

the i2cdetect doesn’t find enything:

pi@raspberrypiZeroW:~ $ sudo i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: – -- – -- – -- – -- – -- – -- –
10: – -- – -- – -- – -- – -- – -- – -- – --
20: – -- – -- – -- – -- – -- – -- – -- – --
30: – -- – -- – -- – -- – -- – -- – -- – --
40: – -- – -- – -- – -- – -- – -- – -- – --
50: – -- – -- – -- – -- – -- – -- – -- – --
60: – -- – -- – -- – -- – -- – -- – -- – --
70: – -- – -- – -- – --


#9

clearly, your soldering is not going to guarantee proper connections, but you knew that.

… I’m not sure why the hammered-on header would not provide adequate connections, they normally ‘just work’. If you removed it then back on though, then the points of contact would have been loosened up, which is possibly what happened?

anyhow, like I said, the issue is there, I can’t see any other likely factor, so you have to sort out those headers one way or another. Good luck!