airos
Toto je starší verze dokumentu!
Obsah
Nanostation M5
- chtěl bych na nanostation nějak dostat n2n, abych ho mohl ovládat vzdáleně
- a) udělat vlastní build firmware
- b) upravit současný
- k prozkoumání
upload fw
root@ubuntu:tftp 192.168.1.20 tftp> bin tftp> trace tftp> put XS2.ar2316.v3.4-rc.4351.090504.2146.bin Sent 1965199 bytes in 35.2 seconds tftp> exit
Oprava loco M5
- popis závady:
- fungovalo, pak prý přestalo
- podezření na poškození bleskem
- neodpovídá ani na ping
- zkoušel jsem (a nepomohlo)
- několikrát reset
- reset2factory
- přepnout do tftp režimu (přes reset) a nahrát image XM.v5.6.9.29546.160819.1157.bin
- analýza přes USB TTL
- piny pro UART jsou tam menší, ale připojit to jde
- připojil jsem
- černý na GND,
- bílý (RX) na SOUT
- zelený (TX) na SIN
- klient cutecom, 115200, 8-N-1
- v konzoli šlo vidět, že
- startuje U-Boot 1.1.4.2-s445 (Sep 6 2010 - 14:46:33)
- následně kernel,
- a všechno se zastavilo v init.. následoval auto restart po několika sekundách
... Getty ... Done. Startup_list ...Done. Free_cfg ... Done. Ready to go. ...running /sbin/init ATHDebug: 0x0 net.ath0.debug: 0x0 U-Boot 1.1.4.2-s445 (Sep 6 2010 - 14:46:33) Board: Ubiquiti Networks XM board (rev 1.0 e8a5) DRAM: 32 MB Flash: 8 MB Net: eth0, eth1 Hit any key to stop autoboot: 1
Nahrání image přes TFTP
- zkusil jsem nahrát img znovu
- přes UART jsem spustil
urescue - na Debian jsem dal
# tftp connect 192.168.1.20 binary put XM.v5.6.9.29546.160819.1157.bin
- na konzoli se zobrazilo
Firmware Version: XM.ar7240.v5.6.9.29546.160819.1157 Setting U-Boot environment variables Un-Protected 1 sectors Erasing Flash.... done Erased 1 sectors Writing to Flash... done Protected 1 sectors Will not overwrite u-boot partition! Skipped. Copying partition 'kernel' to flash memory: \0x09erasing range 0x9F050000..0x9F14FFFF: ................ done Erased 16 sectors \0x09writing to address 0x9f050000, length 0x00100000 ... Copying partition 'rootfs' to flash memory: \0x09erasing range 0x9F150000..0x9F74FFFF: ................................................................................................ done Erased 96 sectors \0x09writing to address 0x9f150000, length 0x00600000 ... Firmware update complete.
- proč tam je pořád starý U-Boot?
- podle OpenWRT stránky má být ve firmware 5.6.9 zavaděč U-Boot 1.1.4.2-s956, ale já tam mám furt ten starej
- pro 5.6.9 má být jiné rozdělení tabulek, ale moje rozložení je pořád
ar7240> mtdparts device nor0 <ar7240-nor0>, # parts = 6 #: name\0x09\0x09\0x09size\0x09\0x09offset\0x09\0x09mask_flags 0: u-boot \0x090x00040000\0x090x00000000\0x090 1: u-boot-env \0x090x00010000\0x090x00040000\0x090 2: kernel \0x090x00100000\0x090x00050000\0x090 3: rootfs \0x090x00660000\0x090x00150000\0x090 4: cfg \0x090x00040000\0x090x007b0000\0x090 5: EEPROM \0x090x00010000\0x090x007f0000\0x090
- že by za to mohla ta hláška o protected při nahrávání img?
- ANO!! pro přepsání u-boot se musí použít speciální příkaz
urescue -f -ezdroj
Boot po síti z TFTP
- loco je založeno na ar7240 (https://wiki.openwrt.org/toh/ubiquiti/nanostationm5)
- podle spouštění img U-BOOT je třeba zjístit začátek memory adres
-
- CFG_SDRAM_BASE 0x80000000 - tady asi začíná fyzicky paměť
- tftpboot 0x80000000 XM.v5.6.9.29546.160819.1157.bin
- a nic.. bad magic :/
- podle mě ten bin obsahuje u-boot script, který provádí teprve to rozbalení atd..
- tftpboot 5 XM.v5.6.9.29546.160819.1157.bin
- nahraje na adresu 5, kterou lze vypsat přes
- md.b 0 128
Analýza img
- co ten fw img vlastně všechno obsahuje?
file XM.v5.6.9.29546.160819.1157.bin XM.v5.6.9.29546.160819.1157.bin: HIT archive data
- HIT archive je asi UBI img
- http://free-electrons.com/doc/training/embedded-linux/ zde je super pdf, komplexně vše o embedded
Co s tím tedy je?
- rozbitá RAM?
- nápad:
- co ten test paměti v u-boot?
- rozbil se flash?
- img jsem zkoušel nahrát několikrát a chovalo se to divně
- občas to hodilo „Bad Data CRC“ a kernel se vůbec nenačetl
- občas to hodilo chyby až při čtení kernelu/rootfs
- občas to nehodilo žádnou chybu, ale zaseklo se
- nápad:
- boot img po síti? tam se nepoužije flash..
airos.1478432822.txt.gz · Poslední úprava: (upraveno mimo DokuWiki)
