Author: keesj (freenode / #mamona)
Recovery from a wrongly flashed device
When creating alternative images for the Nokia Internet tablet things can go wrong. One thing that happened to me just a few hours after I received my developers program sponsored n810 I did not resist and tried flashing my n810 with mamona. The first thing I tried was to "just" flash the rootfs.jffs2 image using the Nokia flasher. I followed Running Mamona and flashed my n810 using the following command:
flasher-3.0 -F rootfs.jffs2 -f -R
The mamona documentation states that it can take a while to start but after a while I was certain this operation failed. The device showed the bootloader but nothing more. I Decided that apparently I f*cked up. I then decided to go ahead and flash the whole image I created previously. This image was created using the Mamona FIASCO Image Creator and Combiner (MIC). The image is based on the Nokia RX-34_2007SE_4.2007.38-2_RD_MR0.bin file. I flashed the image onto the n810. This is when I was feeling a light panic. My device was not booting anymore. The screen did not even become white it was all black. I was still happy that the usb bootloader functionality was working.I then decided to flash the RX-44_2008SE_2.2007.50-2_PR_COMBINED_MR0_ARM.bin image to try to recover the system but this failed in a meaningless manner.
Then only I started wondering what I have been doing to my device and simply hoping I could recover somehow.
Guys at #mamona have been a great help Kudos to them!
This is what happened when I tried to flash my n800
root@ijssijs:/home/keesj/Desktop# ./flasher-3.0.amd64 -F RX-44_2008SE_2.2007.50-2_PR_COMBINED_MR0_ARM.bin -f
flasher v0.8.1 (Jan 5 2007)
SW version in image: RX-44_2008SE_2.2007.50-2_PR_MR0
Image 'kernel', size 1529984 bytes
Version 2.6.21.0-200749osso2
Image 'initfs', size 1954560 bytes
Version 0.95-70
Image 'rootfs', size 137625600 bytes
Version RX-34+RX-44_2008SE_2.2007.50-2_PR_MR0
Image '2nd', size 8192 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
Image 'xloader', size 9088 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
Image 'secondary', size 99968 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
USB device found found at bus 006, device address 018
Found device RX-34, hardware revision 0805
NOLO version 1.1.6
Version of 'sw-release': RX-44_2008SE_2.2007.50-2_PR_MR0
To flash the bootloader, you have to supply the X-Loader image
The device or flasher did not want to flash the bootloader "because" you have to supply the X-Loader image. But the other and more interesting message is this one Found device RX-34, hardware revision 0805 RX-34 is the denominator for the n800, I have just converted my n810(RX-44) device into a n800! This is probably why I can not flash it any more.
luck'#mamona recovered from such an error in the passed and helped me recover. He went as far as being able to reproduce the problem! by flashing various images and was able to recover by using flasher -F RX-44_2008SE_2.2007.50-2_PR_COMBINED_MR0_ARM.bin -f -hRX-44:0805
I decided to run my collection of images against the broken n810 (for i in *.bin ; echo $i ; flasher -F ........) Then this happened:
SU-18_2007HACKER_2.2006.47-17_PR_F5_MR0_ARM.bin
flasher v0.8.1 (Jan 5 2007)
Image 'kernel', size 1268864 bytes
Image 'initfs', size 1895680 bytes
Image 'rootfs', size 78876672 bytes
Image 'xloader', size 13824 bytes
Image 'secondary', size 86912 bytes
Image '2nd', size 8704 bytes
Valid for SU-18
Version 47-17
USB device found found at bus 001, device address 011
Found device RX-34, hardware revision 0805
NOLO version 1.1.6
Version of 'sw-release': <no version>
Sending xloader image (13 kB)...
100% (13 of 13 kB, avg. 4500 kB/s)
Sending secondary image (84 kB)...
100% (84 of 84 kB, avg. 12125 kB/s)
Flashing bootloader... Sending request 0x50 failed!
Unable to get error strings: Connection timed out
SU-18_2007HACKER_4.2007.36-2_PR_F5_MR0_ARM.bin
Apparently I was able to flash parts of my n810 with the 2007 Hackers edition for the 770 :p and I perhaps downgraded my working n810 into a broken 770.
But there was hope because I apparently was able to flash(just not yet what I wanted).
After that I tried flashing the "original" MAMONA .bin image again and also that worked. But of course still noting on the screen, no booting menu etc.
Apparently older images could be written and also the image generated by MIC could be written. I now created an image using mic based on RX-44_2008SE_2.2007.50-2_PR_COMBINED_MR0_ARM.bin and copying all the image pieces(I did not bother changing the names of the versions in image.xml) and then things started working
root@ijssijs:/home/keesj/mamona/recover/2# flasher -F out.bin -f flasher v0.8.1 (Jan 5 2007) Image 'kernel', size 1529984 bytes Image 'initfs', size 1954560 bytes Image 'rootfs', size 137625600 bytes Image '2nd', size 8192 bytes Image 'xloader', size 9088 bytes Image 'secondary', size 99968 bytes Suitable USB device not found, waiting USB device found found at bus 001, device address 027 Found device RX-34, hardware revision 0805 NOLO version 1.1.6 Version of 'sw-release': RX-34_2007SE_4.2007.38-2_RD_MR0 Sending xloader image (8 kB)... 100% (8 of 8 kB, avg. 2218 kB/s) Sending secondary image (97 kB)... 100% (97 of 97 kB, avg. 10847 kB/s) Flashing bootloader... done. Sending kernel image (1494 kB)... 100% (1494 of 1494 kB, avg. 18221 kB/s) Flashing kernel... done. Sending initfs image (1908 kB)... 100% (1908 of 1908 kB, avg. 22996 kB/s) Flashing initfs... done. Sending and flashing rootfs image (134400 kB)... 100% (134400 of 134400 kB, avg. 7322 kB/s) Finishing flashing... done
All the data is flashed the right way! and I am almoost back to having a full "factory" device again. Notice how this flash action and the one below differ in the version information they contain. At this point the software is ok but the sw-version in acording to the flasher tool is still RX-34_2007SE_4.2007.38-2_RD_MR0. This information must be coming from the image.xml meta-data.
I was now able to flash an official .bin image and I am back in business.
root@ijssijs:/home/keesj/Desktop# flasher -F RX-44_2008SE_2.2007.50-2_PR_COMBINE
D_MR0_ARM.bin -f -R
flasher v0.8.1 (Jan 5 2007)
SW version in image: RX-44_2008SE_2.2007.50-2_PR_MR0
Image 'kernel', size 1529984 bytes
Version 2.6.21.0-200749osso2
Image 'initfs', size 1954560 bytes
Version 0.95-70
Image 'rootfs', size 137625600 bytes
Version RX-34+RX-44_2008SE_2.2007.50-2_PR_MR0
Image '2nd', size 8192 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
Image 'xloader', size 9088 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
Image 'secondary', size 99968 bytes
Valid for RX-44: 0801, 0802, 0803, 0804, 0805, 0806, 0901, 0902
Version 1.1.7-2
Suitable USB device not found, waiting
USB device found found at bus 001, device address 035
Found device RX-44, hardware revision 0805
NOLO version 1.1.7
Version of 'sw-release': RX-34_2007SE_4.2007.38-2_RD_MR0
Sending xloader image (8 kB)...
100% (8 of 8 kB, avg. 253 kB/s)
Sending secondary image (97 kB)...
100% (97 of 97 kB, avg. 13946 kB/s)
Flashing bootloader... done.
Sending kernel image (1494 kB)...
100% (1494 of 1494 kB, avg. 15727 kB/s)
Flashing kernel... done.
Sending initfs image (1908 kB)...
100% (1908 of 1908 kB, avg. 13347 kB/s)
Flashing initfs... done.
Sending and flashing rootfs image (134400 kB)...
100% (134400 of 134400 kB, avg. 7316 kB/s)
Finishing flashing... done
What did happen? I think that what happened is that mic uses an older and similar image format that was used in the 770. This format apparently has no version upgrade information and that is why I was able to recover from this.
The guys at #mamona have been very helpfull. Thanks!
