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).
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.
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!