jclehner / nmrpflash

Netgear Unbrick Utility
GNU General Public License v3.0
846 stars 118 forks source link

r6700 config request loop #50

Closed bsoali closed 4 years ago

bsoali commented 4 years ago

hi, i am very inexperienced with any sort of coding. i'm going to try to give a lot of info mostly because i'm not sure what is important. i bricked my r6700 router somehow while doing a regular update. i am trying to transfer the official current firmware to my router. i am running cmd in admin mode in windows 10. i've set the net2 ip address to static 192.168.1.2 (although i don't really understand the -a and -A commands). here's what happens right now

nmrpflash -vvv -i net2 -f R6700-V1.0.2.16_10.0.57.chk -t 10000 -T 10000
net2: \Device\NPF_{56ECE67A-0AA7-4D25-8615-13FC873CF13B}
Adding 10.164.183.253 to interface net2.
Advertising NMRP server on net2 ... \
Received TFTP_UL_REQ while waiting for CONF_REQ!
Received upload request without filename.
Using remote filename 'R6700-V1.0.2.16_10.0.57.chk'.
Uploading R6700-V1.0.2.16_10.0.57.chk ... << WRQ(R6700-V1.0.2.16_10.0.57.chk, octet)
>> ACK(0)
<< DATA(1)
>> ACK(1)
<< DATA(2)
....
<< DATA(62017)
>> ACK(62017)
OK
Waiting for remote to respond.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Received configuration request from 28:80:88:1e:91:c9.
Sending configuration: 10.164.183.252/24.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Received CONF_REQ while waiting for TFTP_UL_REQ!
Received configuration request from 28:80:88:1e:91:c9.
Sending configuration: 10.164.183.252/24.

i've been running this with my router on, waiting for the advertising line, then turning off the router for 30 seconds, and then turning it back on. i can't start the command with my router off. i previously managed to get

Received TFTP_UL_REQ while waiting for CONF_REQ!
Received upload request without filename.
Uploading R6700-V1.0.2.16_10.0.57.chk ... OK
Waiting for remote to respond.
Received configuration request from 28:80:88:1e:91:c9.
Sending configuration: 10.164.183.252/24.
Timeout while waiting for TFTP_UL_REQ.

which at least received the TFTP_UL_REQ (but in the wrong order i guess?) but i lost the command i used to get the output and haven't been able to replicate it. thanks for any help! i appreciate the work you've put into this. (also i don't think i've seen my specific issue in these posts, but i may have missed one that applies here)

bsoali commented 4 years ago

also! coming from someone who is very inexperienced, i have a few suggestions for the readme.

i didn't even know how to change the directory in order to use nmrpflash. i saw that you addressed that in a closed issue, but it would be nice if instructions (or a link to- the wikihow page is down too) were added in an easier to find place. certain linux specific commands (ifconfig and sudo are the ones i can remember) are used without specifying that they are unique to linux which confused me when i tried to use them in windows. lastly, in the common issues section of the readme, it says:

Specify the address of the router, and address of your computer, using -A and -a.

the order that the commands vs. what they are actually assigning here is confusing. i originally read it as specify the address of the router (using -A) and the address of the computer (using -a)

thanks again

jclehner commented 4 years ago

Hi, thanks for the feedback, I'll try to make the readme more accomodating for inexperienced users.

i've set the net2 ip address to static 192.168.1.2

In that case, use -a 192.168.1.1. This tells nmrpflash the IP address of the router. In short, having configured your computer to use a static IP of 192.168.1.2, please try the following command, and post its output:

nmrpflash -vvv -i net2 -a 192.168.1.1 -f R6700-V1.0.2.16_10.0.57.chk -t 10000 -T 10000 
jclehner commented 4 years ago

If you still get "Ignoring extra upload request." messages, please try this file instead.

bsoali commented 4 years ago

hi, i'm getting the same output as before:

nmrpflash -vvv -i net2 -a 192.168.1.1 -f R6700-V1.0.2.1610.0.57.chk -t 10000 -T 10000 net2: \Device\NPF{56ECE67A-0AA7-4D25-8615-13FC873CF13B} Advertising NMRP server on net2 ... \ Received configuration request from 28:80:88:1e:91:c9. Sending configuration: 192.168.1.1/24. Received upload request without filename. Using remote filename 'R6700-V1.0.2.16_10.0.57.chk'. Uploading R6700-V1.0.2.16_10.0.57.chk ... << WRQ(R6700-V1.0.2.16_10.0.57.chk, octet) ACK(0) << DATA(1) ACK(1) << DATA(2) ... << DATA(62016) ACK(62016) << DATA(62017) ACK(62017) OK Waiting for remote to respond. Ignoring extra upload request. Ignoring extra upload request. Ignoring extra upload request. Ignoring extra upload request. Received configuration request from 28:80:88:1e:91:c9. Sending configuration: 192.168.1.1/24. Ignoring extra upload request.

the file you've linked for me to try is giving me a 404

jclehner commented 4 years ago

the file you've linked for me to try is giving me a 404

Please try this version of nmrpflash instead, and use the -S option:

nmrpflash -vvv -i netX -a 192.168.1.1 -f R6700-V1.0.2.16_10.0.57.chk -t 10000 -T 10000 -S 58

Note that the interface name will have changed, so run nmrpflash -L before starting the command above, and replace netX accordingly.

The -S option will skip the first 58 bytes (i.e. the header) of the firmware file.

