I run a TFTP server on my TrueNAS CORE NAS pointing to a particular folder just for the purpose of re-flashing router firmware. Google search for a TFTP server for your specific host OS.
I find it easier to pull the firmware image than push it from some OEM tool/application.
I don't have a Netgear, but Linksys U-boot should be similar.
Open up router and connect serial console. Set the baud rate to 115200, 8N1
Power up router
Hit enter at Hit any key to stop autoboot: 2 1 0
Connect LAN cable between router and your network. Some routers specifically use LAN1 for TFTP.
env print to find the environment variables for ipaddr, netmask, serverip, and something pointing to the default firmware image name.
setenv ipaddr {ip address}
setenv netmask 255.255.255.0
setenv serverip {tftp server ip}
setenv {firmware env variable} {filename.extension on your tftp server}
ping {tftp server ip}
run flash_pri_image # or run flash_sec_image or run update_both_images
This is the default IP address of the TFTP server. Do you have one set up?
You need to PING the IP of the TFTP server, not the router itself
This looks like a mangled command. There should be an environment variable with the default image name. Either name the file the same on your TFTP server or use the setenv command to change the filename it looks for.
Hit any key to stop autoboot: 0
IPQ807x#
IPQ807x#
IPQ807x#
IPQ807x#
IPQ807x# env print
baudrate=115200
bootargs=console=ttyMSM0,115200n8
bootcmd=mii write 0x4 0x0 0x800; sleep 1; nmrp; echo Loading DNI firmware for checking...; loadn_dniimg 0 0x1980000 0x44000000; calc_rootadd 0x1980000 0x44000000; iminfo 0x44000000; if test $? -ne 0; then echo linux checksum error; fw_recovery; fi;iminfo $rootfs_addr_for_fw_checking; if test $? -ne 0; then echo rootfs checksum error; fw_recovery; fi;nand read 0x44000000 0x1980000 0x06400000; dnibootm
bootdelay=2
eth1addr=38:94:ed:ae:65:6
eth2addr=38:94:ed:ae:65:7
eth3addr=ff:ff:ff:ff:ff:ff
eth4addr=31:30:32:31:34:32
eth5addr=31:33:35:56:45:33
ethact=eth0
ethaddr=38:94:ed:ae:65:5
fdtcontroladdr=4a959a30
ipaddr=192.168.1.1
machid=8010000
netmask=255.255.255.0
serverip=192.168.1.10
stderr=serial@78B3000
stdin=serial@78B3000
stdout=serial@78B3000
Environment size: 842/262140 bytes
IPQ807x# setenv
setenv - set environment variables
Usage:
setenv [-f] name value ...
- [forcibly] set environment variable 'name' to 'value ...'
setenv [-f] name
- [forcibly] delete environment variable 'name'
IPQ807x# setenv rax120.img
IPQ807x# ping 192.168.1.10
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
Using eth0 device
ARP Retry count exceeded; starting again
ipq807x_eth_halt: done
ping failed; host 192.168.1.10 is not alive
IPQ807x# <INTERRUPT>
IPQ807x# tftpput
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
*** Warning: no boot file name; using 'C0A80101.img'
Using eth0 device
TFTP to server 192.168.1.10; our IP address is 192.168.1.1
Filename 'C0A80101.img'.
Save address: 0x0
Save size: 0x0
Saving: *
ARP Retry count exceeded; starting again
ipq807x_eth_halt: done
IPQ807x# <INTERRUPT>
IPQ807x# ping 127.0.0.1
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
Using eth0 device
## Warning: gatewayip needed but not set
## Warning: gatewayip needed but not set
## Warning: gatewayip needed but not set
ipq807x_eth_halt: done
Abort
ping failed; host 127.0.0.1 is not alive
IPQ807x# setenv gateway 192.168.1.1
IPQ807x# ping 127.0.0.1
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
Using eth0 device
## Warning: gatewayip needed but not set
## Warning: gatewayip needed but not set
ipq807x_eth_halt: done
Abort
ping failed; host 127.0.0.1 is not alive
IPQ807x# setenv gatewayip 192.168.1.1
IPQ807x# ping 127.0.0.1
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
Using eth0 device
ARP Retry count exceeded; starting again
ipq807x_eth_halt: done
ping failed; host 127.0.0.1 is not alive
IPQ807x# ping 192.168.1.10
ipq807x_eth_halt: done
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 :10 Full duplex
eth0 PHY4 Down Speed :10 Half duplex
10M speed not supported
ipq807x_eth_init: done
Using eth0 device
ARP Retry count exceeded; starting again
ipq807x_eth_halt: done
ping failed; host 192.168.1.10 is not alive
IPQ807x#
port 1 on the router is plugged into a gigabit connection. Forced to 100 or 1000 it just will not connect at all. only 10m. I have already change ethernet cables. tried changing to a different port on switch. nothing wants to work. will try a dummy switch in a moment.
Form the environment variables it does not appear Netgear U-boot supports pulling the firmware. You have to push it from the TFTP server like you have been trying, but you have to get past getting a working LAN connection from the router and your TFTP server.
Just got it to at least attempt at booting from USB. idk what I can put on the usb drive that would allow usb booting.
Hit any key to stop autoboot: 0
IPQ807x#
IPQ807x#
IPQ807x# usb start
starting USB...
USB0: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus 0 for devices... 1 USB Device(s) found
USB1: Register 2000140 NbrPorts 2
Starting the controller
USB XHCI 1.10
scanning bus 1 for devices... 2 USB Device(s) found
IPQ807x# usb dev 0
USB device 0:
Device 0: Vendor: PNY Rev: 1100 Prod: USB 2.0 FD
Type: Removable Hard Disk
Capacity: 7788.3 MB = 7.6 GB (15950592 x 512)
... is now current device
IPQ807x# usbboot dev 0
Loading from usb device 0, partition 1: Name: usbda1 Type: U-Boot
data abort
pc : [<4a92edfa>] lr : [<4a9010a9>]
reloc pc : [<4a92edfa>] lr : [<4a9010a9>]
sp : 4a77f668 ip : 4a77f618 fp : 00000024
r10: 00000002 r9 : 4a77fea0 r8 : 4a78b820
r7 : 4a78d5e0 r6 : 00000002 r5 : 4a78d5e0 r4 : 4a788e40
r3 : 00000001 r2 : 00009d1d r1 : 00000000 r0 : 00000000
Flags: nZCv IRQs off FIQs off Mode SVC_32
Resetting CPU ...
resetting ...
And then it goes on to boot looping as usual.
If USB booting will not do either, then I am going to try to RMA it to netgear for fun. just to see if they are willing to do anything.
The only other option is to try TFTP boot the file off your TFTP server. Of course this assumes you have a working connection between router and TFTP server
Have you tried help command ? You will get all command of your uboot !
Have you tried to reset uboot env settings with env defaults -a ? This will get the env beeing all reset to the default from uboot…
Make a backup with printenv BEFORE !
It looks like your in a factory mode…
You tried to boot from usb with usbboot, not load any uboot or firmware…
Where do you get the firmware you want to flash ?
Is there any official recovery procedure ?
You may try to load from usb the firmware.img to this address with load usb command (use help to find the correct parameters, help and help load or loadfat or …)
Then use bootm or bootm 0x44000000 to load and boot into the image…
May be incorrect but give it a try…
It depends if the img given by NetGear is flashable or bootable !
Your device is still booting to OpenWrt ?
You can interrupt the OpenWrt boot with f + return when prompted to :
[ 8.473973] init: - preinit -
Press the [f] key and hit [enter] to enter failsafe mode
Press the [1], [2], [3] or [4] key and hit [enter] to select the debug level
Before mount_root
The reset to factory mode of OpenWrt !
Reboot and test…
Read the thread more carefully. Cannot do TFTP transfer or recovery if ports are stuck at 10mbps.
I will try the your uboot commands though. it looks like it might get me some where. As for the USB drive, I just copied the factory stock firmware on the flash drive and made an attempt to boot it. Of course, it did not work. was worth a try though.
I want to remind you, I am a feeble person. weakest of the weak. Like, "I use windows 10 as my main operating system" weak.
Specifically "hehe video games" weak.
More specifically, "I have a job where I sometimes work full days at my WISP job and only care to watch shows and listen to music off the NAS thats attached to my router running in AP mode" weak.
So right after you start talking about some hexadecimal stuff, I am going to have to ask you to help me learn how to modify/do this stuff. I have tried to learn it, but it seems like I have to be running linux just to do it.
Also, I tried to interrupt the openwrt boot process but I keep missing it.