Mobileread
Battery info does not update
#1  Jellby 10-16-2020, 04:20 AM
I have updated the firmware in my Kobo Aura to 4.24.15676, and KOReader to v2020.10, and now it seems that the battery status in KOReader is not updating.

Both the battery in the status bar and in the menus seem to be stuck at whatever level there was when KOReader starts, and the battery statistics show 0% discharge, even after reading for half an hour and sleeping for a couple days. This was not the case before the updates. The clock, page counts etc. in the status bar update correctly. If I exit back to Nickel, I see a lower battery level, and starting KOReader again shows this lower level.

Is this a known bug/issue? Did I miss some setting?
Reply 

#2  NiLuJe 10-16-2020, 11:07 AM
That's... weird. That isn't cached anywhere, the procfs entry is read every time it's displayed.

Which would imply the procfs entry itself is stuck. Which, hey, has happened before, the battery gauge is terrible on Kobo, especially on anything < Mk. 7.

I'd try a good old full reboot .
Reply 

#3  Jellby 10-16-2020, 01:34 PM
OK, I should have tried before. Did a reboot now, the battery went from 93% (KOReader) to 89% (Nickel) and 89% (KOReader). I'll come back tomorrow and tell you what it says then
Reply 

#4  NiLuJe 10-16-2020, 10:29 PM
Yeah, random jumps after a reboot are also "normal" (*sigh* ^^).
Reply 

#5  Jellby 10-17-2020, 03:52 AM
(I didn't think it was "random", it was just the battery usage that KOReader didn't see, because it was stuck at 93%)

Well, it didn't work. The battery was at 89% for the whole session yesterday and stays at 89% today (I passed a couple of pages to make sure it updates). Battery statistics show 2h15 awake and 82h45 sleeping since last charge, but 0.00% consumed everywhere. Again, exiting to Nickel shows 87%, and starting KOReader now shows 87% in KOReader too.

If it matters, I'm starting KOReader with NickelMenu, with ":cmd_spawn :quiet:exec /mnt/onboard/.adds/koreader/koreader.sh"
Reply 

#6  NiLuJe 10-17-2020, 11:02 AM
Hmm.

* Try monitoring /sys/class/power_supply/mc13892_bat/capacity yourself in a shell.
* Disable the battery statistics plugin.

And, eventually:

* Reboot, and check if it *actually* ticks in plain Nickel, just in case.
Reply 

#7  Jellby 10-17-2020, 03:02 PM
Quote NiLuJe
* Try monitoring /sys/class/power_supply/mc13892_bat/capacity yourself in a shell.
* Disable the battery statistics plugin.
I did the monitoring from within KOReader, with terminal emulator, issuing "cat /sys/class/power_supply/mc13892_bat/capacity". It just gave the same stuck number as the battery icon.

Quote
* Reboot, and check if it *actually* ticks in plain Nickel, just in case.
I did. I actually reinstalled the unpatched firmware. In Nickel I could see the battery level going down a couple of times, although both times it was when I removed and reinserted the SD card. I'm not sure if that triggered it or just that rescanning the card consumed enough battery. Started KOReader again, frontlight to maximum, no change. Back to Nickel: battery went down.

That's another thing, actually. It seems when I exit KOReader and get back to Nickel I get the message: "We could't recognize your Micro SD card. Please format it to FAT32 and try again" and no books. Removing and reinserting the card works fine, though (and in KOreader I'm reading books from the card).
Reply 

#8  NiLuJe 10-17-2020, 03:50 PM
That's... still a bit unclear .

I'd try checking what happens in Nickel, with the device just basically sitting with the Wi-Fi enabled and the Wi-Fi popup open. That'll prevent Wi-Fi from going down, and should ensure a fairly steady drain on the battery. Should be fairly obvious in a shell session after a few minutes.
Reply 

#9  NiLuJe 10-17-2020, 03:54 PM
As far as the SD card is concerned, does this help?

Code
diff --git a/platform/kobo/nickel.sh b/platform/kobo/nickel.sh
index 6bc9645f..f0a33a60 100755
--- a/platform/kobo/nickel.sh
+++ b/platform/kobo/nickel.sh
@@ -82,4 +82,9 @@ sync LIBC_FATAL_STDERR_=1 /usr/local/Kobo/nickel -platform kobo -skipFontLoad & [ "${PLATFORM}" != "freescale" ] && udevadm trigger &
+# Handle sdcard
+if [ -e "/dev/mmcblk1p1" ]; then
+ echo sd add /dev/mmcblk1p1 >>/tmp/nickel-hardware-status &
+fi
+ return 0
(That file ends up as nickel.sh at the root of the koreader folder).

EDIT: Yeah, c.f., https://github.com/koreader/koreader/pull/6800
Reply 

#10  NiLuJe 10-17-2020, 06:03 PM
Okay, I just remembered that I have an H2O and an old µSD card.

Confirmed. The bad news is, I can reproduce it on vanilla Nickel. It appears having an SD card inserted adversely affects the PMIC's ability to provide reliable information about the battery's state or something...

That bit of kernel code is quite frankly... an unreadable mess, so, who knows what's happening there.

On the other hand, the kernel on my H2O hasn't been updated since January 2017, so it's quite likely a *really* old bug.

EDIT: On the other hand, if I push the CPU to max clockspeed for a sustained period of time by essentially busy-looping, it works. o_O.

EDIT²: Not *completely* sure it's entirely SD-card related, because the gauge is generally still crap even without one, especially on < Mk. 6.
Reply 

  Next »  Last »  (1/2)
Today's Posts | Search this Thread | Login | Register