Tplink
TL-WR1043ND
Zugriff auf Uboot
- Verbindung via Serial Port (115200,8,n,1) - Gerät neu starten - Sobald "Autobooting in n seconds" erscheint folgendes auf der Konsole eingeben (via Copy&Paste einfügen, da Zeit sehr knapp ist).
tpl <enter>
U-Boot 1.1.4 (Jun 13 2014 - 15:14:01) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(178): (16bit) ddr2 init tap = 0x00000003 Tap (low, high) = (0x0, 0x1d) Tap values = (0xe, 0xe, 0xe, 0xe) 64 MB Flash Manuf Id 0xef, DeviceId0 0x40, DeviceId1 0x17 flash size 8MB, sector count = 128 Flash: 8 MB Using default environment *** Warning *** : PCIe WLAN Module not found !!! *** Warning *** : PCIe WLAN Module not found !!! In: serial Out: serial Err: serial Net: ath_gmac_enet_initialize... athrs_sgmii_res_cal: cal value = 0x1 No valid address in Flash. Using fixed address No valid address in Flash. Using fixed address ath_gmac_enet_initialize: reset mask:c02200 Scorpion ----> S17 PHY * athrs17_reg_init: complete : cfg1 0x80000000 cfg2 0x7114 eth0: ba:be:fa:ce:08:41 eth0 up athrs17_reg_init_wan done SGMII in forced mode athr_gmac_sgmii_setup SGMII done : cfg1 0x800c0000 cfg2 0x7214 eth1: ba:be:fa:ce:08:41 eth1 up eth0, eth1 Setting 0x18116290 to 0x50a1a14f Autobooting in 1 seconds ap135>
printenv - zeigt alle uboot Variablen an.
ap135> printenv bootargs=console=ttyS0,115200 root=31:02 rootfstype=jffs2 init=/sbin/init mtdparts=ath-nor0:256k(u-boot),64k(u-boot-env),6336k(rootfs),1408k(uImage),64k(mib0),64k(ART) bootcmd=bootm 0x9f020000 bootdelay=1 baudrate=115200 ethaddr=0xba:0xbe:0xfa:0xce:0x08:0x41 dir= lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}ap135${bc}-jffs2&&erase 0x9f050000 +0x630000&&cp.b $fileaddr 0x9f050000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f680000 +$filesize&&cp.b $fileaddr 0x9f680000 $filesize stdin=serial stdout=serial stderr=serial ethact=eth0 filesize=680004 fileaddr=F ipaddr=192.168.1.111 serverip=192.168.1.31
- setenv - Wenn nötig können die Server/Client IP angepasst werden
setenv serverip 192.168.1.32
- Auf dem PC sollten in verschiedenen Terminals (nicht die serielle Konsole) zwei Programme gestartet werden. tftpd lauscht auf der angegebenen IP und liefert auf Anfrage, die unter /var/lib/tftpboot abgelegten Files and den tftp-client (Router)
Terminal 1: in.tftpd -lL --secure --address 192.168.1.31:69 /var/lib/tftpboot Terminal 2: tcpdump -tni any port 69
- In der seriellen Konsole kann mit tftp ein File/image an eine RAM Adresse im Router geladen werden. Um eine gute Adresse zu finden, die
nicht gerade vom Uboot selbst verwendet wird, kann man sich die Ausgabe von printenv ansehen. Dort findet man oft vordefinierte Befehle. Hier im Beispiel sind 3 Variablen lu,lf,lk definiert. Diese enthalten schon Befehle, um via tftp ein image an eine Adresse zu laden, den Flash zu löschen und das zuvor geladene Image in den Flash zu schreiben.
Diese Befehle können einzeln verwendet werden. Das Kommando tftp hat zwei Parameter RAM Adresse und Filename.
- Im bootloader image von tftp laden:
6F01A8C0.img
- TFTP oder tcpdump zeigen hier den erwarteten filenamen an.
- PC: kopieren und umbenennen: openwrt-ar71xx-generic-tl-wr1043nd-v2-squashfs-sysupgrade.bin /var/lib/tftpboot/6F01A8C0.img