How To Debrick Your NETGEAR WNR3500L Using A USB-TTL Cable on Windows

So you've gone and done it... you've bricked your WNR3500L.  Nothing sinks the spirits like constantly flashing lights and endless reboot loops.  However, don't lose hope or get frustrated - there's a solution to your woes, and it's called a serial console.

Before you think that this is too complicated for you, read on.  It's actually quite simple, but there are several steps involved that require completion exactly as stated.  Remember, you perform these steps at your own risk, but rest assured that I have followed these exact steps to great success and that you should be able to duplicate them.  The instructions that follow are for use on Windows systems.

[Purchase a NETGEAR WNR3500L]

Materials Needed

  • 1x Bricked WNR3500L 
  • Ethernet cable
  • Windows PC/Laptop
  • Installed TFTP client (Windows XP, 2000, and 7 have this built in.  Otherwise, see step 10 for installation instructions/links)
  • Teeny tiny screwdriver or similar implement
  • Electrical tape (Optional, but recommended)
  • USB-TTL Cable from FTDI.  You can purchase one of these from Mouser ElectronicsEnsure that you have model TTL-232R-3V3 specifically, or you can fry your router! See photo above.
  • Torx T6 or T7 screwdriver
  • Thin flathead screwdriver (Optional, but recommended)
  • NETGEAR Original Firmware for the WNR3500L (Download from here and put into your C: drive).
  • Patience.  Some of these steps may take multiple attempts.

Step 1: Crack Open the Router

Well, don't literally crack it, unless you want a broken router!  It's pretty easy to open, but be careful.  Use the Torx screwdriver to remove the two screws on the bottom of the unit first.

Now, you will have to unsnap the case from the router.  In the photo, look closely at the router's casing.  You may be able to see the tabs on the left and right side.  The panel you need to remove is the "top" panel - look at the back of the router and turn it so the text is right side up.  The top panel, when the router is situated this way, is the one you should need to remove.  Gently put your screwdriver (preferably flathead) in the seam and disconnect these tabs.  Once you are able to slide the case off, put the router aside for now. 

Note: The first time removing it, I needed the screwdriver to pry it loose, but on subsequent tries I discovered that the case "slides" and snaps into place.  Try various methods to find what works best for you.  You may not need an implement to unsnap the tabs at all, if you're lucky!

Step 2: Download PuTTY Program and Install

PuTTY is the nifty, free little program that you will use to program the router, also known as a serial console.  Download it from here, and install it using the self-installing executable.

Step 3: Download Cable Drivers and Install

Now, you'll need to download the drivers for your USB-TTL cable.  In a nutshell, this cable "converts" the USB interface of your PC to a serial output that the board of the WNR3500L can understand, so you can communicate directly with the board (i.e., not over your network.)

Download the proper driver for Windows from here and install it.  A reboot is not required, but recommended.

Step 4: Give your PC a Static IP Address

This step is to ensure that you will be able to communicate with, the default address of the bricked router.

Head to Control Panel => Your Internet Connection => TCP/IP => Properties and change your IP address as shown above.  Make sure it does not end in .1, .x1, or .xx1.

Step 5: Plug in Ethernet from Router to PC

Note: Do NOT connect the power to the router just yet.  

Connect the Ethernet cable you have in your possession to an orange port on the WNR3500L to the Ethernet port on your PC.  Note that it must be an orange port, NOT the yellow port... it won't work otherwise.  At least, it didn't for me.


Step 6: Modify the USB-TTL Cable for Use with WNR3500L

Take a look at the photo above.  See how each of the leads is covered by a small plastic tab?  Bust out your tiny screwdriver or whatever it is that you have that's tiny, and pry off the tabs on the black, yellow, and orange leads only.  If you choose to remove all six, you will need to wrap up the unused leads in electrical tape to avoid shorting anything out.  I just left the unused leads inside the plastic harness as shown above.  Once you pry the tabs off, the leads that you will use slip out easily. Now, you can plug the cable in.

