1 nmrpflash - Netgear Unbrick Utility
2 ====================================
4 This program uses Netgear's [NMRP protocol]
5 (http://www.chubb.wattle.id.au/PeterChubb/nmrp.html)
6 to flash a new firmware image to a compatible device. This utility has been
7 tested with a Netgear EX2700, but is likely to work on many others as well.
9 Prebuilt binaries for Linux, OS X and Windows are available
10 [here](https://github.com/jclehner/nmrpflash/releases).
12 To run `nmrpflash` on Windows, install
13 [WinPcap](https://www.winpcap.org/install/default.htm).
16 Usage: nmrpflash [OPTIONS...]
18 Options (-a, -i and -f are mandatory):
19 -a <ipaddr> IP address to assign to target device
20 -f <firmware> Firmware file
21 -i <interface> Network interface directly connected to device
22 -m <mac> MAC address of target device (xx:xx:xx:xx:xx:xx)
23 -M <netmask> Subnet mask to assign to target device
24 -t <timeout> Timeout (in milliseconds) for regular messages
25 -T <timeout> Time to wait after successfull TFTP upload
26 -p <port> Port to use for TFTP upload
29 -V Print version and exit
30 -L List network interfaces
36 Connect your Netgear router to your computer using a network cable.
37 Assign a static IP address to the network adapter that's plugged into
40 For this example, we'll assume that your network interface is `eth0`.
41 First, we have to assign a static IP address to our network interface.
42 In this example, we'll use `192.168.1.2`. All available network interfaces
47 eth0 192.168.1.2 f2:11:a1:02:03:b1
50 Now we can start `nmrpflash`. The argument for the `-a` option needs
51 to be a *free* IP address from the same subnet as the one used by your
52 network interface. We'll use `192.168.1.254`. The firmware image file
53 can usually be downloaded directly from Netgear's FTP servers.
55 Power on your device immediately after starting `nmrpflash`.
58 $ nmrpflash -i eth0 -a 192.168.1.254 -f EX2700-V1.0.1.8.img
59 Advertising NMRP server on eth0 ... /
60 Received configuration request from a4:2b:8c:00:00:01.
61 Sending configuration: ip 192.168.1.254, mask 255.255.255.0.
62 Uploading EX2700-V1.0.1.8.img ... OK
63 Waiting for remote to respond.
64 Remote finished. Closing connection.
68 ###### "No suitable network interfaces found."
70 If you're *not* on Windows, rerun `nmrpflash -L` using `sudo`. In any case,
71 use `-vvvL` to see more detailed messages, and file a bug report if applicable.
73 ###### "No response after 60 seconds. Bailing out."
75 The router did not respond. Try running `nmrpflash` with `-m` and specify
76 your router's MAC address. It's also entirely possible that your device does
77 not support the NMRP protocol.
79 ###### "Timeout while waiting for 0x04."
81 After a successful file upload, `nmrpflash` waits for up to 120 seconds for an
82 answer from your device. You can increase this by specifying a longer timeout
83 using `-T` switch (argument is in seconds).
85 It's entirely possible that the image was flashed successfully, but the
86 operation took longer than 120 seconds.
88 ### Building and installing
89 ###### Linux, Mac OS X, BSDs
92 $ make && sudo make install
97 The repository includes a
98 [DevCpp](http://sourceforge.net/projects/orwelldevcpp/)
99 project file (`nmrpflash.dev`). Download the latest
100 [WinPcap Developer Pack](https://www.winpcap.org/devel.htm)
101 and extract it into the root folder of the nmrpflash sources.