I wanted to share my findings on setting up mediaportal tv server with a TBS 6981 tuner card under esxi 5.1.
The short story is that it works, the longer one is below:
The setup:
HW:
Mobo: Intel DQ87PG
CPU: 4th Gen Core i5 4670T 2.3GHz 45W HD4600 6M Quad Core CPU
Ram: 32GB DDR3
HDD: 250GB Sata
TV card: TBS 6981 Dual LNB
1x PCI 1GB NIC (ESXI 5.1 does not currently natively support the Intel I217LM NIC on the DQ87PG)
SW:
ESXI 5.1
7 VMs (inc tv server on windows 7)
Prerequisites:
Mobo and CPU must support VT-D (and of course VT-x)
Firstly, this took me a week of testing, fiddling and frustration and hopefully this will help anyone else out and save them the agro.
The issue:
After installing and setting up the HW all looked good, the TBS6981 passed through to the windows 7 VM and the drivers installed without a hitch, mediaport could see the TBS6981 fine.
But when it came to scanning for TV channels, thats when i ran into problems, either a few channels were found or none all
After trying various things unsuccessfully here's what worked.
The Fix:
Firstly the HW setup was incorrect for what i wanted to achieve and for what ESXI could interpret.
I had the PCI NIC plugged into PCI port 2, and the PCIe tuner card in the PCIe x1 slot but the PCI NIC needed to be plugged into port 1, for those interested this is because of how PCIe lanes work and the available speed/bandwidth. (x1, x16 etc)
With the PCI NIC plugged into PCI port 2 it cut the supply of available data lanes down (half to be exact) which inturn restricts the amount of data (or available bandwidth) that can be transferred.
You may notice that a mobo manual may tell you to use port one when referring to PCI/PCI-e devices if only one PCI/PCIe device exists. (yes, i didn't read my mobo manual!)
In a normal PC setup with the OS directly installed this wouldn't be an issue, but the ESXI passthrough seems to create a bottleneck.
Anyway, so now i have the PCIe TBS6981 in the x1 PCIe port and the PCI NIC in slot 1 instead of 2.
At this point i also updated the BIOS, but i don't think this contributed to the solution, however, its worth noting.
The final part of the fix, and this was crucial, was to modify the .VMX file that the mediaportal VM refers to, and add the following line:- pciPassthru0.msiEnabled = "FALSE"
Again, for those interested this forces the the use of IOAPIC mode for the VM, the default mode is TRUE which sets the mode to MSI or MSI‐X.
The 0 being the device, so it could be 0, 1, 2 ect depending on how many devices you have passed through.
The other " " variables will also be different depending on your setup.
Original:
pciPassthru0.present = "TRUE"
pciPassthru0.deviceId = "8852"
pciPassthru0.vendorId = "14f1"
Modified:
pciPassthru0.present = "TRUE"
pciPassthru0.msiEnabled = "FALSE"
pciPassthru0.deviceId = "8852"
pciPassthru0.vendorId = "14f1"
I'm now able to scan and find all the channels i would expect to find and so far, the TV server and clients have been working well.
This is only my own experience and for others it may be different or even not an issue as you may have already knew all of this, but hopefully it may help someone.
Thanks.
The short story is that it works, the longer one is below:
The setup:
HW:
Mobo: Intel DQ87PG
CPU: 4th Gen Core i5 4670T 2.3GHz 45W HD4600 6M Quad Core CPU
Ram: 32GB DDR3
HDD: 250GB Sata
TV card: TBS 6981 Dual LNB
1x PCI 1GB NIC (ESXI 5.1 does not currently natively support the Intel I217LM NIC on the DQ87PG)
SW:
ESXI 5.1
7 VMs (inc tv server on windows 7)
Prerequisites:
Mobo and CPU must support VT-D (and of course VT-x)
Firstly, this took me a week of testing, fiddling and frustration and hopefully this will help anyone else out and save them the agro.
The issue:
After installing and setting up the HW all looked good, the TBS6981 passed through to the windows 7 VM and the drivers installed without a hitch, mediaport could see the TBS6981 fine.
But when it came to scanning for TV channels, thats when i ran into problems, either a few channels were found or none all
After trying various things unsuccessfully here's what worked.
The Fix:
Firstly the HW setup was incorrect for what i wanted to achieve and for what ESXI could interpret.
I had the PCI NIC plugged into PCI port 2, and the PCIe tuner card in the PCIe x1 slot but the PCI NIC needed to be plugged into port 1, for those interested this is because of how PCIe lanes work and the available speed/bandwidth. (x1, x16 etc)
With the PCI NIC plugged into PCI port 2 it cut the supply of available data lanes down (half to be exact) which inturn restricts the amount of data (or available bandwidth) that can be transferred.
You may notice that a mobo manual may tell you to use port one when referring to PCI/PCI-e devices if only one PCI/PCIe device exists. (yes, i didn't read my mobo manual!)
In a normal PC setup with the OS directly installed this wouldn't be an issue, but the ESXI passthrough seems to create a bottleneck.
Anyway, so now i have the PCIe TBS6981 in the x1 PCIe port and the PCI NIC in slot 1 instead of 2.
At this point i also updated the BIOS, but i don't think this contributed to the solution, however, its worth noting.
The final part of the fix, and this was crucial, was to modify the .VMX file that the mediaportal VM refers to, and add the following line:- pciPassthru0.msiEnabled = "FALSE"
Again, for those interested this forces the the use of IOAPIC mode for the VM, the default mode is TRUE which sets the mode to MSI or MSI‐X.
The 0 being the device, so it could be 0, 1, 2 ect depending on how many devices you have passed through.
The other " " variables will also be different depending on your setup.
Original:
pciPassthru0.present = "TRUE"
pciPassthru0.deviceId = "8852"
pciPassthru0.vendorId = "14f1"
Modified:
pciPassthru0.present = "TRUE"
pciPassthru0.msiEnabled = "FALSE"
pciPassthru0.deviceId = "8852"
pciPassthru0.vendorId = "14f1"
I'm now able to scan and find all the channels i would expect to find and so far, the TV server and clients have been working well.
This is only my own experience and for others it may be different or even not an issue as you may have already knew all of this, but hopefully it may help someone.
Thanks.
Last edited: