-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."
+
+The device did not respond to `nmrpflash`'s TFTP upload request. By default,
+`nmrpflash` will assign `10.164.183.252` to the target device, while adding `10.164.183.253`
+to the network interface specified by the `-i` flag. You can use `-a` to change the IP
+address assigned to the target (e.g. if your network is `192.168.1.0/24`, specify a *free*
+IP address, such as `-a 192.168.1.252`), and `-A` to change the IP address used for the
+network interface.
+
+This error message could also indicate a bug in the TFTP code; try using an external tftp
+client (busybox in this example), by specifying the `-c` flag instead of the `-f` flag:
+
+`# nmrpflash -i eth0 -c 'busybox tftp -p -l EX2700-V1.0.1.8.img $IP'`
+
+The environment variable `IP` is set by `nmrpflash` (other environment variables
+are: `MAC`, `PORT`, `NETMASK`).