Tuesday, July 03, 2012

Nokia N900 - charging a depleted battery that causes a bootloop

So I have this Nokia N900 laying around. I once tried to flash something on it, which failed and caused a bootloop. I was dumb enough to leave it looping (had to catch a train and left it), which then depleted the battery.
The N900 needs a booted OS to charge the battery, and needs a charge in the battery to boot.. so there's the problem, I wrecked the OS, so it wouldn't boot up and thus wouldn't charge.  Flashing the original OS would fail, as the battery was depleted and you can't flash on only the USB power.
I tried backing the battery with another 3.7V from another phone that I had somewhere, but that wouldn't help.
Finally I found the solution in using the rescueOS image. This image isn't flashed but just loaded and then booted. It's initrd contains a script to charge.
Here's how I got it working:

  • Download the newest kernel and initrd image from http://nin101.uni.cx/N900/rescueOS/
  • Download the flasher for your OS (see: https://wiki.maemo.org/Updating_the_tablet_firmware)
  • Start the flasher: sudo /usr/bin/flasher-3.5k 2.6.37 -n rescueOS-initrd-0.5.3.img  -l -b"rootdelay root=/dev/ram0"
  • Remove battery and USB from the N900
  • Make sure to have the wall charger ready to go as the USB power won't be enough
  • Insert the battery
  • Press and hold the 'u' key on the N900 keyboard
  • Connect the N900 to the PC with the USB cable
  • Expect the following output:
flasher v2.5.2 (Nov 25 2009)

Suitable USB device not found, waiting.
USB device found found at bus 002, device address 005-0421-0105-02-00.
Found device RX-51, hardware revision 2101
NOLO version 1.4.14
Version of 'sw-release': RX-51_2009SE_21.2011.38-1_PR_MR0
Sending kernel image (1901 kB)...
100% (1901 of 1901 kB, avg. 27559 kB/s)
Sending initfs image (12548 kB)...
100% (12548 of 12548 kB, avg. 27761 kB/s)
Using kernel command line: "rootdelay root=/dev/ram0"

  • Remove the USB cable once the image has booted and insert the wall charger
  • Now start the charger script: /rescueOS/charge21.bash (see http://nin101.uni.cx/N900/rescueOS/documentation.txt)
  • Wait and see ;o) Voltage should be close to 4V and the battery level increasing within minutes