Step 7: Find Out What COM Port Your Cable is Using

You installed the cable driver in step 3, right?  If so, head on over to Control Panel => System => Hardware => Device Manager, and click on the "Ports" item as shown in the photo above.  Note the "USB Serial Port" item with a designation of "COM3."  You'll use this information in the next steps. If you don't see that, plug in the cable and the Device Manager should refresh.

Step 8: Connect the USB-TTL Cable to the WNR3500L

Note: Make sure the router is still powered off and unplugged from power when you do this.  Don't touch anything metal either, don't want to take any risks of shock or shorting anything out, which is always a potential concern when tinkering with open electronics.

This part is particularly important, as if you don't connect these cables properly it will be very frustrating for you!   Take a close look at the photo above.  On the pinout on the board, you will see six pins.  Next to one pin it will read "JP1."  That is actually Pin 6.  Pin 1 is labeled with a "1" next to it.  Connect the cables as follows and as shown in the photo:

Black => Pin 6 (next to JP1)

Yellow => Pin 5

Orange => Pin 2

Note: In this photo, the black and yellow leads are seated properly.  I wanted to show you what an improper cable seating looked like; the orange cable is NOT seated properly.  Make sure all the cables are firmly seated to the pins and that they are not touching each other.

Step 9: Configure and Launch PuTTY

Hanging in there?  Do you feel like a geek yet?  It should feel good :)

Fire up PuTTY and you'll see the screen above.  Select the exact options as shown above; click on the Serial radio button, the port to COM3 (or whatever port was revealed in Step 7) and the speed to 115200.

Then, click on the very last item in the menu and choose the options above.  They must be exact: serial line of COM3, speed of 115200, Data bits of 8, Stop bits of 1, and "None" for both parity and flow control.  Once you are confident these settings are correct, click "Open," and you will see a blank window with a green cursor.  Nothing is supposed to be happening in there yet, so don't fret.

Step 9: Power on the WNR3500L and Press Ctrl-C

Now, you can finally connect power to the router.  Press in the power button and immediately press Ctrl-C on your PC, with the PuTTY window active.  This will bring you to what is called the CFE console; essentially, you're interacting directly with the board.  If this does not happen, double and triple check all of the previous steps.

Then, type in "tftpd" (without quotes) to bring up what is called the TFTP interface.  This will ready the router for programming.  If this step performed properly, you'll be left with the screen above.  Almost there...

Step 10: "Put" The Firmware Into Your WNR3500L In The DOS Prompt

Note: If you are on Windows 2000, XP, or 7, you have a TFTP client built in.  However, if you're on Win95, 98, Me, NT, or Vista - you do not.  

Instructions for installing TFTP on Windows Vista can be found here.

Here is one open source TFTP client for Windows that you can try.

Assuming that you have TFTP installed in some form, zoom on over to your DOS prompt. You copied the original NETGEAR fimware to your C: drive, correct?  Good.  Type "cd.." without quotes as shown above to get to your root directory, then type this command:

tftp -i put FIRMWARE_FILE.chk

When you do this, the TFTP command will send the firmware file you indicated to the router, and you will get a confirmation as shown above.  If this doesn't work, make sure your router is connected to your PC properly, you have a static IP that doesn't end in 1, and that you can ping the router.

If this command is successful, your PuTTY console will start to get some action, and it will re-program the router.  Allow this process to finish, it will take several minutes, and wait until it is COMPLETELY finished or you will get a bad flash.  And nobody wants a bad flash!  You'll get a lot more text than is displayed above, but when it's done, you can try accessing your router's GUI via You will need to enter the "standard" username and password, consult your user manual for this information. (At the time of this writing, "admin" and "password" were used.)

Step 11: Rejoice and Relax... or troubleshoot