bsoali commented 4 years ago

same thing is happening. interestingly it doesn't look like it's skipping the header upload even with the -S option.

nmrpflash -vvv -i net7 -a 192.168.1.1 -f R6700-V1.0.2.16_10.0.57.chk -t 10000 -T 10000 -S 58 Advertising NMRP server on net7 ... / Received configuration request from 28:80:88:1e:91:c9. Sending configuration: 192.168.1.1/24. Received upload request without filename. Using remote filename 'R6700-V1.0.2.16_10.0.57.chk'. Uploading R6700-V1.0.2.16_10.0.57.chk ... << WRQ(R6700-V1.0.2.16_10.0.57.chk, octet) ACK(0) << DATA(1) ACK(1) << DATA(2) ACK(2) ... ACK(62015) << DATA(62016) ACK(62016) << DATA(62017) ACK(62017) OK Waiting for remote to respond. Ignoring extra upload request. Ignoring extra upload request. Ignoring extra upload request. Ignoring extra upload request. Received configuration request from 28:80:88:1e:91:c9. Sending configuration: 192.168.1.1/24.

jclehner commented 4 years ago

interestingly it doesn't look like it's skipping the header upload even with the -S option.

You won't notice it doing so, unless this changes the TFTP block count (62017 in your case).

The "Ignoring extra upload request." messages indicate that the device rejects the supplied image file for some reason. Please try this file instead. I've modified the image's version code to 1.0.2.16_10.0.58, in case the device won't accept an image file with the same version as the one already installed!

bsoali commented 4 years ago

hi, that file link is giving me a 404

jclehner commented 4 years ago

Try this instead.

jclehner commented 4 years ago

Any update on this? Did it work?

bsoali commented 4 years ago

not yet, same thing is happening

> nmrpflash -vvv -i net7 -a 192.168.1.1 -f R6700-V1.0.2.16_10.0.57_mod.chk -t 10000 -T 10000 -S 58
Advertising NMRP server on net7 ... \
Received TFTP_UL_REQ while waiting for CONF_REQ!
Received upload request without filename.
Using remote filename 'R6700-V1.0.2.16_10.0.57_mod.chk'.
Uploading R6700-V1.0.2.16_10.0.57_mod.chk ... << WRQ(R6700-V1.0.2.16_10.0.57_mod.chk, octet)
>> ACK(0)
..
<< DATA(62017)
>> ACK(62017)
OK
Waiting for remote to respond.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Ignoring extra upload request.
Received configuration request from 28:80:88:1e:91:c9.
Sending configuration: 192.168.1.1/24.
Ignoring extra upload request.
jclehner commented 4 years ago

I forgot to mention, don't use -S 58 with the modified file!

egavard commented 4 years ago

Hello @jclehner I have the same router than @bsoali I also have the same errors. I tried with modified settings (-T -t), I tried with your firmware, and it still loops. I tried to fix IPs on my Mac and provided -a 10.0.0.1 -A 10.0.0.2 settings as well.

I wasn't able to test your 0.9.15-rc1 version of nmrpflash as I was on my mac. At the moment, my router is still bricked. Hope you'll be able to find a way, and I'm available to test

krgoblue commented 4 years ago

image

Hi @jclehner - didn't want to open a new issue as I have the same router as these two. I also do time out if I do it at router power on, I've found the only way I generate a response from the command is booting with factory reset and then I end up receiving the last error you see here. I've tried a bunch of different approaches (including blind mode with mac address), but this was the only method I saw some communication between my computer and the router.

luisgarcia87 commented 4 years ago

image

Hi @jclehner - didn't want to open a new issue as I have the same router as these two. I also do time out if I do it at router power on, I've found the only way I generate a response from the command is booting with factory reset and then I end up receiving the last error you see here. I've tried a bunch of different approaches (including blind mode with mac address), but this was the only method I saw some communication between my computer and the router.

The first run of NMRP, will give an error “Timeout while waiting for TFTP_UL_REQ”, → immediately run nmrp again (to do this quickly press UP arrow key and then press enter)

jclehner commented 4 years ago

@luisgarcia87 @krgoblue Please open a new thread. The R6700v3 is not the same device as the R6700. Often, devices differ substantially between different hardware iterations!

Having said that, please try these instructions as well.

jclehner commented 4 years ago

@egavard @bsoali Are you 100% sure that this is an R6700[v1], and not v2 or v3? Versions will not be compatible between these devices, which would be the simplest explanation why nmrpflash doesn't work.

egavard commented 4 years ago

@jclehner Indeed, it's a v3. Please accept my apologies from interfering in this PR.

If that can help other people, I was able to flash with original r6700v3 firmware (latest offcial) one with nmrpflash. From there, I was able to access console, downgrade to 1.1.0.52 via GUI. From the 1.1.0.52, I was able to install freshtomato r6700v3 initial via GUI. And then, fresh tomato AIO via freshtomato GUI.

bsoali commented 4 years ago

ah i feel dumb- had been checking the box to find the model version number, which it doesn't have, so i assumed it was v1 instead of checking the router itself which confirms it's a v3. flashed the v3 firmware successfully- as a side note, i never received

Remote finished. Closing connection. Reboot your device now.

after 44 keep-alive requests and waiting about 15 minutes, i decided to restart the router anyway and it worked! thanks so much for your help (i'm sorry that i wasted your time not checking the router version ;-; )