wrtu54g-tm:uboot
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
wrtu54g-tm:uboot [2010/11/14 20:49] – neutronscott | wrtu54g-tm:uboot [2023/11/04 22:30] (current) – external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== U-Boot ====== | ====== U-Boot ====== | ||
The WRT54G and like Broadcom devices seem to allow a boot_wait option where we can fix any broken flash remotely by TFTP without opening the router. Currently our only solution is opening the device and installing a serial connection, with use of a TTL RS232 converter. | The WRT54G and like Broadcom devices seem to allow a boot_wait option where we can fix any broken flash remotely by TFTP without opening the router. Currently our only solution is opening the device and installing a serial connection, with use of a TTL RS232 converter. | ||
+ | |||
+ | An easier solution to the serial add-on is to acquire a USB-Serial converter such as that built into a typical e-bay Nokia CA-42 clone cable and use that to do the level conversion. You will need to hook up TX, RX and GND - see [[wrtu54g-tm: | ||
U-boot has no TFTP server. It only has a client. U-Boot maintainers like it this way and see no point in a server. Well, they' | U-boot has no TFTP server. It only has a client. U-Boot maintainers like it this way and see no point in a server. Well, they' | ||
+ | |||
+ | Note that the built in tftp client in Windows and OSX won't work - TFTPD32 for Windows and TFTPServer for OSX do work. | ||
+ | |||
+ | ===== Just to replace firmware ===== | ||
+ | |||
+ | If you're just looking to replace the firmware that is on the device and did create the necessary serial port connections, | ||
+ | You can set the PC to IP 192.168.0.250, | ||
===== Figuring it out ===== | ===== Figuring it out ===== | ||
Line 91: | Line 100: | ||
ADM8668 # set if_pingable 'ping $(serverip)' | ADM8668 # set if_pingable 'ping $(serverip)' | ||
ADM8668 # set if_tftp_success ' | ADM8668 # set if_tftp_success ' | ||
- | ADM8668 # set do_upgrade 'erase $(kernel_addr) +300000; cp.w 600000 | + | ADM8668 # set do_upgrade 'erase $(kernel_addr) +$(filesize); cp.b $(fileaddr) |
ADM8668 # set bootcmd 'run if_pingable if_tftp_success do_upgrade; bootm $(kernel_addr)' | ADM8668 # set bootcmd 'run if_pingable if_tftp_success do_upgrade; bootm $(kernel_addr)' | ||
ADM8668 # saveenv | ADM8668 # saveenv | ||
- | Seems the memory copy command **cp** deals correctly with flash. yay! one thing goes right. ;) Also, the bootm command is ran regardless of outcome of previous commands. So failing the upgrade in the ping/tftp parts, we'll still boot what's in flash (or at least try heh). | + | Seems the memory copy command **cp** deals correctly with flash. yay! one thing goes right. ;) Also, the bootm command is ran regardless of outcome of previous commands. So failing the upgrade in the ping/tftp parts, we'll still boot what's in flash (or at least try heh). I found that $fileaddr and $filesize are set after any tftp transfer, so we only erase enough of flash memory to make file fit now as well. |
- | Here is an abbreviated successful upgrade: | + | Note that by default, the device will want to have 192.168.0.10 with the TFTP server at 192.168.0.250, |
+ | |||
+ | Here is an abbreviated successful upgrade | ||
ADM8668 # run bootcmd | ADM8668 # run bootcmd | ||
Line 118: | Line 129: | ||
Guess we can deal with these. Now, to include the uboot-envtools into an image, and set this up from within Linux.... Stay tuned... Even better would be to chainload a newer U-boot with netconsole support! :) | Guess we can deal with these. Now, to include the uboot-envtools into an image, and set this up from within Linux.... Stay tuned... Even better would be to chainload a newer U-boot with netconsole support! :) | ||
+ | |||
+ | ===== Enabling from Linux ===== | ||
+ | I compiled u-boot environmental utilities and posted binary (sorry not packaged yet) at http:// |
wrtu54g-tm/uboot.1289767745.txt.gz · Last modified: 2023/11/04 22:29 (external edit)