User:Agge/Updating the firmware/rev2/Trubleshooting
(Created page with "* '''Make sure your battery is (completely) charged!''' Flashing will fail when battery is too low, and battery will not charge if your system does not boot up correctly. You can…")
Newer edit →
Revision as of 22:25, 2 November 2013
- Make sure your battery is (completely) charged! Flashing will fail when battery is too low, and battery will not charge if your system does not boot up correctly. You can find yourself trapped in a deadlock, when flashing fails due to battery depleting during flashing! If your device does not enter and stay in flashing mode (NOKIA + USB-icon on screen) despite you holding the "U" key while plugging it in to charger/PC, then battery is too low. If your device does not boot to a proper system, then you usually have to find a way to charge battery externally - a bootlooping or stalled boot will not charge battery! So better completely charge your battery prior to any attempt to flash the device.
- If you get a "Permission denied" error and have access to a linux box, then
chmod +x flasher-2.0
orchmod +x flasher-3.0
or actuallychmod +x flasher-3.5
nowadays to make the flasher tool executable. You may also need root permissions, run command with sudo or su to root. (Tip: If your flash only gets to 19% then produces "Permission denied," try the "global" version of the image file instead. The US version has produced this problem.) - If you need to flash your Nokia 770 with an image from 2005 then use the older flasher called "flasher" with no number in the name
- If you get "Error claiming USB interface: Device or resource busy" error, make sure you run the flasher with sudo. If this does not fix the problem, as root, run
modprobe -r cdc_phonet
- If flashing stops with "Write failed after 1048576 bytes usb_bulk_write: Resource temporarily unavailable", do not disconnect your N900 from usb and try again the flasher command.
- If you cannot establish a connection with N900, or got any other problems during starting or completing the flashing process, do the following steps which describe the complete foolproof flashing procedure again in terse form: (use a Linux machine to flash! Windows isn't really backed up with much support from community, for obvious reasons.)
- blacklist cdc_phonet (echo "blacklist cdc_phonet" >/etc/modprobe.d/00-blacklist-cdcphonet.conf)! Run modprobe -r cdc_phonet, if it does NOT throw error, there was a module to remove -> bad.
- (try to) Turn off the device - if nothing else helps, holding power key for >8s is the ultimate means (except next point 2.) to do this.
- Remove the battery - even if you were not able to shut device down in 2.
- Start flasher with above mentioned command to flash (without -R, it's a useless convenience thing). It says "Suitable device not found... waiting"
- Plug the device to computer with a good USB cable.
- Insert battery while holding "u" key. You can release the key as soon as screen turns on and shows the USB logo. Flashing shall start automatically. (If flasher answers "unable to enumerate USB buses!" as soon as N900 gets battery, just re-issue same flasher cmd immediately - cursor-up helps ;-D). If flasher doesn't detect the device, a Ctrl+C abort and re-issuing of the flasher command may help
- Check for correct diagnostic output of flasher, as quoted above. After flashing has finished, remove battery ->(2.) 3.)
- Repeat same procedure ((1.b modprobe) 2. - 7. INCL remove battery!) for each image to flash (sequence: eMMC first, then rootfs - some mess on rootfs may break eMMC flashing and require sequence rootfs eMMC rootfs again). So far this procedure always worked, given your PC side has no problems. Many known problems on PC side - esp "waits forever" / "doesn't find N900" - get fixed with a reboot *immediately prior* to doing the flashing.
- After flashing unplug your device from PC prior to first boot. First boot can take several minutes, and screen may turn dark during that. You may try lock-slider switch, but do not power down device during first boot, until it finally finished - I.E. do not touch power button after flashing, unless you're *sure* device hasn't already started to boot. Usually device will power down when unplugged from PC in flashing mode, you can tell this from white LED fading out, not even any dim backlight, and device not reacting to lockslider and kbd-open. Power it up from battery then, using the power button. Only then plugging in the wallcharger is a good idea. Make sure device charges and recharge battery while you're at it. After battery got fully charged again, it's probably safe to switch off your N900, as first boot setup should have finished.
- After re flashing if the sim is not detected (symbol of the sim card with a red slash across near battery meter) make sure that you have downloaded the proper Firmware Download (.bin) file for your region. If you have downloaded another .bin from some other region the sim may not be detected.
Flashed but still getting only "5 white dots going back and forth"
This can be caused by various problems. Known problems are:
- If boot finds a corrupted FAT32, it may decide to run fsck against it, which may take like hours to complete.
- System is trying to run corrupted ~/.profile file with wrong commands which interrupt complete boot.
Solution can be to use rescueOS: http://talk.maemo.org/showthread.php?t=75369 , which can help you to mount rootfs, home (mount /dev/mmcblk0p2 /mnt/free1) and edit files or "do other useful rescue stuff".
USB
It may help to connect directly to the computer USB ports, avoiding the use of a hub - which includes the USB ports on laptop docking stations. The USB ports in the back of a laptop may also be better than using those in the front.
Some distributions do not present the USB device in the way that it expects it. First, see if it is necessary to "mount" USB:
mount -t usbfs usbfs /proc/bus/usb
If that does not work, try patching the flasher code. This replaces the use of /proc/bus/usb
with the newer /dev/bus/usb
filesystem:
perl -pi -e 's-/proc/bus/usb-/dev/bus/usb\000-;' -i.backup $FLASHER
Replace $FLASHER
with the path to your flasher-2.0 or flasher-3.0 Linux binary.