X-Git-Url: https://git.librecmc.org/?a=blobdiff_plain;f=README.md;h=7b129fab91901fe7e69578d8132bc13dd85d34b8;hb=442f74b2d67d6ef0753da0c38a1bbb6c3d032805;hp=bddac08972a071cb005feccf4bae7995203fa3fb;hpb=9ed97f702cadef4fa2c6176bd3165a79d0aa72c8;p=oweals%2Fnmrpflash.git diff --git a/README.md b/README.md index bddac08..7b129fa 100644 --- a/README.md +++ b/README.md @@ -3,26 +3,27 @@ nmrpflash - Netgear Unbrick Utility `nmrpflash` uses Netgear's [NMRP protocol](http://www.chubb.wattle.id.au/PeterChubb/nmrp.html) to flash a new firmware image to a compatible device. It has been successfully used on a Netgear -EX2700, DNG3700v2 and R6220, R7000, D7000, WNR3500L, R6800, but is likely to be compatible with many -other Netgear devices. +EX2700, EX6120, EX6150v2, DNG3700v2, R6220, R7000, D7000, WNR3500, R6400 and R6800, WNDR3800, but is likely to be compatible +with many other Netgear devices. Prebuilt binaries for Linux, ~OS X~ macOS and Windows are available [here](https://github.com/jclehner/nmrpflash/releases) -([WinPcap](https://www.winpcap.org/install/default.htm) is required on Windows). +([Npcap](https://nmap.org/npcap/) is required on Windows). ``` Usage: nmrpflash [OPTIONS...] -Options (-i and -f and/or -c are mandatory): +Options (-i, and -f or -c are mandatory): -a IP address to assign to target device - -A IP address to assign to interface + -A IP address to assign to selected interface + -B Blind mode (don't wait for response packets) -c Command to run before (or instead of) TFTP upload -f Firmware file -F Remote filename to use during TFTP upload -i Network interface directly connected to device -m MAC address of target device (xx:xx:xx:xx:xx:xx) -M Subnet mask to assign to target device - -t Timeout (in milliseconds) for regular messages + -t Timeout (in milliseconds) for NMRP packets -T Time (seconds) to wait after successfull TFTP upload -p Port to use for TFTP upload -R Set device region (NA, WW, GR, PR, RU, BZ, IN, KO, JP) @@ -53,9 +54,10 @@ immediately after starting `nmrpflash`. # nmrpflash -i eth0 -f EX2700-V1.0.1.8.img Advertising NMRP server on eth0 ... / Received configuration request from a4:2b:8c:00:00:01. -Sending configuration: ip 10.164.183.252, mask 255.255.255.0. +Sending configuration: 10.164.183.252/24 Received upload request: filename 'firmware'. -Uploading EX2700-V1.0.1.8.img ... OK +Uploading EX2700-V1.0.1.8.img ... +Upload successful. Waiting for remote to respond. Remote finished. Closing connection. Reboot your device now. @@ -74,8 +76,10 @@ packages (exact names will vary depending on your distribution). ###### "The program can't start because wpcap.dll is missing" (Windows) -On Windows 8.1 and older, install [WinPcap](https://www.winpcap.org/install/default.htm). -On Windows 10, install [Npcap](https://nmap.org/npcap/) (be sure to select "WinPcap Compatibility"). +Install [Npcap](https://nmap.org/npcap/). For `nmrpflash` versions prior +to 0.9.14, install Npcap with "WinPcap Compatibility" enabled. + +Version 0.9.13 is the last version to support Windows XP. ###### "No suitable network interfaces found." @@ -90,9 +94,20 @@ C:\> net start npf ###### "No response after 60 seconds. Bailing out." -The router did not respond. Try rebooting the device and run `nmrpflash` again. -You could also try running `nmrpflash` with `-m` and specify your router's -MAC address. It's also possible that your device does not support the NMRP protocol. +The router did not respond. Always run `nmrpflash` in the following +manner: + +* Turn off the router. +* Run `nmrpflash`. +* Turn on the router. + +If that still doesn't work, you can try "blind mode", which can be +invoked using `-B`. Note that you also have to specify your router's +mac address using `-m xx:xx:xx:xx:xx:xx`. Also beware that in this mode, +careful timing between running `nmrpflash` and turning on the router may +be required! + +It's also possible that your device does not support the NMRP protocol. ###### "Timeout while waiting for ACK(0)/OACK." @@ -143,6 +158,36 @@ for example: This will execute the command specified by `-c` prior to starting the TFTP upload (in this case setting the IP address to 192.168.1.2). +###### "Received keep-alive request." + +This usually means that flashing is in progress. On some devices, you may get a few +hundred keep-alive requests before it eventually finishes! + +###### "TFTP block rollover. Upload might fail!" + +By default, file transfers using TFTP are limited to `65535 * 512` bytes +(almost 32 MiB). Uploading files exceeding this limit might fail, depending +on the device. + +###### "Ignoring extra upload request." + +Extraneous upload requests are usually sent by the device if the image validation +failed. Some possible causes are: + +* If you downloaded a firmware that's contained in an archive (a `.zip` for +example), you must extract this file, and then use the contained firmware file +as the argument to the `-f` parameter. Some examples for file extensions used +for firmware: `.chk`, `.bin`, `.trx`, `.img`. + +* Some devices prevent you from downgrading the firmware. See if it works with +the latest version available for your device. If you're already using the latest +version, it might be possible to patch the version info of the firmware file. A +future version of `nmrpflash` might incorporate an auto-patch feature for these +cases. + +* Your device might expect a different image format for `nmrpflash` than when +flashing via the web interface. + ### Building and installing ###### Linux, Mac OS X, BSDs @@ -155,8 +200,13 @@ $ make && sudo make install The repository includes a [DevCpp](http://sourceforge.net/projects/orwelldevcpp/) project file (`nmrpflash.dev`). Download the latest -[WinPcap Developer Pack](https://www.winpcap.org/devel.htm) -and extract it into the root folder of the nmrpflash sources. +[Npcap SDK](https://nmap.org/npcap/) +and extract it into the root folder of the `nmrpflash` sources. + +### Donate +You can [buy me a coffee](https://www.buymeacoffee.com/jclehner) if you want, but please consider +donating the money for charity instead - [Médecins Sans Frontiers](https://www.msf.org/donate) comes to mind, +but any other organization, local or international, that you think deserves support will do. Thank you!