Hopefully, not the latter, but unfortunately things don't always go as planned.  If you're struggling with this procedure, have an unsolvable problem with your WNR3500L, or are on another OS let us know.  We're continuing to work on recovery guides for Linux and Mac OS X, so stay tuned!

You can post your questions on the public forums or as a comment below!

Quick Links

DUHTECH's picture
I have a WNR3500-100NAS. I

I have a WNR3500-100NAS. I think it maybe a v1.  It does not have the USB plug on it.  I've been trying to use this post to try to unbrick it, but its different from the WNR3500L.  How or can I unbrick it?

se7six's picture
After a simple mistake I was

After a simple mistake I was unable to access my WNR3500L. I tried the pin jumping workaround and it worked the first time I tried it. Everything is back to normal now.

Thanks for posting that fix information!

starkruzr's picture
So, I have the serial console

So, I have the serial console connected to the router and can send and receive commands to it no problem.

When I send the "special firmware for flashing" dd-wrt .chk, it does this:

Reading :: Done. 3471662 bytes read
Reading ::

Doesn't even attempt to program what it's read. It also stops attempting to read anything else from the tftp daemon, though it says it's "Reading ::".

When I send the factory firmware .chk file, it does this:

Reading :: Done. 5475522 bytes read
Checksum mismatch:
Image chksum: 0x950017CB
Calc chksum: 0x8086AFB6

It will accept another .chk file, but does nothing else.

What the heck?


This occurs when using the tftp client built in to Mac OS X. The client sends files in ASCII mode BY DEFAULT. This means that no matter WHAT you send, it will always be wrong. Before every tftp transfer, you need to send a "binary" command on the tftp command line or it will fail in confusing, confounding and hair-pulling ways.

Caveat emptor!

Hammergott's picture
Thanks alot for this Article!

Thanks alot for this Article! Helps me much to Recover my bricked WNR2000v2 and WNR3500v2. I used a CA-42 Clone for Serial and your Pictures help me to discover the right Pinout on the Routers-Board!

Important for Others:
Pin 6 (Black) is Ground
Pins 2 and 5 (Orange/Yellow) are RX and TX, Which is What, try until Output appears in Console!

Thanks and Regards


Mainer82's picture


Mainer82's picture


Mainer82's picture
Hi Peter, I think you should

Hi Peter, I think you should add to the article that is fairly easy to potentially break of pieces from the bottom side of the board when taking the case off. I broke the c219 chip off of mine. :S Just a friendly pointer. Thanks,

SixPesoBurger's picture
starkruzr's fix for mac

starkruzr's fix for mac (setting tftp to binary mode vs ascii mode) also seems to be the fix for ubuntu.

No matter how many times I sent the .chk w/ tftp I always got a "sucessful" transmission but a green blinking light. Setting tftp to 'binary' fixed the problem on the first run.

Ubuntu 10.04

saitek's picture
Hi, can i use this instead
saitek's picture
Hi, can i use this instead
cutebuny's picture
It would be great if they

It would be great if they could just add a built in usb/ ttl port on the router with a easy to use recovery program where you run the program, select the firmware file and when you turn the router on, it will automatically do the work for you.

USB to ttl adapters are really cheap, I bought one from ebay for $2.50 and it works great

I bet it would have been even cheaper if it didn't have to be shipped from china to the US

I bet netgear could have it built in for probably 5-10 cents at most


It should not be that hard for netgear to simply get one of these, solder on a mini USB female  connector, then dremel out a hole and glue the adapter to the case.

or better yet, work the adapter into the motherboard of the router and add the connector on the outside.


Pictures of USB to ttl adapter

cutebuny's picture
image from a thread I made a

image from a thread I made a while back asking the same question of the pinout rather spend under $5 for a serial adapter instead of paying $20 for one with less features

Oseias's picture
Because I have one Arduino

