Hi I botched my OpenWrt install by not correctly wiping JFFS. So now I'm stuck with a boot looping router. I soldered the pins for the serial and now I have a serial connection.
I pressed the reset button to try and get TFTP working, but I can't make it connect properly. Here is the output.
Please choose the operation:
1: Load System code to SDRAM via TFTP.
2: Load System code then write to Flash via TFTP.
3: Boot System code via Flash (default).
4: Entr boot command line interface.
7: Load Boot Loader code then write to Flash via Serial.
9: Load Boot Loader code then write to Flash via TFTP.
0
3: Boot System code via Flash (default).
reset buootn pressed!
3: Boot System code via Flash (default).
RT-AC58U bootloader version: 1.0.0.5
MAC Address: 04:D4:C4:63:F9:90
reset buootn pressed!
## Enter Rescue Mode ##
MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x4d
PHY ID2: 0xd0b1
ipq40xx_ess_sw_init done
eth0
preferred nic: eth0
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :100 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
switch prereq:0
tftpd start
Our IP address is:(192.168.1.1)
Wait for TFTP request...
tftpd open
Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D D D D D Got ARP REQUEST, return our IP
D D D D D D D D D D D D D D D D D D D D D D D D D D D D D
Here is the ip configuration of my computer:
8: enp0s20f0u13: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc fq_codel state UP group default qlen 1000
link/ether 00:e0:4c:5e:ff:f7 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.2/24 brd 192.168.1.255 scope global noprefixroute enp0s20f0u13
valid_lft forever preferred_lft forever
inet6 fe80::e6ff:f906:e196:f055/64 scope lin
I have tried using curl: curl -T RT-AC58U.trx tftp://192.168.1.1 and tftp using put and binary modes. and atftp, all to no avail. I feel like I am missing something here, but I just can't figure out what it could be.
EDIT2: What I mean by tftp not working is that nothing will be transferred. It will not make the connection.
I don't know your particular device, but assume it works rather similar as the map-ac2200 (lyra). In that case the push-button tftp recovery would not be reliable, as it can't re-initialize the ubi correctly.
If you can interrupt the bootloader, you can tftpboot an initramfs image via serial console and boot it from RAM - and then just sysupgrade a fixed OpenWrt sysupgrade image. Check the map-ac2200 device page for details.
Thanks for your reply. I tried out what you said, but I am getting stuck here:
You choosed 1
1: Load System code to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:
Input server IP (192.168.1.70) ==:192.168.1.2
Input Linux Kernel filename (RT-AC58U.trx) ==:openwrt-19.07.4-ipq40xx-generic-asus_rt-ac58u-initramfs-fit-uImage(1).itb
MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x4d
PHY ID2: 0xd0b1
ipq40xx_ess_sw_init done
eth0
preferred nic: eth0
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :100 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
switch prereq:0
Using eth0 device
TFTP from server 192.168.1.2; our IP address is 192.168.1.1
Filename 'openwrt-19.07.4-ipq40xx-generic-asus_rt-ac58u-initramfs-fit-uImage\(1\(1).itb'.
Load address: 0x84000000
Loading: Got ARP REPLY, set eth addr (00:e0:4c:5e:ff:f7)
TFTP server died; starting again
I am unclear whether my computer needs to be 192.168.1.70 or the router is the one listening on that IP.
Thanks for the clarification.
I set my computer's ip to 192.168.1.70 and ran the TFTP server.
I tried using curl and tftp.
~/Documents/asus_router_stuff >>> curl -T openwrt-initframfs.itb tftp://192.168.1.1
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 4786k 0 0 0 0 0 0 --:--:-- 0:00:52 --:--:-- 0^C
~/Documents/asus_router_stuff >>> tftp 192.168.1.70 [130]
tftp> binary
tftp> put openwrt-initframfs.itb
Transfer timed out.
I'm not sure what is going on.
The router had this reply:
1: Load System code to SDRAM via TFTP.
Please Input new ones /or Ctrl-C to discard
Input device IP (192.168.1.1) ==:192.168.1.1
Input server IP (192.168.1.70) ==:192.168.1.70
Input Linux Kernel filename (RT-AC58U.trx) ==:openwrt-initframfs.itb
MAC0 addr:0:3:7f:ba:db:ad
PHY ID1: 0x4d
PHY ID2: 0xd0b1
ipq40xx_ess_sw_init done
eth0
preferred nic: eth0
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :100 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
switch prereq:0
Using eth0 device
TFTP from server 192.168.1.70; our IP address is 192.168.1.1
Filename 'openwrt-initframfs.itb'.
Load address: 0x84000000
Loading: Got ARP REPLY, set eth addr (00:e0:4c:5e:ff:f7)
TFTP server died; starting again
preferred nic: eth0
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :100 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
Got ARP REQUEST, return our IP
switch prereq:0
Using eth0 device
TFTP from server 192.168.1.70; our IP address is 192.168.1.1
Filename 'openwrt-initframfs.itb'.
Load address: 0x84000000
Loading: Got ARP REPLY, set eth addr (00:e0:4c:5e:ff:f7)
TFTP server died; starting again
preferred nic: eth0
eth0 PHY0 Down Speed :10 Half duplex
eth0 PHY1 Down Speed :10 Half duplex
eth0 PHY2 Down Speed :10 Half duplex
eth0 PHY3 up Speed :100 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
switch prereq:0
Using eth0 device
TFTP from server 192.168.1.70; our IP address is 192.168.1.1
Filename 'openwrt-initframfs.itb'.
Load address: 0x84000000
Loading: Got ARP REPLY, set eth addr (00:e0:4c:5e:ff:f7)
I just tried another computer (Windows) and it seems to be working now. I also have to have initramfs in the file name, otherwise it will not boot properly.
I just got into the web interface, so I'm going to try and fix it now. Thank you.