Linksys WRT54GL Lockup Fix
Update V, 30 April 2009: No lockups so far. Still haven’t replaced the caps in the second unit. My sister just ordered one and if she starts running into problems, I’ll replace the caps in the second one, swap hers out, then fix hers. With two to be “fixed” I should remember to get snapshots.
Update IV, 01 April 2009: Updated Mouser parts link. Haven’t yet “fixed” the second router as I’ve decided to wait until I determine that this is in fact a fix.
Update III, 28 March 2009: Hmmm… Woke up to a non-working internet. Unfortunately, I had gotten into the habit of cycling the power on everything and had already removed power from the cable modem and router before realizing I needed to troubleshoot everything *except* the newly “fixed” wireless router. Dang it! The short story is that I had the opportunity to find out if the WRT54GL was actually fixed. <Mental note to self: don’t do that!>
Update II, 23 March 2009: The parts came in late this afternoon. It was a bit of a pain to get the old caps out. I kept upping the heat on my Aoyue 908 trying to get the danged solder to melt. I ended up heating the leads to the point that I pulled the cap heads right off. It wasn’t that big a deal, though. The leads came out pretty easily after that. I couldn’t solder wick the remaining solder away, so I used a pin vice with a drill bit very slightly larger than the leads on the new caps and bored the solder out. Worked great. The new caps went in in just a few minutes. All the caps were 20mm tall, so I did end up having to dremel away a small portion of the case to get it back together. All in all it was a piece of cake and I’m running off of the “fixed” router right now. In my haste to get it done, I forgot to take snapshots. I have another one to do, so I’ll try to remember to get snaps then, probably sometime tomorrow morning.
Update, 19 March 2009: First, I don’t want to give you the wrong impression about Tomato firmware. It’s great. In fact, I now use it instead of dd-wrt. Nothing wrong with dd-wrt, either. I installed Tomato and now run Tomato. It’s a tasty Tomato. I changed the post title and link so as not mislead anyone.
Okay, I left a message on Savel’s blog asking which caps need to go where. He responded that the filter for the mains will be around 16v and the others will range from 5 to 1.8 volts – all I have to do is measure them. And so I did. The PCB is easily removed from the housing by first popping off the antenna base covers to reveal a knurled nut and simply unscrewing them. The blue front is attached on the sides by hook-and-groove friction locks. Remove the Voids Warranty sticker (I just cut along seam with the blade of my trusty Leatherman Squirt E4). Now hold the housing such that the top side is toward you and the blue front is facing either the left or right. Using one hand per leg, put your fingers on the insides of the legs and force them apart by pushing against your thumbs against each other. That’s a poor explaination of what to do, but I trust you’ll figure it out. The front will pop right off. Now place it upside down and slide the feet toward the front until you feel it stop, about 5.5mm (~ 0.2 inchs), then lift straight up. The PCB is detached by removing the two screws located near the center of the board just behind the RJ45 ports. Slide it towards the front and lift.
There are four 16v, 22uF capacitors along the edge of the PCB just behind the power port. The one closest to the power port measured 12v, and the others were 3.3v, 5v, and 1.8v moving from back to front. Savel replaced the 12v cap with one rated at 25v, 470uF and the other three with 6.3v, 1500uF caps. He said that while the higher the uF the better, the main concern is finding capacitors that aren’t too tall – you won’t be able to get the housing back on. I see that another concern is the diameter. If they’re too fat, there might be a problem. It looks like I can use caps up to 16mm in length and a maximum of 20mm if I modify the top housing: there’s a support ridge running the width of the top half that’ll need to be Dremel’d away just enough such that the caps can clear during reassembly.
I rummaged through bins of old computer video cards, motherboards, modems, etc., looking for comparable parts, but didn’t find anything I wanted to kill — I really will get around to putting that old Abit dual CPU mobo in a case and turning it into a server! I ended up ordering from Mouser. Using the filtering, I first went for size, ranging up to 9mm in diameter and 20mm in length, then Farad rating, then voltage. I have no clue as to whether these are ideal, but I ended up selecting part number 647-UHZ0J152MPM6 for the 6.3v caps and 647-UHE1E471MPD for the 25v caps. I have two GLs that need to be modified and so ordered 10 of each, more than required, but I kept it to less than $10.00.
I’ll update once the parts arrive. Probably a bad snapshot or two as well.
Tomato, like dd-wrt, is 3rd party firmware that turns your $50.00 Linksys WRT54GL into a $500.00 wireless router. I’d been having odd problems in that every 6 to 8 weeks the damned thing would freeze up and nothing would bring it back to life in just a few moments. Not a reset, not unplugging and waiting, nothing. I gotta have my ‘net fix and I gotta have it 24/7. Fortunately I have a duplicate, so all I’ve been doing is swapping them out. By the time the “good” one goes bad, the “bad” one is good again. Horribly frustrating. I’ve been using wireless technology since the B days, a Netgear setup which cost some $300.00, and this particular wireless box pretty much since the original G model came out – going from B to G was like going from dialup to broadband, I tell ya! Anyway, late last year I happened to be watching a TIVO’d episode of (I think) Systm on such 3rd party firmware, particularly Tomato, and decided to give it a go. Yeah, well, it didn’t help. I ended up installing Tomato on both and I had to swap them out just last Saturday around midnight (“Honey, is there something wrong with the wireless?!”).
Okay, so this morning I’m doing more research on building scrolling LED displays, following various threads like this one, and I came across a post on Savel Brain Dump regarding WRT54G/GLs. As I was scrolling down the page, two words in bold text poked me in the eye: no freezes. Ahhhh… Interesting! I scrolled back up to read the full post and here’s proof that I’m not the only one suffering from this problem. Savel disassembled his and took a hard look at the board components. He believes the problem is that it’s under-engineered in that the power supply is filtered by capacitors which are too small. He writes,
There is problem with some of these routers. Some time they hang up. One client was using “G” model with third party firmware, but he needed to reboot device from time to time. I offered him to test my personal router with “L” index, but it hang up too. At my home, this router was working fine. After more detailed investigation, I decided, that there is some problems in power supply and it’s filters. So I opened both devices and checked PCB.
Internal power suply is clasic step-down pulsed PSU. I was surprised, that manufacturer used very small and very suspicious capacitors- all caps were 25V x 220uF. Even in CPU core circuit (1.8V) and 3.3V power lines. I didn’t measured ESR, but I think the result could be very ugly. So I decided to change this caps to bigger ones, from spare computer mainboards and VGA cards.
He replaced the input capacitor with a 25v, 470uF and the output capacitors with 6.3v 1500uF. I disassembled the “bad” box and sure enough there are four caps on the front edge of the PCB, all 16v, 220uF. I’m pretty sure I have a 25/470, but I’ll need to search around to see if I have any 6.3/1500 caps. I kinda doubt it, but I do have scads of old motherboards and obsolete video cards… Hopefully I can come up with the needed parts without killing too many old components.
The real deal is that I thought the firmware was the problem, but it now seems to be an engineering problem. Once I find all the required parts and get them installed I’ll update this post.