Didj BootLoader Firmware Updating

From eLinux.org
Revision as of 08:42, 14 March 2010 by PhilKll (Talk | contribs)

Jump to: navigation, search

This is a way to manually upgrade your firmware and bootloader.

Programs Needed

Terminal program, Hyperterminal or equivalent

Hardware Needed

UART connection

USB Connection

Firmware Update

This requires you create a folder with contents similar to the firmware-LF_LF1000 folder in the lfp packages, the folder name should start with "firmeware-", or if you want it should work as an lfp extension zip archive. Place the folder or archive in the /Didj/Base directory, there might be one there already. This can be done over the USB connection.

In the terminal run the command 'fwcheck' it should return a result /Didj/Base/firmware-<your name> then run 'fwupdate /Didj/Base/firmware-LF_LF1000/ > /dev/console' it should have an output like this.

# fwupdate /Didj/Base/firmware-LF_LF1000/ > /dev/console
Found /Didj/Base/firmware-LF_LF1000/
Package Integrity Test Passed
Installing kernel.bin in Kernel1 (mtd5)
Kernel install successful.
Installing erootfs.jffs2 in Linux_RFS1 (mtd6)
Rootfs install successful.
Switching from RFS0 to RFS1


Bootloader is exactly the same as firmware, but the folder is named bootstrap-LF_LF1000, the name of the folder you put on the Didj must start with 'bootstrap-'. In the terminal run 'blcheck' and make sure it returns /Didj/Base/bootstrap-<your name> then run 'blupdate /Didj/Base/boostrap-<your name> > /dev/console' and it should return output like.

# blupdate /Didj/Base/bootstrap-LF_LF1000/ > /dev/console
Found /Didj/Base/bootstrap-LF_LF1000/
Package Integrity Test Passed
Installing lightning-boot.bin in LF1000_uniboot (mtd0)
Bootloader install successful.


fwupdate and blupdate will run automatically if fwcheck and blcheck return results when the Didj boots up, but only if the Didj's state is set to FIRMWARE_UPDATE_STATE. I'd like to figure out how to set this, so that the terminal connection will not be needed. It looks as if LFConnect sets the DOWNLOAD_IN_PROGRESS_STATE while updating the Didj, when it then runs the fwcheck and blchecks. Perhaps a custom scsi command is needed.


It is possible to brick your Didj messing with these files, I recommend you know what you are doing, before replacing these files.