Replacing the TV Server USB Controller with a Single Channel PCIe Device

This is the latest part of my project to create a streaming broadcast TV server in Hyper-V. In this article I discuss replacing the Discrete Device Assignment (DDA) passed-through USB Controller with a new TV Server USB Controller (for a fourth time) and whether or not it solved the PCI Express bifurcation problem.

View: Discrete Device Assignment & PCI Express Bifurcation in the Hyper-V TV Server

This is part 4 in the Virtual TV Server series.

Part 1: Creating a Virtual TV Streaming ServerĀ 
Part 2: Redesigning the Hardware for the Virtual TV Streaming Server
Part 3: Discrete Device Assignment & PCI Express Bifurcation in the Hyper-V TV Server
Part 4: Replacing the TV Server USB Controller with a Single Channel PCIe Device
Part 5: Virtual TV Streaming Server: Changes & Issues after 4 years

 

The fourth USB Controller

Having ascertained that the StarTech was incompatible with Hyper-V Discrete Device Assignment. It was important to find a 4-port, powered USB 3.0 controller that did not use PCIe bifurcation. To recap, PCIe bifurcation is a mechanism that allows multiple devices to share a physical PCIe slot. What I had missed with the previous controller was that the marketing for a “dual” or “quad” channel controller card was referencing a bifurcated electrical design.

I knew from the very first dual port USB controller from Part 1 that a powered 2-port card would be fine. The NEC/Renesas had worked flawlessly, but I needed more than two ports. One option would have been to simply get another 2-port controller. I dismissed this as it wastes backplane space on the expensive . It also requires more cable runs inside the chassis, further undermining air flow.

Having missed it the first time around. I stumbled upon the StarTech . A PCIe 1x, single channel, 4-port powered USB 3.0 controller.I also liked it because it allows the use of a thinner SATA power adapter, over a thicker Molex connector.

Note: I actually found the cheaper on eBay!

 

PEXUSB3S42V Installation

The installation was easy. I have kept it in the first slot. It is a waste of an 8x slot at the current time, but I am not using the PCIe lanes. I found a PSU to SATA cable and connected it to the a PSU 12v rail and booted up.

DDA Pass-through was easy and unusually worked without needing to reboot the physical server. The USB Controller was present in Windows Device Manager without any warnings, as were all three ‘s (IT9300 BDA Device).

Three working TV Tuners & a USB Controller shown in Device Manager

TV Mosaic required its older Tuners list to be deleted as they had been removed from the bus. Adding the three ‘new’ tuners worked first time with 100% signal strength and quality.

TV Mosaic with 3 working TV Bulters

 

Testing Playback

After the installation all of the Kodi/TV Mosaic clients were able to perform playback properly from the TV Mosaic server. Crucially, the system didn’t show any signs of instability in playing back 3 different channels from 3 different DVB-T2 multiplexes.

No stuttering or artefact noise was visible. Unlike with the second USB controller. Starting the third stream did not stop playback of the other two (or fail itself).

 

Conclusion

It would seem that my original instincts from Part 1 were correct and that the gamble I took in Part 2 did not pay off. TV Butler’s are quite power hungry and require external power!

The bifurcation issue was an unexpected twist, however it appears that DDA has not been designed to support such complexities.

If you are embarking on your own Hyper-V TV Server, or DDA project. Hopefully you can learn something from this experiment.

Stay tuned for more on the Virtual TV Server the next time something interesting happens!