====== TFTP install/recovery via serial ====== ===== For v8,v9,v10,v11 TFTP install is much easier ===== Beware that this installation method needs a TTL level serial console usb to TTL like DKU-5 data cable or RS232-TTL level shifter like this: {{ doc:tec:net:router:openwrt:wr841n:max3232.png?nolink& |}} and a working TFTP server and should not be attempted unless you have experience with this sort of thing or are eager to learn. This is taken more or less verbatim from https://forum.openwrt.org/viewtopic.php?id=24203, thanks to dl3daz. * 1) Download an appropriate image to serve from your TFTP server (for example, openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin for v8). * 2) Hook your routers WAN ethernet port up to your network (for v8.2 it's LAN1 ethernet port) * 3) Hook up the serial console as explained in the section "serial console". At the prompt "Autobooting in 1 seconds" type "tpl" quickly to start a uboot console. * 4) Now we need to set router and server IP addresses (here named ROUTERIP and SERVERIP, substitute these with the real IP addresses). Type in the console: setenv ipaddr ROUTERIP setenv serverip SERVERIP printenv For example: Configure this static ip for your LAN card 192.168.1.100. If your computer containing other LAN or Wifi card, disable it! Type in the console setenv ipaddr 192.168.1.111 setenv serverip 192.168.1.100 192.168.1.111 is the router ip, 192.168.1.100 is the TFTP server ip. Double check that the output of printenv lists the IP addresses you just set. Uboot needs the tftp server to be listening on port 69. Make sure your server is configured to listen to that port. Now we can load the firmware over TFTP with "tftpboot 0x80000000 openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin": ar7240> tftpboot 0x80000000 openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin Using eth0 device TFTP from server 192.168.1.100; our IP address is 192.168.1.111 Filename 'openwrt-ar71xx-generic-tl-wr841n-v8-squashfs-factory.bin'. Load address: 0x80000000 Loading: checksum bad ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ################################################################# ###################################################### done Bytes transferred = 3932160 (3c0000 hex) Note the "3c0000" in the last line (your number may differ). Now execute the following commands, if necessary replacing 3c0000 with the number you got from tftpboot Type: printenv bootcmd Take note of the address and use it as flash erase start address. ==== For TL-WR841ND v3 ==== 1. Erase the flash: ar7100> erase 0xbf020000 +0x3c0000 First 0x2 last 0x3d sector size 0x10000 61 Erased 60 sectors 2.Copy RAM content to flash: ar7100> cp.b 0x80000000 0xbf020000 0x3c0000 Copy to Flash... write addr: bf020000 done 3.Reset ar7100> reset Resetting... 4. Done. ==== For TL-WR841ND v5, v7, v8, v9 ==== 1. Erase the flash: wasp> erase 0x9f020000 +0x3c0000 2. Copy RAM content to flash: wasp> cp.b 0x80000000 0x9f020000 0x3c0000 3. Set up the boot wasp> bootm 0x9f020000 ## Booting image at 9f020000 ... Uncompressing Kernel Image ... OK Starting kernel ... 4. Done.