If I search the web, get little help, and then solve a problem, I make a point of posting so that someone else will have a better experience. The challenge was this: finding a USB 3.0 PCI Express card that works in an HP ML350 G6 server, a popular choice for small business duties such as Small Business Server or Hyper-V Server. This particular example runs Hyper-V Server 2008 R2, based on Server Core, which can sometimes be awkward for installing drivers.

USB 3.0 is theoretically around 10 times faster than USB 2.0. If you are transferring large files or performing backup to an external drive, it can make a huge difference to performance.

Trawling the web was not particularly helpful. As this expert notes, there is no officially supported or recommended option for USB 3.0 on an ML350:

The ML350 G5 and G6 servers do not have, as a recommended option, a USB 3.0 and e-SATA controller, which would be clear to you by referring the quickspecs of the servers.

If you take the view that only recommended and certified components should be fitted to a server, give up and stop reading now. I do not disagree, but I tend to a pragmatic approach, depending on your budget and how system-critical is the server in question.

Further, it can work. This guy used a HighPoint 1144A card and it kind of works, though investigating I found that some users reporting that only two of the four ports actually work and you have to tolerate errors in device manager; it does not seem ideal. Another user noted that HP’s own card (which is designed for workstations and not the ML350) did not work though maybe it works for others, I am not sure.

I did find some references to success with a Renesas USB 3.0 chipset so found a StarTech card that uses this, PEXUSB3S2. Fitted it, but the server would not boot. A red LED on the server front panel indicated a “system critical” issue. Shame.

I tried a different card, bought in haste from Maplins. This one is a Transcend TS-PDU3. It also has a Renesas chipset. I fitted this to the PCIX 16 slot in the ML350. Note: if you do this, you will need some kind of extender cable for the power, since this (and most USB 3.0 cards) require additional power direct from the power supply. The ML350 G6, at least in my case, has plenty of spare Molex power connectors, but they are on short cables and sited at the front of the computer, whereas the PCI Express slots are at the back.

Good news: the server booted.

Next up, drivers. No CD comes with this particular card, but you can download from the Transcend site. There are two drivers for different versions of the TS-PDU3. I used the second version (Molex and Sata power connectors). Fortunately the setup ran perfectly on Server Core; success.

I took the StarTech card and tried it in another PC, this one self-assembled with an Intel motherboard. This machine also runs Hyper-V Server, but the 2012 version. The machine booted properly, but the setup on the supplied CD did not run.

“Sorry, the install wizard can’t find the proper component for the current platform”, it remarked cryptically.

I went along to the StarTech site and found an updated driver which looks remarkably similar to the one I had installed for the Transcend card. It ran perfectly and all is well.

This is a good moment to mention Devcon.exe, an essential tool if you are installing device drivers on Server Core. You can use the GUI Device Manager remotely, but it is read-only. Devcon.exe is part of the WDK (Windows Driver Kit), and it is not too hard to find. Make sure you use the right version (32-bit or 64-bit) for your system.

On server core, run:

Devcon status * –> devices.txt

to output the status of your devices to a text file. Open it in Notepad, which works on Server Core, and look for the word “problem” to see if there are issues. For example, Problem 28 is “no driver”. You also get the hardware ID from this output, needed if you use Devcon to install or update a driver. You may find things like audio devices that are not working; unlikely to be a worry on Server Core.

In my case, on both servers, I can see that the USB 3.0 card has been correctly detected and that the driver is running.

Why did the StarTech card not work on the ML350? Here I am going to shrug and say that PCI Express cards can be problematic. Equally, if I get good results and no unexpected behaviour from the Transcend card, I am not going to worry that it is a cheap card that does not belong in a server.

The truth is, if you need USB 3.0 you really need it, and the only alternative is a new server.

If you must connect a USB 3.0 disk, then you have no choice but to go through all this trouble to find a USB 3.0 controller that’ll work.

If you just need extra drives, though, eSATA would probably be the least-problematic option. Contrary to popular belief (and the quoted snippet from the HP forums), there is no such thing as an eSATA controller. eSATA is just SATA, with a different connector.

If the motherboard supports SATA hotplugging, then by definition it will also support eSATA. All you need is to install an eSATA bracket — which is just a straight-through pinout, with no active electronics.

The benefit over USB 3.0 is that there is no overhead at all — eSATA drives will run just as fast as if you’d removed the drive from the enclose and plugged it in internally. There are also no drivers necessary, because the external drive is talking directly to the motherboard, without passing through any additional controllers.

I am puzzled by your statement “… since this (and most USB 3.0 cards) require additional power direct from the power supply …”. I have installed a lot of different USB3 PCIe cards (not in servers but in normal PCs), and though all of these have a 4 pin power connector I never hooked them up to the power supply. Nevertheless, USB sticks and 2.5 inch external hard drives work without problems, and 3.5 inch hard drives usually have their own power supply anyway. At work we’ve bought Fujitsu PCs with preinstalled USB3 cards, and again the manufacturer did not connect the card to the power supply. If I am not mistaken a PCIe 2x slot can provide up to 10 watts of power, which should be enough to provide a maximum of 900 mA per USB port.

I have tried the PEXUSB3S2 which did not work out. I installed it, booted OK, drivers installed OK (Tried the ones on disc that shipped with the card as well as the latest from startech website) – With both drivers, I was initially able to use/access drives, but about 5-10 minutes into running, the server lost all external drives, even the onboard usb ports wouldn’t detect any external drives. Then the server started freezing up and i was forced to do a hard shutdown. Tried two PCI-E ports with no difference.

I’ve since tried the startech card in an HP 6305 desktop and it runs flawlessly.