Posted: Sun Dec 15, 2013 5:29 Post subject: Serial cable connection WNDR4000
Okay, I flashed my Netgear WNDR4000 with dd-wrt.v24-23082_NEWD-2_K2.6_mega-nv64k.bin the other day and it bricked to the point that there are no ping responses whatsoever. I checked for pings during and after 30-30-30 as well as power cycle. Also tried the boot with reset button down and then tried to connect via browser. No dice. I'm pretty certain it's going to require a serial cable. Anyway, I'm a little unsure how to identify tx, rx and ground. Here's a picture of my board:
It looks like the serial pinout is the JP1 box just below the heat sink in the picture. Pin #1 is toward the bottom of the JP1 box and marked in red. Pin #6 is toward the top and marked in black.
I put my ohmmeter on each of the six pins and measured it against the negative pole on the power jack. All measurements where infinite. I assumed when I found ground, it would read zero. This is my first conundrum.
With the board powered up, I checked the voltage between each possible pair of connections within JP1 box and they were all zero. When comparing each of the connections with the ground at the power jack, I got 3.3V at pins 1, 2, and 5. The others were zero.
...but this info is not jiving well with what I'm measuring. Or at least I'm not make making sense of it correctly. I'm inclined to think that it's:
JP1-1: VCC
JP1-2: Rx (input to router)
JP1-5: Tx (output from router)
JP1-6: GND
Thoughts?
Last edited by notorious.dds on Sun Dec 15, 2013 19:36; edited 1 time in total
It appears that the solder on the JP1-6 joint doesn't go all the way through my PCB. I tested the joint from the backside of the board and was able to verify that it is indeed the ground.
So now the issue is, what's tx and rx? The openwrt.org wiki says that rx should be at 0V, but the post in the openwrt.org forum says that rx is JP1-2 which reads 3.3V for me.
I think you have the VCC and GND reversed but it is difficult to see now that they have a black and red blob on them.
Look at the neighbour pad field which is for jtag.
6 pads completely solder filled and isolated from the copper plane around them, these are the jtag signals.
6 pads partially solder filled and you can see that they are connected with a "+" to the copper plane, these are jtag ground.
This also tells us that the copper plane on this side of the pcb is the gnd copper plane and the copper plane on the backside of the pcb is the VCC copper plane.
The jtag field has pin 1 marked, the white 1 silkscreened just outside of the field, so the serial pad field ought to have pin 1 in the same direction. It is common pcb design practise to count in the same direction.
So look at the pads in the serial field, you should be able to see which one is GND and which one is VCC by visual inspection. You can confirm it afterwards with the multimeter. _________________ Kernel panic: Aiee, killing interrupt handler!
Here's a better image:
JP1-6 is definitely the ground. I just had to apply the ohmmeter from the back of the board because there's no solder on JP1-6 from the front side of the board.
So, if 1, 2, and 5 all have 3.3V, how do I go about determining rx and tx?
Thanks!
Last edited by notorious.dds on Sun Dec 15, 2013 19:22; edited 1 time in total
ok, jp1-6 is GND and jp1-1 is most likely VCC.
it should be connected to the backside copper plane in similar manner as jp1-6 is connected on the frontside.
Both the rx and tx lines can have a pull-up resistor to VCC in which case they will both measure 3.3V.
There is no danger in connecting tx to tx for a short time so just solder the wires and turn on the router while watching your terminal screen. If you don't see any output within 1-2 secs after turning on router then reverse the rx and tx wires.
Be aware that you need a serial cable with TTL levels and not a normal RS-232 computer serial cable which has +- 12V levels. _________________ Kernel panic: Aiee, killing interrupt handler!
Alright, thanks for the help LOM. I've ordered my USB to ttl adapter. Once it arrives and I hook it up, I'll update the post. However, it could be a week or two before that happens.
I got the TTL-USB connected to PC and saw the console output which means Tx and GND is correct. The problem I have now is I can't stop CFE by hitting CTRL-C(in crazy speed). I also tried to connect JP1-4 as Rx but same result.
I apologize for the quality of images in this post. My good camera is on a trip and the camera on my phone just sucks. Anyway...
Here's what I ended up doing:
1. I did my soldering from the backside of the board because the ground contact for the serial connection (aka JP1-6) didn't even come all the way through to the front of the board - see image in previous post.
2. Even from the back side, I couldn't seem to get the ground soldered properly to JP1-6 so I just soldered it to the great big pin coming off the power jack.
3. The desired contacts are:
Rx = JP1-2 (connect to Tx on your TTL adapter - white in my pic)
Tx = JP1-5 (connect to Rx on your TTL adapter - green in my pic)
Ground = JP1-6
Here's a better image (Thanks goes to dynek!)
4. Follow instructions in the dd-wrt "serial recovery" wiki up to the point of hitting the "go" command.
5. Upon issuing the go command, it did it's thing and then go stuck at "Reading ::" For whatever reason, it was trying to receive the flash file via TFTP again. Not sure why. Anyway, I just sent it a second time and that did the trick. After sending the file the again, I just had to give it a minute and it was up and running.
Last edited by notorious.dds on Sat Mar 08, 2014 0:49; edited 2 times in total
Posted: Thu Jan 09, 2014 4:05 Post subject: Re: Bricked WNDR4000v1
junkleo wrote:
I got the TTL-USB connected to PC and saw the console output which means Tx and GND is correct. The problem I have now is I can't stop CFE by hitting CTRL-C(in crazy speed)
I had this same problem at first. It turns out that the TTL adapter I was using was crap. (It was was one of those cheap CA-42 cables from Ebay). At any rate, if you just twist the tx and rx wires from your adapter together (leave ground disconnected), you should be able to type and have whatever you type come back up in your serial console. If it doesn't, your adapter may be bad or you've got something configured improperly.
I ended up buying a real TTL adapter (not modified phone cable) and that fixed the issue. It was < $10.
Posted: Thu Jan 09, 2014 6:37 Post subject: Re: Bricked WNDR4000v1
notorious.dds wrote:
I had this same problem at first. It turns out that the TTL adapter I was using was crap. (It was was one of those cheap CA-42 cables from Ebay). At any rate, if you just twist the tx and rx wires from your adapter together (leave ground disconnected), you should be able to type and have whatever you type come back up in your serial console. If it doesn't, your adapter may be bad or you've got something configured improperly.
I ended up buying a real TTL adapter (not modified phone cable) and that fixed the issue. It was < $10.
Already tried that by twisting Tx and Rx and it worked for typing. On the back there two connect points beneath JB1, I may try to use them for Rx as the last resort.
I got the TTL-USB connected to PC and saw the console output which means Tx and GND is correct. The problem I have now is I can't stop CFE by hitting CTRL-C(in crazy speed). I also tried to connect JP1-4 as Rx but same result.
Any help?
Thanks.
This is definitely not a regular WNDR4000V1 at least none that can be bought.
I can tell by the board id that is printed on your PCB.
Posted: Thu Jan 09, 2014 15:37 Post subject: Re: Bricked WNDR4000v1
junkleo wrote:
Already tried that by twisting Tx and Rx and it worked for typing. On the back there two connect points beneath JB1, I may try to use them for Rx as the last resort.
Did you check the voltages of the contacts to which your assuming are Rx and Tx? In my case, there were 6 contacts. 1 was ground. From the other 5, 2 of them had voltages of 3.3 V between themselves and ground. The other 3 had zero. The 2 contacts that had the 3.3 Volts were the Rx and Tx. So if you got Tx, the Rx should read 3.3 Volts on your voltmeter.
I've read that Rx is supposed to read 0, but this wasn't true in my case.
Posted: Thu Jan 09, 2014 18:39 Post subject: Re: Bricked WNDR4000v1
notorious.dds wrote:
junkleo wrote:
Already tried that by twisting Tx and Rx and it worked for typing. On the back there two connect points beneath JB1, I may try to use them for Rx as the last resort.
Did you check the voltages of the contacts to which your assuming are Rx and Tx? In my case, there were 6 contacts. 1 was ground. From the other 5, 2 of them had voltages of 3.3 V between themselves and ground. The other 3 had zero. The 2 contacts that had the 3.3 Volts were the Rx and Tx. So if you got Tx, the Rx should read 3.3 Volts on your voltmeter.
I've read that Rx is supposed to read 0, but this wasn't true in my case.
Yes, I checked all three contracts are around 3.3V. It is refurbished one, and took v1 firmware. I may just give up and get another one since it is $60 @ newegg now.
notorious.dds! Genius! Thanks a lot for this! Worked first go on my WNDR4000, which has the pins on the JP1 serial interface already so no soldering required!
notorious.dds! Genius! Thanks a lot for this! Worked first go on my WNDR4000, which has the pins on the JP1 serial interface already so no soldering required!
Thanks Blew! Glad it worked for you. Gotta give credit to LOM. His help was critical for me.