Wednesday, December 18, 2019

Computer Hardware Juggling for fun (but not profit)

Any self-respecting computer nerd has a pile of various castoff bits of computer hardware and cables, saved because "you never know when you might need it for something..."

This a story from mine.

First, backstory:
In late 2008, I built my mom a budget computer (bought motherboard, cpu, memory, etc. and assembled it myself). It originally went into an old full ATX case that itself was something I had on hand from when I built my then girlfriend, now ex-wife a computer in college.
In 2010, I built my first file server from an old computer I got from my in-laws.
In 2011, I bought my current PC and did another round of hand-me-down shuffling, resulting in the innards from my mom's computer going into a smaller case, with a reused hard drive so as to upgrade from XP to 7 (during which I discovered that Windows 7 doesn't care if you move a functional hard drive with the OS already installed on it to a completely different system) and my frankenserver (now using a newer CPU/Motherboard/RAM from my recently retired desktop) went into the full ATX case, for which I had to use some spare fans from my pile to make enough airflow to get it happy.
In 2013, frankenserver died (capacitors on the motherboard) and I bought an actual new server for it, and stripped the old one for parts, including a lot of fans and cabling for such.
One of those fans and a heatsink from an abandoned PCI card (fakeraid or GigE, don't remember which) was pressed into service to keep my ODroid cool when it became clear it couldn't deal with ambient cooling inside its case at full load. A 12v 30MM fan is a lot less annoying when you're only driving it with +5vDC off of the GPIO pins of a Pi clone.
A couple of years ago, my mom replaced her computer, and so the old one came back to me. I realized that as old as it was, it was a better CPU and more memory than the (castoff) Atom netbooks the kids had been playing with, so I grabbed the old SSD out of the netbook (running windows 10) and slapped it into that to make them a desktop. It's still impressive to me that Windows 10 is perfectly content to run on what was fairly low-end hardware 12 years ago, and how much of a difference an SSD makes in terms of day to day performance on a box like that. But there was basically no driver for the ancient on-board Nvidia chipset and Java wouldn't recognize graphics, so I needed a different video card. A friend from work gave me an AMD Radeon R9 200 he wasn't using, that made Minecraft work, but was seriously bottlenecked by the CPU, PCIe 1.0, and probably wasting a lot of power in the process.

That brings us to today. The kids have been complaining about the slowness of the current box in terms of its ability to do more than play Minecraft and Youtube, and it was getting laggy even for that, so I decided part of their Christmas gift this year would be an upgrade. Bought myself a new PC with intent to hand them my old one, with the graphics card from the old box. I went from a 2nd-gen Intel i7 to a 9th gen, but because it was a Cyber Monday door buster there was no configuring it, and I elected to not pay Dell's premium for a different box with more memory and a relatively small SSD, so I ended up with only 8GB of RAM and a 1TB spinning rust drive + 16GB of Optane (aka tiny, fast NVME SSD as cache). Got the computer Friday, booted it, realized that I'm utterly spoiled by the SSD in my current machine, because it felt slower than the current, much older box, ordered an SSD and the other 8GB of RAM the same day. Side note: 1TB Samsung Evo 860 is flirting with $100, which boggles my mind.

Meanwhile, the 11 year old box that's aging out of my fleet found a new home, so I grabbed a video card (Nvidia Geforce 9500 GS) I'd rescued from another actually, for real dead (fried CPU) box my ex-father-in-law gave me and set to getting that working, since it's still lightyears ahead of the onboard video. Many bluescreens were the result. Unsurprisingly, Windows gets a little cranky when you yank an AMD video card and install an Nvidia without first uninstalling all the AMD software and drivers. Finally got drivers and such wrangled, which involved safe mode in Windows, and was still getting bluescreens, albeit less frequently. Discover that the fan in the video card seemed to not be spinning, figured maybe bluescreens were because of overheating. Rummaged in my pile-o-parts for a fan and rigged something up to serve as a card fan. I'm simultaneously proud and ashamed to admit it involved zip ties and an 80mm fan. Happened to have a cable on hand to split the single case fan power terminal to drive both fans. Finally got the box happy after a complete reset (what Win10 now calls a clean install) of Windows and a video driver update.

SSD and memory for the new box arrived first thing Sunday, so I set to installing it so that I could clone the existing drive over. Turns out that Dell got cute with their power supply and there are no SATA power cables from the power supply itself. There are two 6-pin female PCIe connectors on the motherboard labeled for SATA power, and only one is being used. The optical drive has some other connector (it looks like they used a slimline), so I couldn't steal that, meaning that I had to temporarily use a SATA splitter I had on hand to power both drives long enough to clone them. Long term plan is to move the 1TB disk to the kids' box to replace the 400GB drive that is original to the computer, but I need to hang onto it long enough to confirm that the new Dell doesn't have any sudden hardware failures and need to be sent back, so it'll sit for a bit first. Protip: If you have a box with Optane, make sure to disable it before you go cloning the hard drive. If you don't, the Optane disk will disappear when you swap to the new drive, and you'll have to swap back, disable Optane, then swap again so you can re-enable.

Now for moving the Radeon to the kids' new box. I had forgotten that the Radeon needs 2 6-pin PCIe power cables to run. In the last box, that required a Molex to 6-pin adapter because the power supply only had one. I figured I'd just move that over. Except... in this box, (with apologies to Ghostbusters) there is no Molex, only SATA. I have Molex to SATA power cables in the pile-o-parts from my old frankenserver, but they're for powering SATA devices off of Molex, not the other way around, so wrong gender. So I had to wait on a SATA to 6-pin adapter (the opposite of what I would have needed above), which fortunately was $6 and ships free one day from everyone's favorite rainforest retailer. Also convenient that I had a SATA power splitter/extension on hand, as there aren't that many SATA cables in the right place for this. Fast forward a bit, cable arrives. Install card, plug everything in, and... nothing. Powers up, but won't boot. I figure maybe the OEM Dell power supply, which tends to be sized for exactly what it leaves the factory with and little margin for upgrades, is too anemic, and got to swapping it for the 500W power supply in the box that's aging out, since it no longer needs anything that burly. Which conveniently means I now have plenty of Molex to power the video card and didn't need that cable after all, so into the spares bin it goes. That one also has very few SATA power and lots of Molex, so in go the Molex to SATA power adapters. And the old box's IDE/Molex CD-RW gets swapped for a SATA one so that I don't have to worry about powering Molex stuff with the SATA-only power supply from the Dell (which is incidentally now in a Gateway-branded case).
Power supplies juggled, power up... still nothing. Argh. Research and picking a few friends' brains leads me to discover that I'm doubly on the wrong side of the transition between legacy BIOS and UEFI. I have a computer with legacy BIOS that is dependent on a very specific video mode in order to boot, and a video card that requires UEFI and does not support the required mode. Nevermind the fact that the same card worked in a legacy-BIOS MSI motherboard that is 3 years older. Dell cheaped out on compatibility in some way, and Gigabyte cheaped out on their card being dual-mode, unlike some other variants of that AMD card. So I put the call out on BookFace for assistance and effectively raided someone else's spare parts bin for another video card (GTX 660) and tried again, and that worked just fine, other than being a very tight fit between the back of the case and the hard drive cage.

My son (10) is on a kick watching Linus Tech Tips on youtube, and was asking me why I didn't just build my new PC from parts like they do. My answer was that for what I need, I usually can't touch the price and convenience of "Dude, you're gettin' a Dell!" -- and also this exact hardware integration debacle, while an interesting challenge, ate an awful lot of my time that I'd frankly rather pay someone else to deal with at this point in my life. But I'll happily help him build his next PC if that's something he wants to do together.