First... Thanks to Roc, for being my guide and suffer my continous mails
And thanks to Delboy, to try to help me with the ath5k wifi driver!!!
Instructions for Linux.
First Step: you have to get access to the serial console!
Open your router with a screwdriver, and have a look at http://wiki.openwrt.org/toh/arcadyan/arv4518pw and check where to plug the serial TX, RX and GND
You need to get a serial port for your computer... I bought a Bus Pirate from here:
http://www.seeedstudio.com/depot/bus-pi … Path=61_68
and plugged it with a disasembled IDC4-IDC4 cable from an old motherboard.
Once you have that serial port connected, connect to the console:
screen /dev/ttyUSB0 115200
Turn on the router, and in the console, you have to reach to the brnboot command line:
ROM VER: 1.0.3
CFG 01
Read
ROM VER: 1.0.3
CFG 01
Read EEPROMX
X
=======================================================================
Wireless ADSL Gateway DANUBE Loader 64M-V0.02 build Apr 24 2008 16:12:25
Arcadyan Technology Corporation
=======================================================================
MXIC MX29LV320ABTC bottom boot 16-bit mode found
Copying boot params.....DONE
Press Space Bar 3 times to enter command mode ...123
Yes, Enter command mode ...
Then, press ! to enter to the administrative interface.
Second step: backup your firmware.
Close the screen session: press CTRL+A, K, and confirm you want to "kill this window" by pressing Y
Now you can make a backup of the original firmware before writing anything to the chip. You will find this useful if something happens...
For that, you have to clone this tool, written by Roc Vallès
git clone https://github.com/rvalles/brntool
then install python-serial module. In Debian/Ubuntu:
apt-get install python-serial
then, you can start dumping the firmware
./brntool.py --read=AR4518PW_whole.dump --addr=0xB0000000 --verbose --size=0x400000
then run the tool, and wait like... 30minutes-1hour for it to end.
Is a good idea to run the tool twice and compare the two dumps to be sure its 100% accurate:
./brntool.py --read=AR4518PW_whole.dump2 --addr=0xB0000000 --verbose --size=0x400000
cmp AR4518PW_whole.dump AR4518PW_whole.dump2
Third step: load the U-Boot Boot Loader
Download this: the last build from trunk of u-boot boot loader for your router, to be loaded through brnboot:
http://downloads.openwrt.org/snapshots/ … u-boot.bin
Connect again to the serial console (you still have the router turned on and with the administrative command line on!).
screen /dev/ttyUSB0 115200
Select the option to "Load code from memory" or something like that (I can't access it anymore...). It should tell you it is waiting for the code.
Close the screen session: press CTRL+A, K, and confirm you want to "kill this window" by pressing Y
Send the u-boot.bin with xmodem:
sx u-boot.bin </dev/ttyUSB0 >/dev/ttyUSB0
Sending u-boot.bin, 1024 blocks: Give your local XMODEM receive command now.
Bytes Sent: 131072 BPS:8007
Connect again to the serial console:
screen /dev/ttyUSB0 115200
You shouldn't see anything... press "y" and "Enter"... U-Boot should load!
I will try to continue this tutorial later, now it's time to prepare the supper!
I have to say that everything in the router works for me... except for Wifi. I built my own openwrt from source, but the ath5k driver can't read platform data... something is wrong in the code. But I plugged in a Wifi-USB stick and... it sucks... but works
Have a nice day,
Edgar
(Last edited by gnumengor on 25 Nov 2011, 21:09)