After trying unsuccessfully multiple times of catching the boot-wait window on my F5D7130, I decided to see if I could create a file to upload directly using the Belkin firmware's web interface. It turned out to be relatively simple to do. It was just a matter of adding a 28-byte header to the front.
The header doesn't seem to contain any model-specific info, so it will probably work with other Belkins as well. (If it doesn't work and it bricks your router, you're on your own.) I and others have used it to upgrade early versions of the F5D7230-4. In my case, it was v1444.
For those interested in constructing their own copy of this file or trying the same thing with other versions of DD-WRT, here's a description of the header:
The first four bytes are "LOAD".
The next four bytes contain the length of the file including the header. The length of the file is 1732636 bytes, which equals 1732608, the length of dd-wrt.v23_micro_generic.bin, plus 28, the length of the header. The hexadecimal representation of this number is 1A701C, and the bytes appear in the file in reverse, or little-endian, order, i.e. 1C701A00.
The next four bytes are the CRC-32 checksum of everything but the first 12 bytes of the file. I used the command cksum -o 3 in OS X to calculate this checksum. The file contains the one's complement of the result of this calculation, i.e. flip all the bits, and again, the bytes are in little-endian order.
Next comes 00, 80, and then 14 more 00s. You have to prepend this to dd-wrt.v23_micro_generic.bin before you can calculate the checksum in the previous step.
So the 28-byte header needed for dd-wrt.v23_micro_generic.bin is:
Posted: Wed Aug 22, 2007 21:26 Post subject: Re: F5D7130 firmware TFTP-less upgrade
placebo wrote:
After trying unsuccessfully multiple times of catching the boot-wait window on my F5D7130, I decided to see if I could create a file to upload directly using the Belkin firmware's web interface. It turned out to be relatively simple to do. It was just a matter of adding a 28-byte header to the front.
The header doesn't seem to contain any model-specific info, so it will probably work with other Belkins as well. (If it doesn't work and it bricks your router, you're on your own.) I and others have used it to upgrade early versions of the F5D7230-4. In my case, it was v1444.
For those interested in constructing their own copy of this file or trying the same thing with other versions of DD-WRT, here's a description of the header:
The first four bytes are "LOAD".
The next four bytes contain the length of the file including the header. The length of the file is 1732636 bytes, which equals 1732608, the length of dd-wrt.v23_micro_generic.bin, plus 28, the length of the header. The hexadecimal representation of this number is 1A701C, and the bytes appear in the file in reverse, or little-endian, order, i.e. 1C701A00.
The next four bytes are the CRC-32 checksum of everything but the first 12 bytes of the file. I used the command cksum -o 3 in OS X to calculate this checksum. The file contains the one's complement of the result of this calculation, i.e. flip all the bits, and again, the bytes are in little-endian order.
Next comes 00, 80, and then 14 more 00s. You have to prepend this to dd-wrt.v23_micro_generic.bin before you can calculate the checksum in the previous step.
So the 28-byte header needed for dd-wrt.v23_micro_generic.bin is:
I know this thread is kinda dead, however, I was wondering if anyone had this work on the 7132 model. I know one or 2 people were attempting it but they never posted whether or not they were successful. I've been using DD-WRT on all my linksys routers, and I was hoping I could finally get rid of Belkin's poorly designed, glitchy firmware. Especially, the one particular glitch where the access point refuses to connect to my primary router, then somehow manages to flood my network causing complete internet and inter-connectivity loss. Under normal circumstances, I'd laugh at something like that, accept, it's happening to me :P
Anyway, if anyone HAS gotten it to work, if you could give a basic set of instructions on how you did it that would be wonderful. (ie: using tftp/web interface, specific settings you needed, etc)