Overclock the Kurobox Pro/Linkstation Pro
Disclaimer and Preface
Use this at your own risk, over clock can potentially brick your Linkstation. The ARM CPU in your LSPro is rated at 400Mhz, by over clocking it to 500Mhz can make it unstable, overheat or even cook the CPU and render the LS useless. Like all over clock, you need to provide good heat sink and cooling for stable operation
The credit goes to the author of the original Japanese article (believe on Kuro and LSProV2 boxes), of which this procedure is based on.
As I have successfully done the modifications on my LSPRO v1 and like to share my experience to make up the deficiency of Google translate and the changes (compare to the original article) I have to make to get it to work. I believe the reason for the changes is possibly due to the original article was on a Kuro Pro, whereas mine is a LSPRO. The photo of the board shown in the original article also looks different too, possibly due to different board revision.
At time of writing of this article, there is still limited up time for my LSPro, I am not absolutely sure if there will be any long term stability or reliability issue due to the overclock and changes I have done and only time can tell.
I will update this post with more pictures in the next few days and results on liability in weeks to come. While I already have my LS pull apart, I like to do the hack for second SATA connector with another drive connected with intent to make it function similar to the Duo. Until then, hopefully in a week’s time, I will not be able to put it under stress test.
In my opinion, you need good soldering skill and access to a good fine tip soldering iron or station.
- 3.3V, 31.25Mhz (giving 500Mhz CPU clock) SMT (surface mount) oscillator module. The closes you can get off the shelf is 32Mhz (giving 512Mhz CPU clock), which works well in my modification. I bought this from RS Component, p/n 471-9427 for AUS$9.60. http://www.rsaustralia.com/cgi-bin/bv/rswww/searchBrowseAction.do?N=0&Ntk=I18NRSStockNumber&Ntt=471-9427&Nty=1&D=471-9427&callingPage=/jsp/line/line.jsp&BV_SessionID=@@@@0050679339.1204691026@@@@&BV_EngineID=cccladedhgehlhfcefeceeldgkidhgn.0&cacheID=auie&Nr=avl:au
- 0.1uf SMT Capacitors x 2.
- SMT high frequency filter. (I don’t have the value; it is used for high frequency filtering in the 3.3 v DC supply for the oscillator module). Alternatively (in my opinion, although I have not tried it myself) a jumper wire or 10 ohm resistor will do the job, if you are unable to find a RF filter.
- 1 inch length of fine jumper wire or wire wrapping wire.
You should be able to find items 2 -3 in any old PC cards or motherboard, and I got them from an old LinkSys VOIP adaptor (SPA3000).
Please refer to the original Japanese translation and pictures if required, steps used here follows the original Japanese article.
Before the actual modification you need to remove motherboard from LS by following the disassemble procedure in this WiKi (http://buffalo.nas-central.org/index.php/Disassemble_the_LS_Pro_v1/LS_Live_v1), allowing you to do the soldering on a work bench.
Work area is to left of existing oscillator module X2.
Install crystal oscillator module (item 1 in parts list) to X3 position.
C221 does not exist in the motherboard position as shown in the original photo or article; you can ignore it for the moment. Will re-visit in step 5.
Move resistor R238 to resistor position R165.
Pin out of oscillator module for reference: • #1 OE • #2 GND • #3 CLK OUT • #4 VCC(3.3 volt)
This is the step I got caught, picture shown in the Japanese article is different from the layout on my LS PCB, and the LS failed to power up (keep beeping) the first time without this change.
Work area is to right next to oscillator X3 installed at Step 1.
The original article is to move R237 to R249, where R237 exist but not R249 in my LS motherboard.Instead I moved R237 to R183.
Solder jumper wire (item 4 in parts list) connecting Pin 3 on X2 (25M oscillator module) to Pin 3 on X4 (Nothing was soldered, only just the solder pad). This step is not in the original Japanese article, change I have to make by educated guess to make the LS power up.
Work area is to left of ARM CPU, be careful as Resistor label is not next to physical location.
Move R50 to R78.
Work area is on other side of the PCB behind the ARM CPU.
Move R54 to R82.
Work area is on other side of PCB where X3 oscillator module was added in step 1.
Original article mention add C227, which is already installed in place.
Add by soldering C222 and C221 with SMT capacitor (item 2 in parts list).
Add by soldering FIL4 with filter or jumper wire (item 3 in parts list).
Finish & Test
Reassemble motherboard back to chassis, re-connect hard disk and assemble case in reverse order of disassemble. You may prefer to test if it works before complete re-assembly of LS. Test with the utmost caution, as any accidental short may brick your box. To confirm if the LS CPU is running at 500MHz, you can SSH into the LS, and by typing "cat /proc/cpuinfo", the BogoMIPS should read 340.78(for 512Mhz CPU clock) instead of 266.24(for 400Mhz CPU clock).
Some Bench Mark figures (ftp from PC with Jumbo frame enabled).
Using "put" command
ftp: 1495778856 bytes sent in 86.02Seconds 17389.54Kbytes/sec.
ftp: 1495778856 bytes sent in 80.44Seconds 18595.66Kbytes/sec.
ftp: 1495778856 bytes sent in 63.86Seconds 23423.15Kbytes/sec.
ftp: 1495778856 bytes sent in 63.94Seconds 23394.57Kbytes/sec.
Using "get" command
ftp: 1495778856 bytes received in 45.19Seconds 33101.97Kbytes/sec.
ftp: 1495778856 bytes received in 42.34Seconds 35324.46Kbytes/sec.
ftp: 1495778856 bytes received in 38.45Seconds 38898.89Kbytes/sec.
ftp: 1495778856 bytes received in 39.16Seconds 38200.50Kbytes/sec.
hdparm -tT /dev/sda
Timing cached reads: 370 MB in 2.01 seconds = 184.19 MB/sec Timing buffered disk reads: 114 MB in 3.03 seconds = 37.57 MB/sec
hdparm -tT /dev/sdb
Timing cached reads: 378 MB in 2.00 seconds = 189.14 MB/sec Timing buffered disk reads: 128 MB in 3.02 seconds = 42.41 MB/sec
Like all over clocking, the biggest challenge is cooling the CPU to allow stable operation, I have decided to add a heat sink to the CPU. The type I used is similar to the type used in Mother Board or VGA cars for cooling the chip set. Please make sure the height of the heat sink is low enough not to hit the hard disk when installed. I glued the heat sink to the ARM CPU by using Arctic Silver Thermal Adhesive.
As I am no expert in Linux, and don't know if there is any CPU test or stress utility that I can run on the LS to stress it. In the PC or Window world, the common utility is the Prime number generator test, stressing the CPU to 100% utilization for long time to test if the CPU still operate stable after over clock.
All I did is transfer over 150G of files non-stop over 2 hours, and all works flawlessly. The Top figures, showing the CPU utilization is between 65-70% close to 2 hours. The heat sink is quite warn (or hot) but still touchable. As I have not record the temperature of the CPU before over clock and unable to do a comparison. This 2 hours test is my only test, and may not be scientific. I will let time tell me, and report back in a month or two's time.
Update (22nd March, 2008) My LS has been up and running continuously for the last 2 weeks without missing a beat since I have overcloced it.