Posted: Thu Mar 16, 2017 4:12 Post subject: How to reflash your WRT3200ACM with a usb -> ttl cable
I just got a new WRT3200ACM and was hoping to replace my old Buffalo router and take advantage of 802.11ac wireless speeds. While I was testing dd-wrt, I bricked it once, and then had problems flashing back to stock firmware using the web interface.
Some of the instructions I found online only partly worked for flashing the wrt3200acm or were incomplete. I've flashed my WRT3200ACM twice using this method so I can confirm its working.
I'm returning the WRT3200ACM because honestly I'm pretty pissed off. While I understand that open source software is a volunteer effort that takes time, I don't like how Linksys is advertising this router as "dd-wrt ready" when it is obviously not at the time of this writing. I'm also concerned about the final quality of the marvell driver as it looks like its just one dude under time pressure working on it.
If you're planning on buying of these and playing with dd-wrt, then also you should plan on investing in a usb to ttl cable and learning this method because most surely you'll end up needing to do it.
Anyway to the topic at hand:
These are the steps that worked for me:
1. Remove the 2 screws on the bottom of the front blue cover. They are located inside the feet. Once you remove the screws, the feet will come out. Pull the front blue cover off.
2. Connect a usb to ttl cable to the serial port pins.
The serial pins are a little white connector with 6 pins. If you have the router directly in front of you, you'll see the little white port on the right side. There will be a red and blue wireless antenna cable running over it.
You should be able to use any similar cable, just make sure its rated for 3.3V.
The black connectors on this cable are too large for the pins, but all is not lost. With a tiny screw driver, you can remove the plastic connectors by gently lifting the latch from the underside and expose just the bare metal connectors inside.
These metal connectors are still too large for the pins for a secure fit, but its ok since we're just doing this temporarily. Simply drop the metal connector over the pin and then make sure the connector is leaning sideways a bit so its touching on the inside. Make sure its only touching its pin and not the others. Thankfully, you can use those antenna cables in between to prevent this.
As far as I can tell pin #2 (starting from the left) is RX (white) and pin #4 is TX (green). I don't know which of these pins is ground. I read its pin #1, but everytime I tried to connect that one the router failed to boot. So instead I just had the black wire connector touching the capacitor directly in front of the serial port. This effectively grounded it.
Do not connect the red power cable to anything.
3. Use some serial port software to connect to the serial port. You can use putty on windows.
The settings are: 115200, 8, 1, None, None
4. Turn on the router and as it boots you will see a message that says "Hit any key to stop autoboot". The problem at least for me was that there was some lag on the serial port, and by the time I saw this message it was actually too late. To avoid this, you need to start typing keys as soon as you boot the router before this message pops up.
If you did it right, you should be at a Marvell>> prompt where you can type commands.
5. Connect one of the ethernet lan ports to a computer.
Configure your IP address static as 192.168.1.254 and your subnet mask as 255.255.255.0.
You can try to ping your machine from the router:
ping 192.168.1.254.
Somehow this didn't work for me, and yet the firmware flash still went ok.
You can either flash only the primary parition or flash both. If you are trying to get back to a stock installation and only flash the primary, you may reboot your router and be dumbfounded seeing it still booting to dw-wrt. If you are trying to get back to factory stock, you should flash both partitions.
To flash both partitions, use this command:
run update_both_images
To flash only the primary:
run flash_pri_image
Once its done, power cycle and you should be booting into your new firmware.
Last edited by fmatthew5876 on Sat Mar 18, 2017 3:29; edited 1 time in total
For those who have UBS to TTL 5V0 converter I have designeg TTL logic level converter form 5V0 to 3V3.
Two solutions.
- The LE33 solution requires more parts but it is more confident in caso of 3V3 power supply breakdown
- the Zener solution requires less parts but in case of zener breakdown on router serial pins 5V0 TTL will appear.
For those who have UBS to TTL 5V0 converter I have designeg TTL logic level converter form 5V0 to 3V3.
Two solutions.
- The LE33 solution requires more parts but it is more confident in caso of 3V3 power supply breakdown
- the Zener solution requires less parts but in case of zener breakdown on router serial pins 5V0 TTL will appear.
The cost of parts is about 1$.
Would a 5V cable damage the router? I have a WRT1900AC v1 and bricked it last week. I could find at work an USB-TTL cable and I was able to bring the routr back to life. Only yesterday I realized it was a 5V instead of a 3.3V cable. The router is working fine and doesn't look like anything is broken but...
A lot of MCUs have 3V3 logic and most of theme have tolerance to 5V0 (!!!PLEASE BE NOTICED THAT I DON'T KNOW EXACT MARVER CHIP DATASHEET and can't confirm upper TTL level tolerances!!!).
But consider that every supply circuit has its own voltage operating rate (depending of ambient temperature, electronic parts quality, so on) and because of unfortunate coincidence Your USB-TLL level falls on 5V2... Game over.
I do not claim that it is common but why to risk.
If You flashed it via serial and bring it back to live it means that serial withstood the flashing procedure.
But the only way to find out if You haven't fry serial port is to check it but this time with 3V3.
A lot of MCUs have 3V3 logic and most of theme have tolerance to 5V0 (!!!PLEASE BE NOTICED THAT I DON'T KNOW EXACT MARVER CHIP DATASHEET and can't confirm upper TTL level tolerances!!!).
But consider that every supply circuit has its own voltage operating rate (depending of ambient temperature, electronic parts quality, so on) and because of unfortunate coincidence Your USB-TLL level falls on 5V2... Game over.
I do not claim that it is common but why to risk.
If You flashed it via serial and bring it back to live it means that serial withstood the flashing procedure.
But the only way to find out if You haven't fry serial port is to check it but this time with 3V3.
Thanks for the info. I think I'll be much more careful from now on
However, just for the record, I have WRT1900ACv1(since it was released) and also v2, and bought the WRT3200ACM as soon as it was on the shelf.
On all 3 I keep the Linksys software in the first partition.
I have NEVER need a serial cable, and don't even own one.
Edit: actually, I forgot I have a serial cable permanently installed in my Netgear R8000(that one is flaky ! ) If you keep the stock firmware in one partition. You can't brick these things.
Pretty much every weekend(much to the family's chagrin), try every image out there. Kong(when applicable), BS's, Gargoyle, LEDE snapshot and stable, David's LEDE, cybrnook's LEDE, and Gargoyle. Just to be sure I am running the fastest possible.
These things are unbrickable, if you keep stock in one of the partitions.
Pretty much every weekend(much to the family's chagrin), try every image out there. Kong(when applicable), BS's, Gargoyle, LEDE snapshot and stable, David's LEDE, cybrnook's LEDE, and Gargoyle. Just to be sure I am running the fastest possible.
From Your point of view whichone is most stable and less bugged?
Pretty much every weekend(much to the family's chagrin), try every image out there. Kong(when applicable), BS's, Gargoyle, LEDE snapshot and stable, David's LEDE, cybrnook's LEDE, and Gargoyle. Just to be sure I am running the fastest possible.
From Your point of view whichone is most stable and less bugged?
i WAS running BS on 3200 & 1900's. was running ok.
on this past Sunday, i changed them all to LEDE, running just a little more efficient. Snapshot on all, but of course, installed all the packages i need for my purposes.
Joined: 13 Jun 2006 Posts: 1608 Location: SE Michigan USA
Posted: Sat Mar 18, 2017 16:28 Post subject:
LookingForMyMojo wrote:
i WAS running BS on 3200 & 1900's. was running ok.
on this past Sunday, i changed them all to LEDE, running just a little more efficient. Snapshot on all, but of course, installed all the packages i need for my purposes.
I agree. LEDE runs really well for me on my wrt1900acs v1. Provides a little more throughput on 5GHz wireless. Currently running davidc502's LEDE which I find to be the best for me. Comes with everything I want. I am not one of those that does compiles and relies on others.
I must say though that the last 2 builds of Brainslayer's DD-WRT run very well as well. These 2 builds he has done some re-architecture of the wireless support and what ever he did seems to have made his builds perform on the 5GHz about the same as LEDE, just a hair slower. Not noticeable for browsing web, but a big file transfer would be a little slower. All in all his latest is very good as well for me. I do notice a pause from time to time browsing the web after the router has been up for 2 to 3 days. Not sure what that is about and have experienced it on Kong builds as well.
Just changed everything to BS's new build, will see how it goes.
that did not take long --> Back on LEDE _________________ My "WRT" rant, and why I have gone ddwrt on x86, no more consumer routers. ( ac86u as access points & bridges )
Posted: Sun Mar 19, 2017 9:48 Post subject: Re: How to reflash your WRT3200ACM with a usb -> ttl cabl
fmatthew5876 wrote:
The black connectors on this cable are too large for the pins, but all is not lost. With a tiny screw driver, you can remove the plastic connectors by gently lifting the latch from the underside and expose just the bare metal connectors inside.
These metal connectors are still too large for the pins for a secure fit, but its ok since we're just doing this temporarily. Simply drop the metal connector over the pin and then make sure the connector is leaning sideways a bit so its touching on the inside. Make sure its only touching its pin and not the others. Thankfully, you can use those antenna cables in between to prevent this.
As far as I can tell pin #2 (starting from the left) is RX (white) and pin #4 is TX (green). I don't know which of these pins is ground. I read its pin #1, but everytime I tried to connect that one the router failed to boot. So instead I just had the black wire connector touching the capacitor directly in front of the serial port. This effectively grounded it.