Hello All,
I am using proxmox VE in the latest Version (1.6-5261-4) and have some problems with PCI Passthrough
to a KVM-virtualised machine.
Ok just some details to the hardware:
- Motherboard: Intel DQ57TM
- Prozessor: Intel Core I5-650
- Card for Passtrough: Digital Devices Cine S2 (PCI Express TV Dual-Tuner S2 Card)
Both the CPU and the board are supporting VT-D and it is enabled in bios.
These are the setps I have done:
1. Install Proxmox VE from CD
2. Install newer Kernel 2.6.35:
wget ftp://download.proxmox.com/debian/d...64/pve-kernel-2.6.35-1-pve_2.6.35-3_amd64.deb
dpkg -i pve-kernel-2.6.35-1-pve_2.6.35-3_amd64.deb
3. Enable Intels VT-d support for this kernel.
without doing that it wouldn´t work for me. I got an error message in the kernel log something like this: ".... no iommu found....device hasn´t been assigned before so can not be reassigned."
nano /boot/grub/menu.lst
...
kernel /vmlinuz-2.6.35-1-pve root=/dev/mapper/pve-root ro intel_iommu=on
4. Get Card-Information with lspci
lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:16.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset PT IDER Controller (rev 06)
00:16.3 Serial controller: Intel Corporation 5 Series/3400 Series Chipset KT Controller (rev 06)
00:19.0 Ethernet controller: Intel Corporation 82578DM Gigabit Network Connection (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.5 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 2 port SATA IDE Controller (rev 06)
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Lspci –n
00:00.0 0600: 8086:0040 (rev 02)
00:02.0 0300: 8086:0042 (rev 02)
00:16.0 0780: 8086:3b64 (rev 06)
00:16.2 0101: 8086:3b66 (rev 06)
00:16.3 0700: 8086:3b67 (rev 06)
00:19.0 0200: 8086:10ef (rev 06)
00:1a.0 0c03: 8086:3b3c (rev 06)
00:1b.0 0403: 8086:3b56 (rev 06)
00:1c.0 0604: 8086:3b42 (rev 06)
00:1c.4 0604: 8086:3b4a (rev 06)
00:1d.0 0c03: 8086:3b34 (rev 06)
00:1e.0 0604: 8086:244e (rev a6)
00:1f.0 0601: 8086:3b0a (rev 06)
00:1f.2 0101: 8086:3b20 (rev 06)
00:1f.3 0c05: 8086:3b30 (rev 06)
00:1f.5 0101: 8086:3b26 (rev 06)
02:00.0 0400: 18c3:0720 (rev 01)
5. Blacklist kernel-modul
with lspci -vv I can see that the card is using the ngene kernel modul.
This modul is also in use from the modul dvb_core.
So I blacklistet this two kernel moduls:
nano /etc/modprobe.d/blacklist
blacklist ngene
blacklist dvb_core
And after reboot with lsmod I can see that these kernel modules aren´t running any more.
6. Unbind device (don´t know if this is necessary)
Now I unbind the device:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe –a kvm kvm_intel
7. Passthrough the device to VM and start VM:
nano /etc/qemu-server/101.conf
...
args: -pcidevice host=02:00.0
..
So on my Virtual machine is running Windows 7. The Device is detected from the windows system and I can install the drivers wihout any problems!!
My problem is that all dvb-applications (Meida Center, DVBViewer,....Mediaportal) don´t get a signal from the tuner-card!
I can see something in the kernel-logs like this:
...
"irq 16: nobody cared (try booting with the "irqpoll" option)"
....
8. Add irqpoll option to menu.lst
Then I added the "irqpoll" option to the menu.lst
nano /boot/grub/menu.lst
....
kernel /vmlinuz-2.6.35-1-pve root=/dev/mapper/pve-root ro intel_iommu=on irqpoll
....
So now I don´t get this error in the log files any more ....but still the same problem.
The Card gets no signal independent from the application I use!!
If I run Windows 7 directly on this host I will get an signal. So the card is working. Also the Sat-Cable is ok.
Has anyone of you succesfully passed through a dvb-device?
Has anyone of you an idea?
Thanks and excuse of my bad english and my not so good linux knowledge!
I am using proxmox VE in the latest Version (1.6-5261-4) and have some problems with PCI Passthrough
to a KVM-virtualised machine.
Ok just some details to the hardware:
- Motherboard: Intel DQ57TM
- Prozessor: Intel Core I5-650
- Card for Passtrough: Digital Devices Cine S2 (PCI Express TV Dual-Tuner S2 Card)
Both the CPU and the board are supporting VT-D and it is enabled in bios.
These are the setps I have done:
1. Install Proxmox VE from CD
2. Install newer Kernel 2.6.35:
wget ftp://download.proxmox.com/debian/d...64/pve-kernel-2.6.35-1-pve_2.6.35-3_amd64.deb
dpkg -i pve-kernel-2.6.35-1-pve_2.6.35-3_amd64.deb
3. Enable Intels VT-d support for this kernel.
without doing that it wouldn´t work for me. I got an error message in the kernel log something like this: ".... no iommu found....device hasn´t been assigned before so can not be reassigned."
nano /boot/grub/menu.lst
...
kernel /vmlinuz-2.6.35-1-pve root=/dev/mapper/pve-root ro intel_iommu=on
4. Get Card-Information with lspci
lspci
00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02)
00:02.0 VGA compatible controller: Intel Corporation Core Processor Integrated Graphics Controller (rev 02)
00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06)
00:16.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset PT IDER Controller (rev 06)
00:16.3 Serial controller: Intel Corporation 5 Series/3400 Series Chipset KT Controller (rev 06)
00:19.0 Ethernet controller: Intel Corporation 82578DM Gigabit Network Connection (rev 06)
00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)
00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 06)
00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 06)
00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 06)
00:1e.0 PCI bridge: Intel Corporation 82801 PCI Bridge (rev a6)
00:1f.0 ISA bridge: Intel Corporation 5 Series Chipset LPC Interface Controller (rev 06)
00:1f.2 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA IDE Controller (rev 06)
00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 06)
00:1f.5 IDE interface: Intel Corporation 5 Series/3400 Series Chipset 2 port SATA IDE Controller (rev 06)
02:00.0 Multimedia video controller: Micronas Semiconductor Holding AG Device 0720 (rev 01)
Lspci –n
00:00.0 0600: 8086:0040 (rev 02)
00:02.0 0300: 8086:0042 (rev 02)
00:16.0 0780: 8086:3b64 (rev 06)
00:16.2 0101: 8086:3b66 (rev 06)
00:16.3 0700: 8086:3b67 (rev 06)
00:19.0 0200: 8086:10ef (rev 06)
00:1a.0 0c03: 8086:3b3c (rev 06)
00:1b.0 0403: 8086:3b56 (rev 06)
00:1c.0 0604: 8086:3b42 (rev 06)
00:1c.4 0604: 8086:3b4a (rev 06)
00:1d.0 0c03: 8086:3b34 (rev 06)
00:1e.0 0604: 8086:244e (rev a6)
00:1f.0 0601: 8086:3b0a (rev 06)
00:1f.2 0101: 8086:3b20 (rev 06)
00:1f.3 0c05: 8086:3b30 (rev 06)
00:1f.5 0101: 8086:3b26 (rev 06)
02:00.0 0400: 18c3:0720 (rev 01)
5. Blacklist kernel-modul
with lspci -vv I can see that the card is using the ngene kernel modul.
This modul is also in use from the modul dvb_core.
So I blacklistet this two kernel moduls:
nano /etc/modprobe.d/blacklist
blacklist ngene
blacklist dvb_core
And after reboot with lsmod I can see that these kernel modules aren´t running any more.
6. Unbind device (don´t know if this is necessary)
Now I unbind the device:
modprobe -r kvm-intel
modprobe -r kvm
echo "18c3 0720" > /sys/bus/pci/drivers/pci-stub/new_id
echo 0000:02:00.0 > /sys/bus/pci/devices/0000:02:00.0/driver/unbind
echo 0000:02:00.0 > /sys/bus/pci/drivers/pci-stub/bind
modprobe –a kvm kvm_intel
7. Passthrough the device to VM and start VM:
nano /etc/qemu-server/101.conf
...
args: -pcidevice host=02:00.0
..
So on my Virtual machine is running Windows 7. The Device is detected from the windows system and I can install the drivers wihout any problems!!
My problem is that all dvb-applications (Meida Center, DVBViewer,....Mediaportal) don´t get a signal from the tuner-card!
I can see something in the kernel-logs like this:
...
"irq 16: nobody cared (try booting with the "irqpoll" option)"
....
8. Add irqpoll option to menu.lst
Then I added the "irqpoll" option to the menu.lst
nano /boot/grub/menu.lst
....
kernel /vmlinuz-2.6.35-1-pve root=/dev/mapper/pve-root ro intel_iommu=on irqpoll
....
So now I don´t get this error in the log files any more ....but still the same problem.
The Card gets no signal independent from the application I use!!
If I run Windows 7 directly on this host I will get an signal. So the card is working. Also the Sat-Cable is ok.
Has anyone of you succesfully passed through a dvb-device?
Has anyone of you an idea?
Thanks and excuse of my bad english and my not so good linux knowledge!
Last edited: