::::: : the wood : davidrobins.com

Upgrading the Myth box

News, Technical ·Friday September 28, 2012 @ 17:32 EDT (link)

The "Myth box" is what we call the computer connected to the TV that we use to play most shows and movies, because it runs MythTV (and XBMC for movies, with a planned cut over to XBMC for both shows and movies when I get around to it); its "official" machine name, is (following the theme of mythical locations) cirith-ungol. Anyway, a little over a year ago, while we were still in Washington state, the old case fan gave up the ghost, causing some overheating issues with the motherboard (including some visibly burst capacitors) before I replaced the fan (records indicate in July 2011).

However, the machine still ran well for the most part, so there was no need to replace anything else. But lately it had been acting up again: freezing up at boot, or not detecting disk drives, stopping at other points in the boot, or, when it did manage to boot, losing contact with the disk drives at a later point. For a while, connecting the disks to different SATA ports made the problem go away; but eventually the machine was so unstable I took it to Genie Computer Systems, a local computer place, for evaluation. I paid them $50 for diagnosis, and they told me it found the disks just fine and that my "Linux install was corrupt". OK; we developers have all seen "not repro" bugs before—it fails for the tester but works fine on our machine, either because the steps aren't quite right or the environment is different. So I can't fault them for that. And they did some work, so I don't resent paying them. But the "Linux install is corrupt" diagnosis was weak and unwarranted. If you don't know, say so! (It also took them a day or so longer than expected to come up with this useless conclusion.)

So, it was time for a new motherboard! I decided to stick with MSI, and did a little research and decided to go with the 990XA-GD55. I found out that neither the memory nor CPU were compatible, so to that I added an AMD Athlon II X2 (Dual-Core) 270 and 8 Gb of memory; I was going to go with some DDR3 1333, but Newegg (online retailer) had a sale on Team Xtreem Dark Series 8GB (2 x 4GB) 240-Pin DDR3 SDRAM DDR3 1600 (PC3 12800) for a little less than the other. All told, just over $200 for am upgrade that was rather long overdue anyway. We anxiously awaited the package from UPS….

The Newegg box arrived, packed with their usual care; so I set out removing the old motherboard (an MSI K9N Platinum): I took some pictures in case I had trouble remembering what went where, but I didn't end up needing them. Power, USB, power/reset switches/LEDs, SATA cables; all removed, then unscrew the board and ease it out. Replace the rear connector cutout. Install the new memory and CPU in the new motherboard; easy enough; don't get any thermal paste on you! Now, ideally I should have been powering on the board at each step to check for failures; but I didn't; so I had everything attached—SATA cables were a bit awkward since they were at the far side, but I could get to them through the other side of the box. The 12V power connector I had was 4-pin and the board had an 8-pin socket, but apparently it was fine to connect it up where it fit. (Tom's Hardware Forum was one of the most frequent hits with good information, plus a few overclocker forums (even though I wasn't overclocking the CPU).)

I connected the power cord and a video cable and flipped the power switch.

Nothing: no fan, no buzz from the optical disks, no LEDs.

Great, what did I break? Did I kill it? I didn't see any magic smoke escape!

I even pulled out the multimeter and checked the voltages from the PSU (Power Supply Unit): all within tolerances. I was all set to RMA (return) the motherboard as a dud—after all, the old motherboard came right on when powered on—when I had a thought about checking if it required a power switch… and so it did, so I shorted pins 6 and 8 of "JFP1" and the thing whirred to life. My fault for not knowing that first, the board could be powered on without anything attached (even memory or CPU) (although it wouldn't be happy about it), and not incrementally testing it with each addition, and, second, knowing that the power switch connection was required on in this board. (Later I was able to set the system to automatically start when powered on, through the BIOS.)

The system booted past GRUB, loaded the kernel, but was unable to find any disks. The new motherboard didn't have an IDE connector, so I couldn't boot from a LiveCD/DVD; but fortunately, it could boot from a USB stick; so I made a Gentoo 12.1 LiveUSB from a LiveDVD ISO (just dd it!), and built and installed a new kernel with AHCI support (fortunate educated guess) via a chroot; and then it got a good deal further, but failed to bring up the network interface.

This was also obvious: the new motherboard has different on-board network hardware—old was nVidia nForce "forcedeth", now it was a Realtek chip needing the "r8169" driver (as you may guess, I build a custom kernel and don't build random stacks of modules). Even after setting that up, it wanted firmware (according to dmesg), so I emerged the linux-firmware package from the chroot; and (modulo a tweak so that udev didn't reassign the interface as eth2), finally it boots correctly!

And it's been stable for the last few days. It's nice to be able to watch shows again (I hear that too much reading rots the brain).