You may have noticed that Wowwee have released the original version of RSMeida firmware and a reflashing script. It has been uploaded to the Robocommunity download area. See here for details.
Reflashing the original firmware could fix any corruption in system files, default files and maybe personality files.
Actually this is fantastic news for two reasons:-
- It could allow some broken RSMedias to be revived. If you have a RSMedia that fails to finish booting this MAY help.
- It could allow further additions/extensions (hacks!!) to RSMedia.
BUT BE WARNED THAT REFLASHING WITH A MODIFIED VERSION WILL VOID ANY WARANTY YOU MAY HAVE ON YOUR RSMEDIA.
(Although I suspect that there are very few who have any warranty left on a RSMedia anyway!!)
ALSO BE WARNED THAT THIS HASNT BEEN TESTED MUCH YET - there is a risk that if something goes wrong then you may never be able to boot the robot again!!
ALSO BE WARNED THAT SO FAR WOWWEE HAVE ONLY RELEASED ORIGINAL FIRMWARE (IE RSM-without-USBNET). So DONT try this on a RSM-with-USBNET.
But having said that I am very excited about the possibilities.....
But first I thought I should do some testing.....
The reflashing script is fairly complex and doing some things I dont yet understand. So I made a cut down version that will just reflash the NAND2 memory area (which is mapped to /mnt/default). This area holds data files that are used by the RSMedia robot programs, but not by linux. (So if this area gets corrupted the linux board should still boot but the robot functions may not work.) So I figured that if anything goes too wrong I could probably use linux serial console to fix it.
Heres a quick summary of what I tested tonight :-
- I used the FirmwareDump scripts (from RSMDevkit) to make a backup of all the areas. (It should be possible to put some backed up areas back into the robot using the script- not tested yet)
- I tested the script can successfully reflash the NAND2 area.
- The original image files provided are .cramfs format (which is a compressed readonly file system format supported by linux)
- Using linux tools I managed to uncompress the image to a linux machine, modify some files , recompress the image (using 'mkcramfs').
- Then I successfully reflashed the image into the NAND2 area. This is great news as it means that reason 2 above is probably going to be a reality!!
Something did go wrong a few times - my SDCard is fairly loose and it can sometimes stop working - it did this in the middle of a reflashing. But the script kept going, it detected that the reflash didnt work and exited gracefully. the robot rebooted Ok and it worked the next time around. (But I sure was worried for a few minutes....)
I have not yet tried to reflash the root file system area. This is a bit more dangerous so I wanted to understand how it all works first! (I will probably try it this weekend.)
Anyway thats it for tonight. Will update some more after more testing on the weekend.
If anyone else really wants to try this out - if you are game enough you can just try following the instructions given by Wowwee in the download. It will probably work Ok.
Lastly I would like to say a BIG THANKS to Wowwee and Randy getting these files released.