Hallo Zusammen,
ich bin momentan dabei mir einen VDR-Streaming Server hochzuziehen. Diesen würde ich gerne Virtualisieren und die TV-Tuner mittels vt-d zum Gast durchschleifen.
Meine ersten Versuche mit VM-Ware ESXI sind kläglich gescheitert.
So nun habe ich das ganze mal mit KVM (Proxmox-VE) probiert und habe momentan das Problem, dass der TV-Tuner zwar vom Gast erkannt wird, jedoch kein Signal bekommt.
Die Karte und die SAT-Leitung sind in Ordnung. Das habe ich schon ausgeschlossen.
Zunachächst zur Hardware:
MB: Intel DQ57TM
CPU: Intel Core I-5 650
TV-Tuner: Digital Devices Cine S2
CPU und Board unterstützen VT-d. VT-d ist im BIOS auch enabled.
Folgendes habe ich gemacht:
1. ProxmoxVE von CD installiert (neuste Version --> 1.6-5261-4)
2. Kernel 2.6.35 installiert
wget ftp://download.proxmox.com/deb…-1-pve_2.6.35-3_amd64.deb
dpkg -i pve-kernel-2.6.35-1-pve_2.6.35-3_amd64.deb
3. Intels VT-d für den Kernel in der menu.lst aktiviert.
Ohne diesen Eintrag, in der menu.lst funktionierte das Durchreichen überhaupt nicht. Ich hatte dann einen Fehler im kernel-Log.... ".... 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. Karte mit lspci identifizieren
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. Blacklisten der Kernel-Module
mit lspci -vv konnte ich sehen das die Karte das Kernel-Modul ngene nutzt. Dieses ist wiederum in Benutzung von dem Kernel-Modul dvb_core.
nano /etc/modprobe.d/blacklist
blacklist ngene
blacklist dvb_core
Nach einem Neustart konnte ich mit lsmod sehen, dass die Kernel-Module nun nicht mehr geladen wurden.
6. Unbind Cine-S2 (Ich weiß nicht ob das nötig ist)
Hier bin ich mehr oder weniger Strickt nach der Anleitung von KVM vorgegangen.
http://www.linux-kvm.org/page/…_devices_with_VT-d_in_KVM
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. Karte in der VM zuweisen und VM starten
nano /etc/qemu-server/101.conf
...
args: -pcidevice host=02:00.0
..
So nach starten der VM (ist momentan testhalber Windows 7 installiert), wurde die Karte sauber erkannt. Auch konnte ich ohne Probleme im Gerätemanager die Treiber installieren. Jedoch bekommt die Karte kein Signal (Probiert mit mehrern Applikationen)
Jedoch bekomme ich andauernd im Kernel-Log einen Fehler:
...
"irq 16: nobody cared (try booting with the "irqpoll" option)"
....
8. irqpoll option in der menu.lst eintragen
nano /boot/grub/menu.lst
....
kernel /vmlinuz-2.6.35-1-pve root=/dev/mapper/pve-root ro intel_iommu=on irqpoll
....
Der Fehler bleibt jedoch. Karte wird sauber erkannt jedoch kein Signal.
Hat jemand von euch so etwas schon mal erfolgreich zum laufen gebracht?