Bricked LinkSys WRT1900AC V1

Hey guys, I bricked my LinkSys wrt1900ac v1 mamba's both partitions. I bought a CP2102 USB to TTL converter and fired up my Arch Linux and went on a journey to try to restore this. As soon as I Set up everything correctly I launched putty with a console and i could successfully stop the boot and run those setenv commands, i ran update_both_images command and it couldn't upload firmware through tftp-hpa, Instead of resulting in a error it continued flashing a blank image to both partitions. I had to close everything then I tried it on a windows 7 VM. Now for the life of me i cannot figure out why i cannot get any output from the serial console on windows & linux both. eSATA and Power lights are static if I start up the router with USB to TTL converter connected. If I remove the converter and fire up the router it goes into bootloop again meaning it continues flashing eSATA light and is in a loop, I even tried connecting USB to TTL converter as soon as I fire up the router to no avail, I get no output in the serial console.

....just a shot in the dark....

  • make sure you're using USB2.0 on the computer
  • try a different computer
  • try slowing the baud down to 57600 or 56000
  • ohm it out to make sure nothing is shorted or open
  • if the console isn't producing any data maybe the tx and rx are swapped?

tx and rx aren't swapped they are placed correctly.
i will try all the others steps and report back.
thanks for responding

Well, I left my router off for the night after I tried everything i could. Then I just tried plugging my cp2102 again and boom it worked. Sometimes all you need is a little patience.

2 Likes

Also note devices could be any of 5v, 3.3v, 2.5v, or 1.5v signal level on their serial port.

CP2102 appears to support only 3.3v (quick google search, I am not an expert on USB-serial chips, or how your adapter was built if different than the datasheet example circuit / reference board)

You should never, ever, hook up the VCC pin, only the two signal pins and the ground, when the adaptor is powered by USB. Some old adaptors got their power from the target device, such and the old 9-pin-serial types, because old serial ports didn't have a power feed at all. Those devices sometimes level shifted to whatever the VCC level it was being fed was ("auto" ranging).

If your router speaks 5v and your adapter is 3.3v there could be either flaky communications or none at all, and if your adapter is 5v but the router is less you could fry the serial port forever.

I got a FT232RL adapter which has jumpers to select the four different voltage levels, so it will work for any device and I can begin with the lowest and switch it up until there is clean communication. Voltages are not usually advertised same as most of the time the pins aren't labelled either. Sometimes you can probe around and figure out what voltages it "probably" wants, such as watching the RX pin during a boot cycle with an oscilloscope to figure out its peak-to-peak (normal voltmeter can't track a moving signal, they will pick up an average signal so 3.3v could look like 2.5v or 5v could look like 3.3v). Sometimes (maybe even usually) it matches the VCC pin, sometimes it doesn't though.

But if your device is actually 5v, and the CP2102 is 3.3v, you might get communications sometimes, but it should be fairly unreliable especially at higher speeds. It should be pretty safe for everything involved if the adapter is whispering 3.3v into a 5v port (as opposed to screaming 5v into a 1.8v device for example).

So the hardware info page for that model doesn't show a serial voltage, but the Marvell SoC datasheet for the main chip the router is based on says 3.3v (aka "CMOS" levels). So it's probably 3.3v.

So your cp2102 seems to match unless it's a selectable one and it's not set to (default) 3.3v. I did find some selectable models after deeper googling.

Still don't hook up the VCC pin.

Hey thank you very much for the reply.
I have measured my routers vcc pin with multimeter and it is indeed 3.3v while my cp2102 converter outputs a 5v through it's vcc pin (I have never connected it though).
There's a jumper on the cp2102 to select between 5v and 3.3v. I soldered to the 3.3v selection so it outputs a 3.3v, Now I cannot seem to detect it on my linux nor on the windows. I had to remove the solder b/w the points then it gets detected.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.