OpenWrt Forum Archive

Topic: serial-only firmwae flash

The content of this topic has been archived on 22 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

Hi All,

I wonder if there is any way to flash firmware (not the UBoot) on the target AR9331 board using exclusively its serial port?
So far i am doing like this well known method:
1. connect serial(target) to serial(host-windows) and start a terminal emulator on it.
2. connect lan(target) to lan(host, ip:192.168.1.2) and start tftp server on it, and put the compiled binary of firmwae in the tftp directory.
3. power cycle the target, and stop its auto-boot.
4. give ease command from serial terminal.
5. give tftp command from serial terminal. It starts the file transfer from host to target over the lan cable.
6. copy it to memory, and boot from memory.

Now the above procedure requires the lan interface for tftp file transfer. Can we remove it and somehow do the flle transfer on the serial interface?
I heard about XMODEM protocol for that but i dont know what steps i do for it. I also dont see any XMODEM command in the UBOOT help.

I can change my windows host machine to linux machine if that can be do it..
Any help would be highly appeciated.

-greenapples

(Last edited by greenapple on 2 Oct 2013, 08:01)

If loady , loads , loadx don't work : try modification with commands listed under  http://www.denx.de/wiki/DULG/UBootCmdGroupMemory

Remember: Memory modification of a running system is highly dangerous!
Be sure to know which memory areas are mapped to components ...

zloop wrote:

If loady , loads , loadx don't work : try modification with commands listed under  http://www.denx.de/wiki/DULG/UBootCmdGroupMemory
...

It looks like a good ideas..
the relevant command on that page appeas to be mm (memory modify)... and it is also supported on my uboot.

now this is what i think i can do...
open the firmwae.bin file in hex editor on host.. and then send each byte in sequence one by one to target ..
pls. tell me is this correct or anything missing in it?
can i automate this process, usually the firmware bin is ~3MB size?

The discussion might have continued from here.