Seguivo questa guida per il flashing del firmware OpenWRT.
Ho fatto il dump del bootloader come spiegato nella sezione 'Obtaining your current Bootloader', ho verificato l'md5sum
Codice: Seleziona tutto
md5sum mtd2
0530bfdf00ec155f4182afd70da028c1 mtd2
Ora dovrei modificarlo, come spiegato nel paragrafo 'Disable firmware checksum verification':The MD5 sum of mtd2.bin should be 0530bfdf00ec155f4182afd70da028c1
Il problema è che non trovo l'offset 0x3944. Provo allora a cercare i 4 byte '44 09 00 0C':Modify the bootloader binary file with a hex editor:
go to offset 0x3944. Here there should be 4 bytes: 44 09 00 0C (representing jal 0x90002510 during execution)
Replace these 4 bytes with 00 (representing nop).
Codice: Seleziona tutto
hexdump -C mtd2 | grep -i '44 09 00 0C'
Codice: Seleziona tutto
00002ce0 03 00 40 14 00 00 00 00 44 09 00 0c 01 00 04 24
00002d00 03 00 40 14 00 00 00 00 44 09 00 0c 21 20 00 00
00003940 fc e1 84 24 44 09 00 0c 01 00 04 24 01 00 04 24
00003960 21 38 00 02 62 0e 00 08 20 00 bf 8f 44 09 00 0c
Sarà lui? Impossibile, penso, anche se 'vicino'.
Ma provo lo stesso - tanto non devo flashare. Lancio hexedit e modifico:
Codice: Seleziona tutto
## prima della modifica:
00003940 FC E1 84 24 44 09 00 0C 01 00 04 24 01 00 04 24
## dopo la modifica:
00003940 FC E1 84 24 00 00 00 00 01 00 04 24 01 00 04 24
Codice: Seleziona tutto
md5sum mtd2
d8a2f4623bf6f64b7427812f0e849aa7 mtd2
E invece torna perfettamente
Com'è possibile... sapete darmi una spiegazione? C'è un refuso nella guida ...o sono io che non sono capace?[...]
Confirm the new MD5 of the modified mtd2.bin is d8a2f4623bf6f64b7427812f0e849aa7.
Grazie in anticipo.