I was recently given an old HP MediaSmart EX470 server along with some other junk hardware. Although it has no graphics, a slow single-core AMD Sempron CPU, and just 512 MB of RAM, I was able to revive it quite satisfactorily. Here’s how I upgraded the hardware and software.
Remembering the MediaSmart
HP released the first MediaSmart server in 2008, and there was much interest at the time both for the compact yet innovative hardware and the embedded Windows Home Server operating system. Inside Home Server was Microsoft’s innovative Drive Extender software, giving these devices Drobo-like flexibility.
The first single-drive MediaSmart EX470 (and identical dual-drive EX475) featured four 3.5″ SATA disk drive bays, a gigabit Ethernet port, a single-core 1.8 GHz 64 bit AMD CPU, and 512 MB of RAM. Although not exactly up to today’s standards, this hardware is decent enough to consider resurrecting.
I wasn’t going to take the little MediaSmart until I saw how well-made it was. The solid chassis is smaller than the three Lord of the Rings books, and the nifty locking hard disk drive carriers are nicer than those found on many servers today. Maybe, I wondered, this little guy could be pressed back into service.
Some research showed that the MediaSmart’s CPU and RAM could be upgraded somewhat: The MediaSmart uses a standard (if outdated) BIOS and supports 2 GB DDR2 DIMMs and a few different Socket AM2 CPU models. The stock CPU is a single-core 90 nm “Manila” Sempron 3400+, but the “Brisbane” 65 nm dual-core chip makes a nice upgrade and stays inside the MediaSmart’s meager power and cooling envelope. I presumed that I could locate these components on eBay (or Weird Stuff)!
Why not just use a Raspberry Pi? Apart from the solid chassis and power supply, even the original-spec MediaSmart soundly beats a Pi at just about everything. In terms of I/O, there’s no competition: The MediaSmart has native full-speed Gigabit Ethernet and multiple SATA ports, while the Pi still routes all this through a single slow USB 2.0 connection. Even the Olimex LIME2, with native Gigabit Ethernet and SATA, can’t manage the I/O performance of the MediaSmart.1 The original single-core Sempron CPU easily beats the dual-core LIME2 and comes out about even with the 4-core Pi3 overall, though each individual Geekbench test varies widely.2
Installing Ubuntu Blind
The first setback was a feature, not a bug: The MediaSmart has no graphics port. Although the USB ports support keyboard input, it’s awfully hard to debug the MediaSmart without access to the Sempron CPU’s VGA output. There is a hack to add a VGA port, but the pre-built boards are long-since out of stock and I wanted to get started quicker than building a cable.
I decided to install Ubuntu Linux on the MediaSmart blind, following the steps used on a spare PC. Shockingly, this process worked! But the network wasn’t working, so I didn’t know for sure. The MediaSmart gave me no feedback apart from some happy-sounding hard drive noises.
Presuming that the network chip in the MediaSmart wasn’t detected and configured properly, I decided to try a USB LAN adapter I had in my desk. I connected it to the good PC and recorded exactly the proper steps to log in and configure Ubuntu to make it work. Then I blind-typed these commands on the MediaSmart with the USB LAN connected there and it worked!
Once I could log in via USB, I could manually configure the MediaSmart’s native SiS 191 LAN controller in Ubuntu. For posterity, add the following to /etc/network/interfaces:
auto enp0s4 iface enp0s4 inet dhcp
I now had a mostly-functional copy of Ubuntu Server installed on my MediaSmart.
Fixing the SATA Ports
Except that two of the MediaSmart hard drive slots were not working. Looking at the output of lspci, it’s clear that the MediaSmart has two SATA controllers: A Marvell 88SE6121 SATA II controller and an SiS SATA/IDE controller. The Marvell chip controls the eSATA port, while the SiS controller is attached to the riser inside the box for the four drive trays.
By default the MediaSmart uses this internal SiS SATA controller in RAID mode, but this requires a driver which I don’t have. I realized I had to (blind!) switch the controller to independent mode for Linux to be able to use it. Happily, a poster over at OpenMediaVault.org had already figured out the procedure! And it worked!
- Boot the MediaSmart and as soon as the light flashes red and blue, hit the Delete key to enter BIOS configuration
- Pres the Down Arrow three times and then press Return to select Integrated Peripherals
- Press the Down Arrow once and press Return to select SiS On-Chip PCI
- Press the Down Arrow eight times to select SiS Serial ATA Mode
- Press PgDn once to select 4P(IDE)+4S(IDE) mode
- Press F10 to save and Return to confirm
Once I did this, Ubuntu recognized all four integrated ports (in IDE mode) and the drives attached. There is no “four drive SATA” mode with this controller without the RAID driver, but IDE mode works just fine too.
Upgrading the RAM
Because 512 MB isn’t much RAM even for a headless server, I decided to upgrade it. There’s only one DIMM slot on the board, and it recognizes a maximum of 2 GB, so that’s what I went for.
The stock RAM is DDR2-667 (PC2-5300), but better RAM works fine too. I found a used 2 GB DDR2-800 (PC2-6400) DIMM for $15 on eBay and ordered that.
Upgrading the RAM is helpful not just for the added capacity: It appears that the hardware uses the added capability as reflected in the Geekbench result. Memory access is 25% faster.
I also ordered a dual-core AMD Athlon X2 BE-2300 but couldn’t get it to boot. Perhaps there’s something I need to do in BIOS, but without graphics that’s hard to know. For now it’s in the drawer with the original RAM stick.
The old MediaSmart is a surprisingly capable home or small office NAS once it’s been upgraded with a modern Linux installation. My next step is to configure it for NAS use with ZFS or LVM/Btrfs RAID and Samba. Too bad the MediaSmart community is mostly retired, too. Hopefully this well-built little server can put in a few more years of active duty!