PDA

Bekijk de volledige versie : Flashing WL500g Deluxe from Linux



Exirion
18-07-2005, 16:43
I'm having a hard time trying to flash my WL500g Deluxe. The good old recover.sh script doesn't seem to work anymore. Once the validation part is done (get ASUSSPACELINK blabla), the LED stops blinking. So I removed that part and tried the following:

tftp 192.168.1.1
tftp> binary
tftp> trace
tftp> put firmware.trx

At first it SEEMS to work as uploading the firmware succeeds, but when it finishes the LED stays either on or off. No signs of restarting the system. So the router receives the firmware images but nothing more happens.

Using the Asus utility is no option for me as I'm coding in Linux and I don't feel like switching between Linux and Windows all the time just to upload firmwares.

Any ideas? :)

Exirion
19-07-2005, 15:10
OK, I solved it. Sniffing a bit with Ethereal pointed out what went wrong.

In the original script there is:

echo -en "get ASUSSPACELINK\x01\x01\xa8\xc0 /dev/null\nquit\n" | tftp 192.168.1.1

Like I said, after this line the LED stops blinking right away. No response to upload the firmware anymore.

I found out that in Windows it 'puts' the file to 192.168.1.49 instead of 192.168.1.1. To do so it first 'gets' with ASUSSPACELINK\x31\x01\xa8\xc0 instead of ASUSSPACELINK\x01\x01\xa8\xc0. Of course the 1 refers to 192.168.1.1 and the 31h refers to 192.168.1.49.

Conclusion: it only works if I do a get with \x31 instead of \x01. Don't ask me why but this is just the way it is. Maybe Asus changed it on purpose.