[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

[HS] Qemu-kvm et passthrough



Bonjour,

J' ai un WinXP virtualisé dans un fichier qcow2. Ce que j' aimerais
par-dessus tout ce serait pourvoir dédier certains ports USB à qemu-kvm
de façon à pouvoir brancher/débrancher des périph' exactement comme sur
un vrai PC, à défaut ce que j' aimerais quand même ce serait retrouver
un USB passthrough fonctionnel. Je suis en sid et je viens de mettre à
jour ma bécane. J' étais en qemu-kvm 0.14.1 et je suis donc passé en
qemu-kvm 0.15.1. L' USB Passthrough marchait très bien, avec la
commande suivante j' avais bien les 2 périphs USB dans ma session
XP:
kvm -boot c -m 2048 -net nic,vlan=0,model=ne2k_pci -net user,vlan=0
-localtime -soundhw sb16 -enable-kvm -hda WinXP.qcow2 -usb -usbdevice
host:067b:2303 -usbdevice host:050d:0131

J' ai maintenant systématiquement l' erreur suivante:
kvm: /build/buildd-qemu-kvm_0.15.1+dfsg-1-amd64-sfEYO6/qemu-kvm-0.15.1+dfsg/hw/usb.c:336:
usb_packet_complete: Assertion `p->owner != ((void *)0)' failed.

Du coup j' ai voulu retenter le PCI Passthrough en me disant que si je
pouvais faire remonter directement un des contrôleurs USB ce serait
gagné. Voici un extrait de lspci -v:

00:12.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB
OHCI0 Controller (prog-if 10 [OHCI])
Subsystem: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18
Memory at fe3f7000 (32-bit, non-prefetchable) [size=4K]
Kernel driver in use: ohci_hcd


00:12.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB
EHCI Controller (prog-if 20 [EHCI]) 
Subsystem: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17
Memory at fe3fe400 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: ehci_hcd

00:13.0 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB
OHCI0 Controller (prog-if 10 [OHCI])
Subsystem: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB OHCI0 Controller
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 18 
Memory at fe3fc000 (32-bit, non-prefetchable) [size=4K] 
Kernel driver in use: ohci_hcd

00:13.2 USB Controller: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI
Controller (prog-if 20 [EHCI]) 
Subsystem: ATI Technologies Inc SB7x0/SB8x0/SB9x0 USB EHCI Controller
Flags: bus master, 66MHz, medium devsel, latency 64, IRQ 17 
Memory at fe3fe800 (32-bit, non-prefetchable) [size=256] 
Capabilities: <access denied> 
Kernel driver in use: ehci_hcd

00:14.4 PCI bridge: ATI Technologies Inc SBx00 PCI to PCI Bridge (rev
40) (prog-if 01 [Subtractive decode]) 
Flags: bus master, 66MHz, medium devsel, latency 64 
Bus: primary=00, secondary=01, subordinate=01, sec-latency=64 
I/O behind bridge: 0000a000-0000afff 
Memory behind bridge: fe400000-fe4fffff

01:06.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 62) (prog-if 00 [UHCI]) 
Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
Flags: bus master, medium devsel, latency 64, IRQ 21 
I/O ports at ac00 [size=32] 
Capabilities: <access denied>
Kernel driver in use: uhci_hcd

01:06.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1
Controller (rev 62) (prog-if 00 [UHCI]) 
Subsystem: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller
Flags: bus master, medium devsel, latency 64, IRQ 22 
I/O ports at a880 [size=32] 
Capabilities: <access denied>
Kernel driver in use: uhci_hcd

01:06.2 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 65)
(prog-if 20 [EHCI]) 
Subsystem: VIA Technologies, Inc. USB 2.0
Flags: bus master, medium devsel, latency 64, IRQ 23
Memory at fe4ffc00 (32-bit, non-prefetchable) [size=256]
Capabilities: <access denied>
Kernel driver in use: ehci_hcd

Les 00:12.* et 00:13.* sont deux des contrôleurs natifs de la CM et les
01:06.* c' est une carte PCI. Je n' ai pas réussi à faire remonter ni
un des contrôleurs natifs ni la carte d' extension. De ce que j' ai
compris de mes recherches sur le web, pour les natifs c' est parcequ'
ils partagent les mêmes interruptions et pour la carte PCI c' est parce
qu' elle est derrière un Bridge PCI to PCI (00:14.4).

N' ayant trouvé que des infos en anglais, est-ce quelqu' un peut me
confirmer qu' en l' état actuel de l' art je ne peux faire passer aucun
de mes contrôleurs USB à Qemu et sinon me donner le lien que j' ai pas
été fichu de trouver pour aller plus loin?

Merci.
Vincent


Reply to: