monome / norns-image

79 stars 16 forks source link

Errors reading battery status #43

Open simonvanderveldt opened 6 years ago

simonvanderveldt commented 6 years ago

Every now and then I get the following errors in the kernel's log (dmesg or journalctl -t kernel):

May 24 05:18:35 norns kernel: bq27xxx-battery 1-0055: error reading temperature
May 24 05:21:55 norns kernel: bq27xxx-battery 1-0055: error reading current
May 24 05:21:55 norns kernel: power_supply bq27441-0: driver failed to report `current_now' property: -121
tehn commented 6 years ago

i'm not sure why this would happen-- it's just an i2c read. might fail if the read was attempted exactly at the same time as a headphone amp change so it might time out (even that seems unlikely).

but this is a harmless message,

tehn commented 6 years ago

this is not an i2c collision. it's some sort of driver issue, and it tends to happen when the battery is at 100% charge and plugged in.

simonvanderveldt commented 5 years ago

I'm still seeing these error messages a lot.

It seems like something is wrong with the driver because it simply happens when polling /sys/class/power_supply/bq27441-0/current_now. My battery isn't connected btw.

Is there someone with enough knowledge about the hardware that could take a look at the driver?

Output from while loops with sleep 2 below. Notice the first 2 reads work fine, then it fails, according to cat the whole device drops(cat: read error: Remote I/O error and cat: read error: No such device) then it works again for 2 reads and it goes back to the same cycle of failing, device drop, etc. The lines prefixed by the [<time-since-start>] are kernel error logs, you normally don't get those on raspbian but I enabled logging kernel messages to console to get a more complete output. Fun fact: Logging these kernel messages to the console causes xruns!

while true; do cat /sys/class/power_supply/bq27441-0/current_now; sleep 2; done
0
0
[  369.354987] bq27xxx-battery 1-0055: error reading current
[  369.360398] power_supply bq27441-0: driver failed to report `current_now' property: -121
[  369.369124] bq27xxx-battery 1-0055: error reading current
[  369.370218] bq27xxx-battery 1-0055: error reading voltage
[  369.370223] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.372131] bq27xxx-battery 1-0055: error reading voltage
[  369.372137] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.373362] bq27xxx-battery 1-0055: error reading voltage
[  369.373367] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.374660] bq27xxx-battery 1-0055: error reading voltage
[  369.374666] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.375880] bq27xxx-battery 1-0055: error reading voltage
[  369.375885] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.379823] bq27xxx-battery 1-0055: error reading voltage
[  369.379832] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.381354] bq27xxx-battery 1-0055: error reading voltage
[  369.381361] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.382660] bq27xxx-battery 1-0055: error reading voltage
[  369.382665] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.383895] bq27xxx-battery 1-0055: error reading voltage
[  369.383901] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  369.496568] power_supply bq27441-0: driver failed to report `current_now' property: -121
cat: read error: Remote I/O error
cat: read error: No such device
cat: read error: No such device
cat: read error: No such device
0
0
[  381.550894] bq27xxx-battery 1-0055: error reading current
[  381.556468] power_supply bq27441-0: driver failed to report `current_now' property: -121
[  381.565831] bq27xxx-battery 1-0055: error reading current
[  381.571268] bq27xxx-battery 1-0055: error reading voltage
[  381.571279] power_supply bq27441-0: driver failed to report `voltage_now' property: -121
[  381.585746] power_supply bq27441-0: driver failed to report `current_now' property: -121
cat: read error: Remote I/O error
[  382.642102] i2c-bcm2835 3f804000.i2c: i2c transfer timed out
[  382.647771] bq27xxx-battery 1-0055: error reading voltage
[  382.653193] power_supply bq27441-0: driver failed to report `voltage_now' property: -110
cat: read error: No such device
cat: read error: No such device
cat: read error: No such device