letooumonbo There appear to be two models around -- please verify that you are running at 133 before doing anything else
How to know which one !!
You must first install UnSlung? or other alternate firmware, then telnet into your NSLU2 and from the shell type the command: cat /proc/cpuinfo If BogoMIPS is around 131 or so you have the underclocked version. See below a bit for before and after examples. See http://www.nslu2-linux.org/wiki/HowTo/InstallUnslungFirmware for how to install UnSlung?. See http://www.nslu2-linux.org/wiki/FAQ/EnableTelnetThroughTheWebInterface for how to telnet into your sluggish Slug.
Tired of sluggish performance? Want to squeeze a bit more out of your slug? Feel that you're not getting the dish you paid for?
Overclocking (De-underclocking) the Linksys NSLU2! (or how to get your own TurboSlug)
Notes on Slugs supplied at 266Mhz:
Notes on Slugs supplied at the standard half speed:
# cat /proc/cpuinfo Processor : XScale-IXP425/IXC1100 rev 1 (v5b) BogoMIPS : 131.48 Features : swp half thumb fastmult edsp Hardware : Intel IXDP425 Development Platform Revision : 0000 Serial : 0000000000000000 #
# cat /proc/cpuinfo Processor : XScale-IXP425/IXC1100 rev 1 (v5b) BogoMIPS : 263.78 Features : swp half thumb fastmult edsp Hardware : Intel IXDP425 Development Platform Revision : 0000 Serial : 0000000000000000 #
Great directions. Removed the resistor in 10 secs, running @266 now. Some stats:
Copying a 112 MO file from the networked hard drive to the laptop'''
I couldn't figure out the nail trimmer method (maybe they mean scissor type trimmers?), so I warmed up the soldering iron. Running at 266.24 BogoMips now. Total time was about 20 minutes, from powering down to powering up. This includes time looking for my soldering iron and waiting for the iron to warm up. Potential gotchas: Opening the case is tricky. Take your time and follow the instructions!
Warning: This is EXPERIMENTAL. Follow these instructions at your own risk!
Warning: This WILL void your NSLU2's warranty!
The NSLU2 as supplied from Linksys actually runs the IXP420 at half its rated clockspeed using an undocumented setting. You can fix the NSLU2 to run the IXP420 at the full 266MHz by removing a single SMD resistor which sets the IXP420 at a documented and recommended setting. Restoring the rated clockspeed only affects the XScale core inside the IXP420. The external interfaces will stay at their respective speeds.
You will need a pair of fingernail clippers and an anti-static wristband. I suggest you have an anti-static wristband to prevent possible static electricity frying the slug. I however have done this to over 20 slugs without one with no problems. If you do not have an anti-static band, I suggest you touch something metal before you do this and do it in a room around 70 degrees and no carpet.
Just open the case(HowTo.OpenTheCase) find the R83 resistor, grab it with the finger nail clippers, apply a little pressure and pull it straight off. It should come right off, usually in one piece. If it doesn't come off in one piece, turn the unit upside down and shake it gently a bit to make sure it all comes off (or you can blow on it a little, just be sure not to spit on it).
I recommend this over the procedure because its a lot easier. I've moved some of the success stories for this procedure up here.
--- After seeing Martin's post above, I realized that a simple, cheap 0.99c pair of small pharmacy-store nail clippers would do the trick in cleanly removing the resistor without cutting or with heavy force. Same idea as using a pair of pliers: carefully position the "mouth" of the clipper perpedicular to the resistor and apply consistant pressure. A slight twist and the surface mouth resistor should come off quite happily. "- Wei A. Tsang"
--- Just want to second Wei Tsang's recommendation about nail clippers. First thing I did with my slug, before I even plugged it in, was to crack open the case and clip off R83. It worked perfectly and was really easy to do. The resistor's small enough that it took me one or two tries to get the clippers to grab on, but once I'd found the proper angle (YMMV) it took one snip and that was it. Reassembled the case and the slug booted perfectly. -acm.
--- Ditto to success with Nail Clippers. Resistor just ends up as dust. Very quick and easy. -mjed.
---I used some metal tweezers, easy as pie. NSLU is, obiously, twice as fast. Why didn't I do this before? - morphine.
--- I also used a nail clipper. The angle is not so obvious: I just got the jaws to make slight contact with the resistor and lightly twisted. Very easy. Runs much smoother now. -The Phil
--- Things went really wrong for me. Maybe because I forgot to touch "something in metal" (feel really dumb about that : I OWN an anti-static wristband...). After I removed the resistor, the slug didn't boot up, and went to firmware upgrade mode. I tried re-flashing the debian installer, but verification failed, and at that point, I have not been able to put the slug in firmware upgrade mode again. So now I know how to brick a Slug like you can brick a WRT... Anyway, my favourite retailer now has full speed Slugs, I'll just buy a new one... -ScriptFanix?
More success stories below on this page for this technique.
This is really, really simple (If you've got the proper tools).
The process goes like this:
--- If you just cannot wait until the soldering iron heats up: Alternative method of removal of the resistor requires sharp box cutter or a scalpel. Position of the resistor on the board makes it easy to simply cut the resistor in half. Resistor is fragile, it will shatter and pieces will fall out. Make sure pieces do not stick around on the board. Enjoy ! Andrei Volkov --
--- I used a small cutter (looks like a wire cutter) that came with screw driver kit to shatter the R83. I found this to be a little safer than using a box cutter or exacto knife because there is less of a chance of damaging the PCB. With one snip, it was quickly and cleanly cut in two. Lastly, I used one of those 'dust off' cans to clear the dust and fragments. -Martin J. Hsu
--- I have around ... zero soldering skills so I didn't want to accidentilly destroy anything else on the board. So I used a razor blade (the kinds you can get in those 50 packs). I picked at the solder joint on the left side, and eventually broke that whole joint. then just lifted the resistor up, and it snapped off. Fairly quick, took about ... 10 minutes all togeather. -Sharth
--- I sawed off R83 with an XActo knife, and it worked perfectly. Be aware that increasing the clock frequency will also shorten (to about 0.8 seconds) the window within which RedBoot is open to a telnet connection, making it that much more difficult to gain access (see HowToTelnetIntoRedBoot). -Ian
--- Cut with a standard cutter, After I go from 3.94mb/sec to 5,35mb/sec -overlord
If you're happy about overclocking your slug, you may want to send in a donation to the project.
You might want to keep an eye on the temperature, especially if you're running the slug inside its casing. In my experience running outside the case, it keeps a comfortable temperature around 40°C. YMMV!
--- The easiest way might be the 'solder ball trick'. Get a soldering iron (no more than 25W or you'll tear the tracks off the board) and melt a blob of solder onto the tip. Move it into position so that the blob is touching both ends of the resistor simultaneously. Wait for the resistor to stick to the solder, then just lift off the iron. Use some desolder wick to remove any solder left on the pads, check for shorts, then put the Slug back together again. Beats trying to melt one side, then flip to the other before the solder cools down. It also pretty much removes the risk of destroying tracks on the board that the knife/boxcutter method carries. Unless you decide to use a 100W solder gun instead of a 25W iron (or a temperature controlled iron set to about 330 Celsius).
--- I've done this with no cutting anything. Check the table, just added a new 10 K resistors (R81) on the empty slot (A22) (just below the red rectangle on the picture). Like this just, to remove it if I want to go back. Like this A21,A22 and A23 are set to 0. Charly
--- I couldn't managed to cut the resistor with a blade (perhaps mine was slightly blunt) so I used a pair or small embroidery scissors to get a grip on the resistor and pull it off. End result was just the same. -Ed
---Complete idiot success. I had no idea really what I was doing and I somehow did it. Used the nail clipper method.
---One more noob success. Sharp little blade of a Swiss Army Knife® and 3minutes time = turbo-slug!
---3 minutes work, total success. Go Turboslug ! Go !
---Performance frustration success. One evening when it went slow on me I just went and did it nailclipper style. Its a new slug on steroids. Why didnt I do this before?! Hardest part was opening the case. The instructions were a bit vague.
---Did it with very sharp nail scissors. I just cut R83 into two pieces. The slug works without problems, but you can hear a verry quiet sound at a verry high frequency. Almost not hearable for me. Can anyone exlpain to me, where this sound comes from?
---I managed to get the resistor off using a nail clipper after some preliminary cutting of the solder using a utility knife. Everything seems to be running fine at 266 MHz?. Opening the case without breaking the tabs was the hardest part. I'm running NSLU2 (Etch). 2007-04-07.
---I simply desoldered R83. Use one hand to hold it with an IC removal clip and the other to use the iron to melt the solder. Pull up on the end of the solder you melt and it'll pull free easily. Then just clean up the pads and you're set. - Noah
---Removed with clippers. The component labeled '100' on the diagram gets in the way and makes it awkward. As the clippers mangled the resistor I appeared to be making an appalling mess. However, the resistor came away, the board looked okay, and the slug booted. It took about five minutes. - CS, Jan 2008
---Got nail clippers but too hard to get good purchase. In the end a sharp pair of tweezers did the job. Took 5 mins. Hardest part was making sure I did not break the clips when opening case. Slug seems to be running well. - Humpda Aug 2008
---my SO's nail clippers wouldn't work for me (I think a picture of the specific type of clippers is necessary). Used a swiss army knife. Same results, twice as many bogoMIPS. Can't believe it was so easy. - shane t. sept 2008
---New to NSLU2, I was able to perform this mod within about a minute or two, which included case removal and use of toenail clippers (simply because I don't know where the fingernail clippers are). A bit more tedius than others have described, but it still did the trick, grasping at 2 corners of the resistor, diagonally across from one another. NSLU2 is reading at 263.78 BogoMIPS and is noticably faster! - purpleonyx, Sept. 18, 2008
---Used the tweezers method and it worked great. It seems much faster especially the TwonkyVision running on it. Bit scary when you remove the resister but the result speaks for itself
This was easy - thanks for the info! I used an exacto knife and a magnifying glass. Here's an overclock logo to match. Originals and Photoshop files at michaelebrown's site.
Removed resistor on two boards with the very sharp corner of a brand new single edge razor blade (new blade for each board). Draw the razor blade with some downward pressure toward the outside edge of the circuit board at a point slightly left of center on the resistor. It takes some patience but after a number of cutting movements the resistor comes right out. UPDATE - 09/14/2008 - Have removed resistor for a total of 5 (five) units now utilizing the razor blade method. Some units are more stubborn than others. Unit #3 took about 15 minutes and 4 razor blades as they dulled, before resistor came out cleanly, unit #4 was extremely difficult and resistor just slowly disintegrated into a pile of dust after 30 very tedious minutes and six razor blades, unit #5 was EXTREMELY easy with very little pressure it just popped out totally clean after three swipes with the razor blade. SRS
Temperature and power considerations
The slight increase in power consumption (see Power measurements below) is negligible. The increase in core temperature caused by this is also negligible. The maximum temperature measured by using IR thermometers on the IXP has been 52°C. The maximum temperature of the IXP core power regulation circuitry has been 42°C. All power and temperature values have been well below the rated maximums given in the various datasheets and will comfortably support operation for extended periods of time with the case on and in a hot room.
We are not overclocking the IXP420. It has been tested for operation at 266MHz by Intel and marked as so. There are no signs that the IXP420 used in the NSLU2 is anything other than a standard part. All the markings and CPU IDs have been exactly as they should be.
It is currently unknown why Linksys decided to halve the clockspeed using an undocumented setting but we have not found any reason to not reset it to 266MHz. At the time of this writing, there have been over 530 modified NSLU2's and each one has been operating under heavy load with no problems.
The small change in power consumption can have some effect. For example, I can get it to boot with a Fujitsu 20GB (5V .55A), but can't get it to boot with a Samsung 40GB (5V 0.7A). (michaelebrown)
<<<<<<< WARNING: My overclocked slug repeatedly crashed on hot days this summer. Room temerature was always beyond 27° C and the slug crashed during longer read/write operations. Under these conditions the behaviour was absolutely reproducible, that is, I could not get it to read or write larger sets of data without crashing. At cooler temeratures the bahaviour was gone, so it looks like a clearly heat-induced problem. I do not know about the bahaviour of a non-modified slug at these conditions (joerg107) As for the comments below: Others seem to have better luck with their O/C slug. However, it was my slug that crashed, not the HD. I did test for that. I run the slug from a Flash Memory and it also crashed, when the (additional) HD was removed. I did not test, however, whether my Flash Memory still works at 30+°C. (joerg107)
As aside the above warning...I currently have two slugs O/C to 266 with 3 drives on each. This summer when my A/C was being replaced it was 99F (37C) in my house for about 4 days and my two slugs never crashed and functioned properly. So you mileage may vary due to room temp (shiett)
I live in Rio, where temperatures easily reach more than 35C and my O/C 266 slug never crashed, even during long (more than an our) backup sessions, I recommend checking the harddisk temperature before blaming the slug itself. A good heat dissipation enclosure choice is fundamental for no-power-off use. (marcelo vianna). >>>>>>>
Another sucsess, using very small screwdriver to simply crush the resistor. Also made about 8 small holes in the top of the casing to allow a little more air though, just in case overheating becomes an issue - 17/2/2007).
The XScale core in the IXP420 can be forced to operate at a lower speed than the factory set speed. This is done by a series of pull down resistors connected to the IXP expansion bus which are read at reset. The expansion bus pins on the IXP420 are internally pulled up so default to 1. A 10K pull down resistor is used to set it to 0.
The core speed can not be changed once started so it is a hardware only mod. The part on the current revision NSLU2s is a B0 stepping IXP420 rated for operation at 266MHz.
The NSLU2 as from Linksys is set for 133MHz operation using the undocumented setting of 010. This causes the IXP420 to divide the core speed by 2.
Removing R83 changes the configuration to 011 which is documented on page 324 of the http://www.intel.com/design/network/manuals/252480.htm IXP420 Developers Manual for operation at 266MHz.
Settings for core clock speed
although documented on page 13 in Intels Hardware Design Guidelines it was unknown whether the last three combinations produce a greater than 266MHz speed before the guide was released.
A turbo-button alternative to removing R83:
Rather than removing R83, I added a switch + 10K resistor in the pads for A22/R81 (see picture above, switch+resistor wires are soldered in the space below the red box). I positioned my turbo-button at the back of the slug, next to the Ethernet plug. The switch can change the speed of the slug from 133 to 266MHz and back. This is great if you want some oomf for development but also need to test software at the original speed. Unlike a PC turbo-button, speed is set before switching on the device. Speed cannot be changed once the Slug is on. This is my own experience with a single device, take with a pinch salt: In terms of current consumption, I noticed that my slug hooked to a 2.5" 12GB Toshiba hard drive (USB powered) will not boot with the original 5V 2A power supply. It will boot fine however, with a 5V 2.5A power supply.
[Added by T] I tried this with limited soldering skills. I used a piece of wire scavenged from network cable and soldered in a 1W 10k resistor. This took ages especially as the wires came off when putting the case back on. I liked the idea of dual speed in case of problems and did not want to damage the board removing the resistor as above with finger nail clippers which do seem to big.
Potential for overclock to > 266MHz
The IXP420 is locked to a specific maximum frequency at the time of manufacture by Intel. There is no known way to override this frequency lock.
One possible method is to change the 33MHz oscillator used in the NSLU2 for a higher frequency part. This will cause the IXP420 to run at a higher core speed and will also have the unfortunate outcome of increasing the PCI, expansion and SDRAM bus. Where the expansion bus clock speed can be specified and the PCI bus (apart from the attached NEC μPD720101? which can't run on a higher frequency than 33MHz) is able to run at 66mhz the only barrier is the sdram, which runs at a frequency of xtal*4.
It is well known that PC133? SDR SDRam? is running woithout problems up to 145MHZ wherefore the slug can be overclocked with an 36MHz oscillator resulting the SDR SDRam? running at 144MHz instead 133MHz.
A NSLU2 with a new 36MHz oscillator (someone exchanged the default 33MHz one) is still working fine, but the frequency reportet via dmesg (OpenSlug) and cat /proc/cpuinfo is still 266MHz resp. BogoMIPS. :-(
The above isn't really too surprising - The time will also be running 10% fast unless the kernel was modified to calculate a different value for the timer that generates the jiffy counter.
Having the default PC133? SDR SDRam? exchanged with DDR SDRam? capable to run at the modified xtal*4 frequency connected to the SDR SDRam? controller over a SDR to DDR interface, the expansion bus clock adapted and the NEC USB Controller disconnected (or exchanged with a PCI USB controller capable to run on a 66MHz PCI bus) it should be possible to run the slug at frequencies over 300MHz.
Some (simple) test results:
Time spent finding 9009 digits of e:
133MHz core speed:
266MHz core speed:
$ hdparm -tT /dev/sda /dev/sda: Timing cached reads: 148 MB in 2.04 seconds = 72.55 MB/sec Timing buffered disk reads: 24 MB in 3.06 seconds = 7.84 MB/sec
# hdparm -tT /dev/sda /dev/sda: Timing cached reads: 184 MB in 2.03 seconds = 90.64 MB/sec Timing buffered disk reads: 26 MB in 3.16 seconds = 8.23 MB/sec
L M B E N C H 2 . 0 S U M M A R Y ------------------------------------ Basic system parameters ---------------------------------------------------- Host OS Description Mhz --------- ------------- ----------------------- ---- slug2 Linux 2.6.11. armv5teb-linux-gnu 133 slugracer Linux 2.6.12 armv5teb-linux-gnu 266 Processor, Processes - times in microseconds - smaller is better ---------------------------------------------------------------- Host OS Mhz null null open selct sig sig fork exec sh call I/O stat clos TCP inst hndl proc proc proc --------- ------------- ---- ---- ---- ---- ---- ----- ---- ---- ---- ---- ---- slug2 Linux 2.6.11. 133 2.09 4.29 40.1 47.7 261.1 7.72 22.2 4921 15.K 65.K slugracer Linux 2.6.12 266 0.63 2.12 24.4 28.2 126.9 3.99 10.9 2504 8619 42.K Context switching - times in microseconds - smaller is better ------------------------------------------------------------- Host OS 2p/0K 2p/16K 2p/64K 8p/16K 8p/64K 16p/16K 16p/64K ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw ctxsw --------- ------------- ----- ------ ------ ------ ------ ------- ------- slug2 Linux 2.6.11. 186.7 337.8 736.1 361.1 763.6 361.9 753.3 slugracer Linux 2.6.12 126.3 253.4 584.8 272.4 600.3 266.7 593.2 *Local* Communication latencies in microseconds - smaller is better ------------------------------------------------------------------- Host OS 2p/0K Pipe AF UDP RPC/ TCP RPC/ TCP ctxsw UNIX UDP TCP conn --------- ------------- ----- ----- ---- ----- ----- ----- ----- ---- slug2 Linux 2.6.11. 186.7 407.6 1148 833.3 2065 slugracer Linux 2.6.12 126.3 238.4 503. 598.6 1482 File & VM system latencies in microseconds - smaller is better -------------------------------------------------------------- Host OS 0K File 10K File Mmap Prot Page Create Delete Create Delete Latency Fault Fault --------- ------------- ------ ------ ------ ------ ------- ----- ----- slug2 Linux 2.6.11. 1062.7 1356.9 3759.4 2008.0 1959.0 1.539 83.0 slugracer Linux 2.6.12 499.3 771.0 1865.7 1075.3 1135.0 1.471 66.0 *Local* Communication bandwidths in MB/s - bigger is better ----------------------------------------------------------- Host OS Pipe AF TCP File Mmap Bcopy Bcopy Mem Mem UNIX reread reread (libc) (hand) read write --------- ------------- ---- ---- ---- ------ ------ ------ ------ ---- ----- slug2 Linux 2.6.11. 19.6 24.2 21.3 30.9 64.4 36.9 43.3 64.4 68.3 slugracer Linux 2.6.12 26.6 26.8 24.4 38.3 97.1 44.5 50.6 97.1 79.0 Memory latencies in nanoseconds - smaller is better (WARNING - may not be correct, check graphs) --------------------------------------------------- Host OS Mhz L1 $ L2 $ Main mem Guesses --------- ------------- ---- ----- ------ -------- ------- slug2 Linux 2.6.11. 133 22.5 242.7 252.5 No L2 cache? slugracer Linux 2.6.12 266 11.3 175.2 186.7 No L2 cache?
Idle: Running idle in RedBoot
Running: Running a small prog which does:
Current: Calculated current supplied at the 5V line, while running
Temp: Temperature measured at the center of the IXP420 after 30 minutes in state "Running"
note: These measurements were taken at the mains-side of the PSU and thus include the power-consumption (loss) of the PSU.
Further note: Measuring the AC draw with a Kill-a-watt meter, a total draw of 5W including a laptop hardrive (Samsung MP0603H) was measured on a 266MHz slug, so this is a very different measurement. The Power factor was bad, so the VA draw (the apparent usage) was 9-11, but it's Watts you're billed on. More data points required! For explanation of VA, PF, etc., Google "Power Factor" VA Watts.
More Power measurements
These measurements courtesy of yahpn.
Measurements taken on the low voltage (5V) side, post power supply.
Benchmarking on Unslung with nbench
To install nbench:
ipkg install nbench-byte
My sad results on a new nslu2 clocked to 266mhz by Linksys:
nbench BYTEmark* Native Mode Benchmark ver. 2 (10/95) Index-split by Andrew D. Balsa (11/97) Linux/Unix* port by Uwe F. Mayer (12/96,11/97) TEST : Iterations/sec. : Old Index : New Index : : Pentium 90* : AMD K6/233* --------------------:------------------:-------------:------------ NUMERIC SORT : 92.96 : 2.38 : 0.78 STRING SORT : 4.517 : 2.02 : 0.31 BITFIELD : 1.8905e+07 : 3.24 : 0.68 FP EMULATION : 8.6342 : 4.14 : 0.96
Thanks to dyoung, beewoolie, jbowler, ep1220, rwhitby, jacques, [g2], VoodooZ.
view · edit · print · history · Last edited by anywhere.
Based on work by anywhere, pjackson, itg, mxlyons, chicna, MXL, djeaux, Ralph Finch, Rolf, realg187, ta, Laurent, Asmodee, purpleonyx, SRS, shane t, humpda, Mattia, JDB, Rob Lockhart, Maxim, Hacked By TreX, morphine, docbillnet, JB, fanto, ScriptFanix, Crosbie, fareale, Noah, Don the Man, daflow, 8888, shezzski, Jeremy Jefferson, ambanmba, halfer, Ghazan Haider, chaw, TomKirk, ffx, Steveevy, oao, Kalle Widell, Mettauk, Peter, joerg107, Marcelo Vianna, Shiett, Adam Baker, Ed, Bullfrog, Charly, heinz, dormiloncete, agf102, JimmyFergus, the phil, sharth, Harvy, Fik, Luke, Matthew Durkin, overlord, MJFox, huou, Phil Pemberton, Ian Halsema, Chuck McKinnon, michaelebrown, tlhackque, tman, Egor Zindy, blaster8, Wei A Tsang, Sharth, Martin J Hsu, Andrei Volkov, dyoung, jacques, ep1220, tonymy01, rwhitby, beewoolie, barrym, VoodooZ, g2, and repvik.
Originally by repvik.
Page last modified on December 25, 2009, at 11:13 AM