NETGEAR is aware of a growing number of phone and online scams. To learn how to stay safe click here.

Forum Discussion

Pnurk's avatar
Pnurk
Tutor
May 30, 2019
Solved

Firmware update on R7000P fails; Difficulty using TFTP from Mac

Hi all - haven't found the precise issue here, so I'm posting.   New router here. Last night on the web UI connected by wifi, I got the notification that a firmware update was available. Thinking t...
  • Pnurk's avatar
    Pnurk
    Jun 01, 2019

    Success!   

    Perhaps I was being too rushed previously, but this time I got it to work first try. 

    I'll post steps below.

     

    TL;TR:

    - I used the OSX command line version of TFTP.

    - It took about 40 minutes for the firmware to push to the router.

    - ping was useful to know that my computer was communicating properly w the router. 

    - I put the firmware file at the top level of my user home directory (user folder) 

    - I had no luck w/ the GUI software recommended elsewhere in the forum and officially by netgear. It began the transfer then timed out and failed repeatedly for me and wasted many, many hours. 

     

     

    STEPS

    - set computer to static IP in network settings. Lots of helpful instructions here but don't use their instructions for the tftp part on mac.

    - turn off wifi, connect computer to router using an ethernet cable, to one of the downstream ports NOT the yellow upstream port. You may need an ethernet adapter if your computer does not have an ethernet port. 

    - download the firmware. I placed the firmware file (R7000P-V1.3.1.64_10.1.36.chk here) on the root level of my user directory. In the mac finder, you can navigate to this with keyboard shortcut shift-command-H or by picking "home" under the "go" menu. 

    - open two terminal windows.  One is for Ping, one is for TFTP.

    - in the first terminal, type "ping 192.168.1.1" and watch responses while booting. Once you have a flashing amber power light, ping should also be steadily responding.

    - in the second terminal window, open a TFTP session to the router and once router is booted, begin sending file.

    - it's ok to shut off ping by pressing control-c, or closing the ping window.  

    - if you want to see if data is travelling over the wire, watch the ethernet light on the router. Packets on that wire cause a flash in the light. This will show both ping packets and TFTP packets, so if you want to know your firmware is being sent, turn off ping.

    - there is no status or progress info when transmitting. You simply have to wait. Here it took 40 minutes, on a 2012 macbok pro with gigabit ethernet.

    - if successful, eventually you will see something like "Sent 48996410 bytes in 2249.1 seconds" in the terminal window.

     

     

    TERMINAL TRANSCRIPT OF TFTP SESSION

    mbp:~ ear$
    mbp:~ ear$ tftp 192.168.1.1
    tftp> binary
    tftp> put R7000P-V1.3.1.64_10.1.36.chk
    Sent 48996410 bytes in 2249.1 seconds
    tftp> quit
    mbp:~ ear$

     

    the command "tftp 192.168.1.1" creates the connection.

    the command "binary" causes it to use binary mode

    the command "put R7000P-V1.3.1.64_10.1.36.chk" begins transmitting the firmware

    ****if you see no response, it's probably working****

    to be sure data is being sent, look for flashing on the router's ethernet status light.

     

     

    TERMINAL TRANSCRIPT FOR PING WINDOWN

    Last login: Fri May 31 18:08:23 on ttys000
    mbp:~ ear$ ping 192.168.1.1
    PING 192.168.1.1 (192.168.1.1): 56 data bytes
    Request timeout for icmp_seq 0
    Request timeout for icmp_seq 1
    Request timeout for icmp_seq 2
    Request timeout for icmp_seq 3
    64 bytes from 192.168.1.1: icmp_seq=0 ttl=100 time=4477.386 ms
    64 bytes from 192.168.1.1: icmp_seq=1 ttl=100 time=3473.919 ms
    64 bytes from 192.168.1.1: icmp_seq=5 ttl=100 time=1.665 ms
    64 bytes from 192.168.1.1: icmp_seq=6 ttl=100 time=1.662 ms
    64 bytes from 192.168.1.1: icmp_seq=7 ttl=100 time=1.676 ms
    64 bytes from 192.168.1.1: icmp_seq=8 ttl=100 time=1.664 ms
    Request timeout for icmp_seq 10
    Request timeout for icmp_seq 11
    Request timeout for icmp_seq 12
    Request timeout for icmp_seq 13
    Request timeout for icmp_seq 14
    Request timeout for icmp_seq 15
    Request timeout for icmp_seq 16
    Request timeout for icmp_seq 17
    Request timeout for icmp_seq 18
    Request timeout for icmp_seq 19
    Request timeout for icmp_seq 20
    Request timeout for icmp_seq 21
    Request timeout for icmp_seq 22
    Request timeout for icmp_seq 23
    64 bytes from 192.168.1.1: icmp_seq=24 ttl=100 time=4.522 ms
    64 bytes from 192.168.1.1: icmp_seq=25 ttl=100 time=1.690 ms
    64 bytes from 192.168.1.1: icmp_seq=26 ttl=100 time=1.653 ms
    64 bytes from 192.168.1.1: icmp_seq=27 ttl=100 time=2.079 ms
    64 bytes from 192.168.1.1: icmp_seq=28 ttl=100 time=1.679 ms
    64 bytes from 192.168.1.1: icmp_seq=29 ttl=100 time=1.653 ms
    64 bytes from 192.168.1.1: icmp_seq=30 ttl=100 time=1.686 ms
    64 bytes from 192.168.1.1: icmp_seq=31 ttl=100 time=1.612 ms
    64 bytes from 192.168.1.1: icmp_seq=32 ttl=100 time=1.643 ms
    64 bytes from 192.168.1.1: icmp_seq=33 ttl=100 time=2.083 ms
    64 bytes from 192.168.1.1: icmp_seq=34 ttl=100 time=1.635 ms


    ...etc