Because I have one Arduino (, I just can try use this.
I had sucess using this sketch above.
Just compile and upload to arduino card.

void setup ()
pinMode (0, INPUT);
pinMode (1, INPUT);
void loop ()

Then I connected the ports (
Just puted in the TX and RX between the arduino and router, a 1K resistor, to preserve a arduino inputs.

Arduino | WNR3500L
RX(0) -----1KΩ---- TX
TX(1) -----1KΩ---- RX
GND ------------ GND

Open prefer serial console. I use screen on *nix. (screen /dev/tty.usbmodem411 115200,8,n,1)

And voila.
CFE for WNR3500L version: v1.0.38
Build Date: Wed Dec 15 16:40:04 CST 2010
Init Arena
Init Devs.
Boot partition size = 262144(0x40000)
Found a 8MB ST compatible serial flash
et0: Broadcom BCM47XX 10/100/1000 Mbps Ethernet Controller
CPU type 0x19740: 453MHz
Tot mem: 65536 KBytes

Device eth0: hwaddr XX-XX-XX-XX-XX-XX, ipaddr, mask
gateway not set, nameserver not set
Startup canceled

Now my wnr3500L works fine again.

mickaeltai's picture
Merci bien...Cette méthode

Merci bien...Cette méthode apprend des choses et surtout dépanne bien...*

tutorial parfait

Encore merci

Ammilgaoul ^_^....

bhoefer's picture
oseias you're my hero -

oseias you're my hero - thought about such a solution - found your post - tried it - tried it again - worked!

Many many thanks from vienna!


Random Stranger
Random Stranger's picture
Thanks so much for taking the

Thanks so much for taking the time to write and post this. Using this guide I managed to reflash my router, save some money and also learn a great deal!

france's picture
bonjour voila le dernier

bonjour voila le dernier message que j ai

gateway not set, nameserver not set
Checksum mismatch:
Image chksum: 0x00000000
Calc chksum: 0x02C0010E
Loader:raw Filesys:raw Dev:flash0.os File: Options:(null)
Loading: .. 3768 bytes read
Entry at 0x80001000
Closing network.
Starting program at 0x80001000

j ai tous fais comme tentative rien y fait a par la poubelle y a plus rien a faire non ??


Sazn86's picture
Здравствуйте. Помогите пожалуста. Вот фотографии как я Hello Help please. Here are some photos as I plugged my router. All of the cases according to the instructions, but Putti, nothing happens.

eckertdarw's picture
cheap nike shoescheap
pelco's picture


Fredrik Ludl
Fredrik Ludl's picture
Thanks, thats a real reset :)

Thanks, thats a real reset :)


marychristian's picture


marychristian's picture
Joyas Swarovski, barato

Joyas Swarovski, barato joyería Swarovski, joyas Swarovski en línea, venta de joyería Swarovski, descuento Swarovski Jewelry, comprar joyas de Swarovski

marychristian's picture
Kids UGG Boots,Kid UGG Boot

Kids UGG Boots,Kid UGG Boot On Sale,Kid UGG Boot Cheap,Kid UGG Boot Clearance,Kid Sheepskin UGG Boot ,Kid UGG Wnter Boot

marychristian's picture
Réplique A. Lange &

Réplique A. Lange & Söhne 303.021 37 mm MEN WATCH [A. Lange & Sohne 303.021] - $185.00 :

marychristian's picture


marychristian's picture

CAMOの(男子)ビブラムFiveFingers Bikilaシューズブラック/ブラウン [VFFB016] - $84.99 :

marychristian's picture
ugg,uggs,ugg sale,uggs sale

ugg,uggs,ugg sale,uggs sale,ugg no sale

marychristian's picture
Bangles Pandora, bon

Bangles Pandora, bon marché bracelets Pandora, vous pouvez acheter Bangles Pandora, Pandora Bangles Stroe, bracelets Pandora Vente

marychristian's picture
Omega-Uhren aus Stahl auf

Omega-Uhren aus Stahl auf steel082 [23215422101001-20] - $195.00 :