Workstation class hardware at a deeply discounted price
Every now and then the Computer Recycling Project at The Working Centre gets a really interesting piece of hardware donated. As a not-for-profit project we tailor most of our equipment to people who are lower income, so a lot of times prices for some of these more interesting items are pretty inexpensive. But that doesn’t mean we just wipe the machines, reinstall, and get the out the door… sometimes machines require a little, or a lot more work.
Beyond the checklist
When Computer Recycling receives a computer, we normally either remove the hard drive and replace it with an already wiped drive, or wipe the drive on the spot in the case of solid state storage. Every computer that gets refurbished at Computer Recycling goes through a 44 step checklist that’s broken down into 9 categories:
- Computer Externals – the steps in this stage are mostly to determine if the computer is worth building. We evaluate things like whether the computer has all parts, if the motherboard has leaking capacitors, and whether it’s in good enough general condition to build.
- First Boot – at this stage we set the computer up to boot from our network PXE server. At this stage we turn on the computer, boot to our network server, and check that all fans are working.
- Computer Specifications – On our PXE server are a couple of live environments, a custom Debian Live environment, and PartedMagic. Depending on the age of the computer we’ll either boot to Debian Live (in the case of 3rd gen Core i-series or older), or PartedMagic (any generation). Both live environments have tools like phoronix-test-suite and hwinfo that can be used to determine the machine’s specifications. Generally speaking, we only build machines that are 3rd gen Core i-series or newer. This does include the odd (much slower) AMD A6/A8/A10 APUs, but those are about the oldest machines we’d normally consider building. At this step we also double-check that the original drive has been replaced with a wiped drive.
- Memory Test – all computers undergo a RAM test using Memtest86+. The test normally takes between 20 minutes to 35 minutes. RAM that doesn’t pass is replaced and retested (to make sure the good RAM passes as a fail can sometimes be a bad RAM slot). Once all RAM passes we move on to the next step.
- Drive Testing – it’s not enough for us to just wipe a drive, we always test, wipe, and re-test after a wipe. It’s important to test a drive after wiping it as overwriting every sector can reveal problems with a drive that might not have arisen before because the sector may have never been touched before. SSD wiping works a bit differently, but we use the same SMART test to test both types of drives for SMART errors. Any red/pink at all means we won’t use that drive. The drive may still be usable, but if it has any bad blocks/moved blocks, we won’t use it in our systems. This means we sometimes scrap potentially usable drives, but better safe than sorry. It’s cut down a lot on drive issues we had 15+ years ago.
- OS Installation – as the heading suggests, at this point we PXE boot and install Xubuntu Linux 22.04 from our network installer. We have a small handful of other versions of Linux on our PXE server, including Ubuntu Server, and Linux Mint Virginia (XFCE) edition, but our main goto is Xubuntu Linux.
- Post-Install Setup – We could just install Xubuntu and move on to quality assurance checking, but by itself Xubuntu is pretty sparse. At our project our goal is to produce Linux computers that are a bit more usable right out of the box, so we install additional software that we think would be helpful to the average computer user – software like VLC, Krita, Steam, etc. We also produce a PDF of the computer’s specifications on the desktop of the system, so the person buying the computer can quickly refer to the computer specs without needing to load up a program like CPU-X (a Linux alternative to CPU-Z). Things like DVD playback, sound, webcams, and USB ports are tested at this stage.
- Quality Assurance – Someone else takes over at this stage and goes through a separate checklist to ensure the computer is in good working order.
- Sales Preparation – This is the final stage where the computer will be priced, a barcode and information sticker attached to the computer, and the computer information goes into our Point-Of-Sale (POS) system.
This is a very generalized list of steps, the actual process is a fair bit longer, and we sometimes run into issues… The Lenovo ThinkStation C20 is one of those times where we ran into a minor issue and needed to reconsider which version of Linux we were installing on the machine.
The Lenovo ThinkStation C20
The Lenovo ThinkStation C20 is a very old machine by today’s standards – it appears to have come out Q4 of 2010. The machine we received had a single XEON E5620 CPU (4 cores, 8 threads) running at 2.4GHz. One of the things that makes this workstation interesting is there is a spot for a second XEON CPU on the motherboard (along with another 3 RAM slots – 3 for each CPU). I’m not sure if the machine had the standard install of 4GB of DDR3 and we upgraded that to 8GB, or the person who donated the machine upgraded it to 8GB. Either way the machine currently has a single 8GB stick installed. The graphics card is the original NVidia Quadro 2000 card that would have come with this workstation. The Quadro 2000 ended up being a pain-point for building the machine, but more on this later.
Normally the ThinkStation C20 would have come with a 300GB 10,000 RPM hard drive. We always pull drives out of desktops to be batch wiped with other drives. Finding good 10,000 RPM hard drives is difficult these days. And while most of the world has moved on to solid state drives, we don’t see a lot of SSDs at Computer Recycling. We do see a lot of 500GB hard drives, so that’s what we put in the C20. Sadly we chose a WD Blue drive. This wouldn’t have been my first choice, a WD black drive would have been a better choice, but the blue drive tested fine and was what ended up being put in.
It’s possible the Computer Recycling project might have another XEON E5620 CPU lying around, but even if we found one, we don’t have the heat sink that would be needed to cool the processor. So for now we’re just building using the single XEON processor.
Initial Xubuntu Install
One of our volunteers initially installed Xubuntu 22.04 on the C20. Xubuntu appeared to work great however the Xonotic (game) benchmark was really poor (39.54 FPS for high detail at 1024×768). Checking the driver I noticed that they were using the open source driver, rather than the available (Nvidia-390) proprietary driver. In this case, the volunteer who built the system missed a step some of our more experienced volunteers might have done (to be fair we recently re-printed our checklist, and an old checklist got printed that was missing the step, so my fault completely).
It turns out that the proprietary driver fails to install in Xubuntu 22.04 (and Linux Mint with a newer kernel). After a bit of digging I discovered that the NVidia-390 driver needs an older kernel than is in Xubuntu 22.04. In order to use this driver we would have first needed to downgrade the kernel in Xubuntu to something older than what’s currently in 22.04. It’s been eons since I’ve done anything kernel related in Linux, but I knew from some of the issues I was having with Linux Mint Virginia XFCE on my own hardware that Linux Mint uses a significantly older kernel, and it makes upgrading to a newer kernel easy.
Installing Linux Mint
While I fully expect whomever buys this machine won’t use it as a gaming machine (it’s 2010 remember), squeezing a few extra FPS out would be nice. Knowing that Linux Mint XFCE (21.3 – Virginia) uses an older kernel I decided to try installing Linux Mint to see if the proprietary NVidia driver would work. Yes, it did. And it turned out that it was significantly better, 172.20 FPS (vs the 39.54 FPS using the open source driver). Now before people go slagging the open source driver developers, it’s really not their fault. Traditionally NVidia hasn’t been very helpful to the open source community (thus the infamous Linus Torvalds cursing NVidia video). While NVidia has a page full of open source projects I’m sure they’re not interested in spending the time to update ancient drivers like this to work with modern versions of Linux. It’s a bit sad as a machine like this C20 could still be a very useful workstation, especially with the max 192GB of RAM, and an SSD.
After installing the NVidia driver I also ran Timeshift and set up a restore point for the computer. I figured I would try updating the kernel on Linux Mint, because they make it dead simple to do so. Sadly this resulted in the machine not booting to the desktop, as it had done with Xubuntu. This wasn’t an issue because I was able to just switch to a virtual terminal (CTRL + ALT + F1), login, and run:
timeshift --restore
Timeshift then displays the restore points you’ve set up and lets you choose a point to restore to. I restored back to the kernel the proprietary driver worked on, and voila, the machine was ready to go, back at the desktop. This also confirmed that the issue is compiling the source against a newer kernel.
Considered changing video cards
I also considered changing the video card in the C20 to an ASUS branded AMD HD7750, which scores about 47% better on synthetic tests than the Quadro 2000, but sadly the height of that card is about 10 mm too high to fit in the case properly. The other video cards we have that don’t have a PCIe power connector are all much older, so the Quadro 2000 ended up being the best fit. Something like a low profile GTX 1030 might be the cheapest price/performance card that would actually fit in this machine, but then again we’re dealing with NVidia.
Still More Work To Do
There’s still a bit more work to do on this system. The lid has a lot of very deep scratches on it, so I plan to take it out an spray paint it matte black to get it looking similar to the rest of the system. It’s a neat machine with potential. Once done we’ll likely sell it for around $50 CDN, but for the moment it’s back in our to be refurbished area until we can clean it up a bit more.