Thursday, November 29, 2012

A fight to the death - MeshWeaver VS Dust & Thermal Paste

So it's finally time for me to talk about a side-project I've been working on for a couple of months.

I'll kick it off with a comment concerning thermal paste and what it's for.  Of course, if you're already familiar with it, then feel free to skip ahead.
Thermal paste (also called Thermal Grease) is, obviously, a material used on various pieces of computer hardware and electronics such as processors - both central (ex. quad-core Intel i5-2320) and graphics-dedicated (ex. nVidia GTX560 Ti) - and it is usually applied between said processors and their heat sinks to improve heat dissipation through conductive materials like silver, aluminium, and other metals.  The Wikipedia article lists the different types as well as the general usage of thermal paste - for instance too much can increase the risk of over-heating, while too little won't help heat-dissipation as much as it should.
Thermal paste can also be relatively expensive considering the size of the tubes - over at you can see that they have three pages-worth of different brands and types, and they go for up to ~40.00$ CDN.

As I just mentioned above it's usually found between heat sinks and processors to help conduct heat generated by the processor over to the heat sink, which then usually air-cools and any excess heat is pushed out the back of your PC by the casing fan(s).

Dust, of course, needs no explanation - it's just really, really annoying to deal with.

And now on to the project - I mentioned it my last blog post but the only hint I gave was installing drivers for a nVidia GeForce 6200.  Well, time to let the cat out of the bag - I've been working on restoring a roughly 8 year old computer to working order.

...okay, I admit, that wasn't nearly as dramatic as I hoped it would be.

So a quick backstory - my grand-dad found this computer abandoned with old furniture and garbage, obviously discarded, and of course he told me about it.  Needless to say I jumped on it and immediately proceeded to poke around the inside ;)
It was quite a mess - the two hard-drives were disconnected and sort-of shoved into a free spot, lots of cables were hanging loose, a few dials and other bits were missing or broken, and dust reigned supreme.  There was seriously dust everywhere, it caked the inside and the rig obviously hadn't been used in a long while.
That's something I also forgot to mention - this abandoned PC is huge, not to mention rather heavy -most of that is the casing, which is a Thermaltake XaserV, which isn't in production anymore.

Images courtesy of Tom's Hardware

The size and type of case immediately told me that this was either a gaming rig or multimedia server, or both.  The case itself is actually in pretty good condition - a few cables are broken, the key to lock it is missing, and the fan-speed controller at the top there is missing the dial-knobs (not to mention I can't seem to get it working, I haven't yet figured out how to set up the cables), but all the main parts and cabling are still great.

My first task was to get rid of the bulk of the dust, which I did with a vacuum cleaner and a can of compressed air, and then I stripped the whole machine down.  My plan was to clean everything first and then get it plugged in and running with only essential hardware - CPU, hard-disks, GPU (initially an ATI Radeon X800Pro, which had a very strange heat sink attached to it) and one of two DVD drives.  That took quite a while due to the amount of dust and cables to sort through - I had unplugged everything, including the power switch and LED lights.
Once I got everything essential cleaned up, I plugged it in and booted it up.  It started fine, but wouldn't boot anything, so out came my trusty Linux Mint 13 LiveCD.  That worked out-of-the-box, luckily enough, and I was able to see what was going on.
So this computer initially had a dual-core Intel Pentium 4 processor at 3.2GHz, 1GB of RAM (I can't seem to find the speed), the afore-mentioned ATI Radeon X800Pro GPU, two DVD burner-capable drives, two hard-disks with 250GB and 320GB respectively (the first drive having some Reallocated Sector Count errors, but it seems to work great), four working fans, and lots of other its and accessories that either don't work, or I can't figure out how to plug them in.  Maybe a bit of both.

I say initially because I changed/added two or three pieces - the cooling system on the original GPU (the Radeon) was a thermal paste-covered mess and while cleaning it the fan cable broke which made it pretty much useless, it would overheat and shut down after two to three minutes of usage, so I replaced the old Radeon with a brand-new nVidia GeForce 6200 (cost me ~70$ at Microbytes - great place, worth checking out if you live in the Montreal area), which shares the same connector-type.  Both these old GPUs have the AGP-generation slots, which means that GeForce GT520 that was originally in my Gateway desktop wouldn't fit since it has the newer PCI-E connector.  I also added a recently-bought wireless-lan adapter from a 12 year-old EMachine (still works fairly well, considering its age and power).

The original ATI Radeon GPU, without the added Thermaltake heatsink
The brand-new EVGA nVidia GeForce 6200 - the one I bought is a 512MB version.

This was all after I got the computer set up and running on what hardware I'd put back in, as well as having installed Linux Mint 13 32bit, with Mate environment.  The primary hard disk initially had a non-working version of Windows 7 installed, and what I found in the Windows files leads me to believe they weren't exactly legal copies, but I can't be sure.  I of course wiped the hard-disk and installed Linux Mint instead, just to make sure nothing nasty (viruses and otherwise) would stay hidden away in a file somewhere.

Of course, switching to a nVidia GPU brings its own set of headaches to the table.  While the ATI Radeon worked great out-of-the-box, from start to finish (until I accidentally broke it), the nVidia GPU isn't initially recognized by Linux Mint.  You have to do a few special modifications to the start-up procedure in the Grub loader - more specifically, switching the "quiet splash" section to "noacpi noapic nomodeset", which tells Linux to run without using the special driver-dependent options on the graphics processor.

There's also another thing to consider when tackling this problem - use an old CRT monitor and not a modern television, even if it has a VGA input.  Or at the very least, don't use the same television I used - it can't recognize the graphics signal used in Grub, so the screen stayed black and skipped to booting Linux, which of course then didn't work so well considering the drivers were missing.
Now, I could get into the LiveCD with relatively no problems after using the "quiet splash" trick, but on the other hand the nVidia driver installation didn't want to work when doing it from said LiveCD.  It just didn't see them as being available, so I had to use a bit of a work-around.
After scouring Google for information on the process, I learned that I had to modify an essential script that runs on start-up, and in that circumstance I could only access it by using the LiveCD - funnily enough it specifically says at the top of the script to NEVER modify it, and there I was modifying it.

That script is the "grub.cfg" file under /boot/grub.  About half-way down there should be the first menu entry, in this case called "LinuxMint, with Linux 3.2.0-23-generic", followed by several lines of code that determines what gets loaded and what doesn't.
All I then had to do was replace "quiet splash" with "noacpi noapic nomodeset", like I would from Grub if I could see it, which then allowed me to actually see the Linux interface and install the necessary drivers.  Of course I had to switch that startup script back to its original settings afterwards (with "quiet splash"), otherwise you'd get the watered down, lower-resolution interface every time.

Now, what am I doing with this computer, you may ask?
Well, I'm still figuring that out.  Ideally I'd like to use it as a media and Minecraft LAN-server for my family and I, as well as maybe using it to render out images in Blender's new Cycles engine, which I haven't yet tested.  I actually got the Minecraft server working yesterday and it ran smooth as Silk-Touched ice blocks, but today it seems to be suffering from inexplicable lag.  Need to figure that out and fix it.

Anyway, I still have a box of bits-and-pieces that I haven't figured out how to put back in or what to do with, so this project is only mostly-complete.  Much like Wesley was mostly-dead in The Princess Bride (inconceivable!)

That's it from me for now!  Over and out.

1 comment: