I recently purchased a piano hat, which I have been attempting to get working. Unfortunately, it has not been responsive through various tests, providing error 121 (IOError in python2, OSError in python3) “Remote I/O error”.
The following are true about my system:
- I have I2C enabled.
- I have the libraries installed. I first did this through PIP, but under the theory that the configuration script would find the problem, I ran that too.
- I2C functions with things I’ve had for a while, such as my I2C-mounted display.
- The hat is attached firmly with spacers, so there is little chance that it has become disconnected physically. In the theory that the thinner header on the hat would make connections unstable, I also tried physically holding it to the pins, with no result.
- I have seen online that this error could be caused by badly-attached pins on pi zeros. This doesn’t apply to my situation, because I am using a raspberry pi 3, so am using the standard headers. I attempted the same on an old pi 2, with identical results.
- I also saw somewhere that this could be caused by an insufficient power supply. I have a strong power supply at 2.5 A from the mains.
- The error happens identically whether I run my own code, code in the REPL, the examples from the git repo, etc. It also happens identically with the privileges I give the program.
While attempting to diagnose this, I found a friend who has a Pimoroni button SHIM, and attempted to use that as well. I get identical errors with that too.
Does anyone know what could cause this? I suppose it is possible that my piano hat is physically faulty, and my friend has not used her button SHIM for many months so that too could have developed a fault. However, this seems entirely too coincidental, so I assume there is a software remedy. My searching, sadly, does not show it.
Thank you for your assistance.