Saturday, 27 September 2014

Thinking Outside The Box

Right now I've got my system stacked with expansion cards;

1x GPU for unRaid booting
3x GPUs for passing through to VMs
1x 2 port SATA expansion card
1x Octopus Tv tuner PCIe card
1x Octopus expansion tuner (no slot required)
1x PCI M-Audio Delta card

The Gigabyte 990FXA-UD5 is a great board with 5x full length PCIe slots, a single 1x PCIe slot and a single PCI slot.

However, there's a problem: the 1x PCIe slot is tight up against a heatsink and any cards with any overhang at all simply won't fit. The ideal card in my setup to occupy this slot is the Octopus TV tuner but I can't get it in there. Therefore, I've got that card in a 4xspeed  full-length slot and a 2-port SATA expansion card in the 1x PCIe slot.

This is not ideal as I actually need another two SATA ports to service the full compliment of 12 HDs that the server can presently hold. I'm running cables from the external eSATA ports to two of the drives.

So what to do? I started researching PCIe expansion chassis but found them to be very very expensive (> €1K typically) or incompatible (reliant on thunderbolt).

Then I came across this PCIE => 2x PCI + 2x PCIe Expansion ATX kit. This unit is relatively inexpensive and gives me two 1x PCIe slots and two PCI slots at the expense of a 1x PCIe slot. Critically, the host card that comes with it has no overhang and will fit into the 1x slot on my motherboard.

The unit fits in any chassis and is powered by a standard ATX PSU. Since I'm not short on old PC cases, I went ahead and ordered.

My plan is to move my Octopus base card, tuner expansion card and 2-port sata card to the external chassis, replacing the Octopus in the server 4x PCIe port with a 4 port SATA card I have to hand. I could then add up to 4x hard drives to the external chassis, two linked to the data card and two linked to my server eSATA ports.

Unfortunately, they shipped me not the ATX expansion kit, but rather the expansion box. This is nice unit but has a number of drawbacks for me; it's got a 12V 3A external power brick, cannot provide molex power to cards (my TV tuner cards need power) and has no space to add hard drives internally.

I contacted the vendors and discovered it wasn't necessarily a mistake, the ATX kit had been discontinued and they'd sent me the next best thing.

So thinking cap on...

I took the unit apart and was left with the basic board, similar to that in the ATX kit but without the ATX power header. I was going to need a PSU in the external chassis in any case to power the cards and drives and I considered living with 2x power cables running to the box. However, I remembered I had an internal/external Kama Bay Amp that never really worked in internal mode due to electrical noise. However, it did have a molex to DC cable included to power it when in a PC. Would this work?

12V molex to DC adapter
A quick test proved that it did! I popped an old PSU and the base expansion board into an old pc case, dropped the host adapter into my server, migrated the Octopus and SATA cards to the new system and powered everything up.

Running LSPCI in unRAID revealed that we had liftoff. The PCIe devices in the external case were listed. Obviously the device IDs had changed so I needed to edit syslinux.cfg and my VM config files to hide and assign the devices again but all in all, this was a very straightforward process. I've been watching TV for a few hours now and all seems rock-solid, plus I have 2x PCI slots should I need to add any further devices.

my DIY expansion chassis
The external box is tethered to my server with a single DVI cable (this system uses DVI as a comms link  between host controller card and expansion unit). I'll also be running two eSATA cables from the server into this chassis for future HD expansion. I'm thinking of moving my TVServer 3TB recordings drive to this system - I'm not sure if the 1x PCIe slot will support all my TV tuners PLUS hard drives but a quick test will let me know.

UPDATE: I moved the 3TB PVR Recordings drive from the main system to the expansion chassis and connected it up to the 2-port SATA card. I recorded two HD channels while watching a previous HD recording without a blip, so that works well.

One cool thing about this expansion system is that it's very low power. Booting it with the two PCIe cards and a HD attached (to provide a load to the PSU), my watt meter shows about 20W consumed so there's lots of overhead available for adding HDs in the future. Nice!

Somewhat messy interior of expansion chassis

There's a bit of work to be done to tidy all of this up plus the positioning of the DVI and power connectors on the right side of the board prevent it fitting correctly in the donor chassis (see that the slots don't line up correctly, one PCI port has no external access). I think I'll be using my Dremmel to cut a slot on the bottom of the case and move everything over to the right a little.

Another view 

MediaServer8 itself still has all slots filled but now I've a more flexible system;

From the top;

expansion chassis host card (1x PCIe)
TV1 VM GPU (16x PCIe)
Manjaro VM GPU (4x PCIe)
TV2 VM GPU (16x PCIe)
4-Port SATA Card (4x PCIe)
System Boot GPU (8x PCIe)
M-Audio Delta (PCI)


Anonymous said...


I you don't mind me asking what processor are you using in your GA-990FXA-UD5 ?

Peter Mee said...

I have this one;

AMD FX8350 Black Edition 8 Core Processor (4.0/4.2G)