Virt-manager et gestion usb

Bonjour tout le monde,

Voila, j’ai un petit soucis avec libvirt et son virt-manager. J’essaye de passer un périphérique USB à une machine virtuelle Windows XP mais rien à faire… WinXP ne le trouve pas. En fait, le Windows me servira pour installer X-net Météo et GraphWeather pour gérer ma station Oregon WMR200 connectée en USB.
J’ai l’impression que le système hôte ne “lâche” pas le périphérique USB pour le passer à la VM.

J’avais le même problèmes sur une VM Debian qui me sert de serveur web domotique mais là j’ai réussis à résoudre le problème en rajoutant le module “pl2303” correspondant à mon périphérique dans le fichier blacklist de modprob.

Si quelqu’un à une idée pour ma VM windows, je suis preneur car là je suis un peux perdu !!!

Y-a-t-il un moyen simple d’interdire au système hôte de charger des pilotes pour un périphérique USB donné (en fonction de l’idVendor==“0fde” et de l’idProduct==“ca01”) ? J’étais parti sur la piste d’une règles pour udev mais je patauge…

Pour info, voici ce que donne un lsusb :

Bus 003 Device 008: ID 0fde:ca01
Bus 003 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port
Bus 003 Device 004: ID 1ea7:0002
Bus 003 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 8087:0024 Intel Corp. Integrated Rate Matching Hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Merci par avance.

Je n’ai jamais eu l’occasion d’expérimenter ce matériel en action, je ne pourrai pas beaucoup t’aider au delà de ces quelques pistes.

Dans le retour de lsusb, cette ligne tranche :

Bus 003 Device 005: ID 067b:2303 Prolific Technology, Inc. PL2303 Serial Port

“Serial port”, on peut donc penser qu’il s’agit d’un adaptateur usb/série.

Le noyau comporte ce module dans linux 3.1

Device drivers-> USB support -> USB Serial Converter support —> < > USB Prolific 2303 Single Port Serial Driver

───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ┌────────────────────────────────────────────────── USB Prolific 2303 Single Port Serial Driver ──────────────────────────────────────────────────┐ │ CONFIG_USB_SERIAL_PL2303: │ │ │ │ Say Y here if you want to use the PL2303 USB Serial single port │ │ adapter from Prolific. │ │ │ │ To compile this driver as a module, choose M here: the │ │ module will be called pl2303. │ │ │ │ Symbol: USB_SERIAL_PL2303 [=n] │ │ Type : tristate │ │ Prompt: USB Prolific 2303 Single Port Serial Driver │ │ Defined at drivers/usb/serial/Kconfig:467 │ │ Depends on: USB_SUPPORT [=y] && USB_SERIAL [=m] │ │ Location: │ │ -> Device Drivers │ │ -> USB support (USB_SUPPORT [=y]) │ │ -> USB Serial Converter support (USB_SERIAL [=m])

Tu devrais donc vérifier si le support USB_SERIAL et le module USB_SERIAL_PL2303 sont compris dans “config” du noyau que tu utilises.

$ grep USB_SERIAL_PL2303 /boot/config-uname -r

Interprète la lettre qui suit, y=yes chargé au sein du noyau , m=module chargeable/déchargeable , “is not set”= non compris.
S’il est en module, voir s’il est chargé :

$ lsmod | grep 2303

s’il est effectivement chargé, le mettre en liste noire (/etc/modprobe.d/blacklist.conf). Au redémarrage ce module ne sera pas chargé.

Avant tout, merci pour la rapidité de ton post.

Concernant la ligne parlant du PL2303, c’est effectivement un adaptateur usb/série et comme expliqué dans mon premier post, j’ai déjà mis ce module dans /etc/modprobe.d/blacklist.conf ce qui m’a réglé le problème pour ma VM Debian “Domotique”.

Mon problème actuel est en fait sur la première ligne du lsusb

Bus 003 Device 008: ID 0fde:ca01

car ce périphérique correspond à ma station météo Oregon WMR200… pour info, voila ce que j’ai dans le syslog quand je la connecte :

Nov  1 14:39:44 SQUEEZE kernel: [  927.940164] usb 3-1.2: new low speed USB device using ehci_hcd and address 6
Nov  1 14:39:44 SQUEEZE kernel: [  928.035825] usb 3-1.2: New USB device found, idVendor=0fde, idProduct=ca01
Nov  1 14:39:44 SQUEEZE kernel: [  928.035830] usb 3-1.2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
Nov  1 14:39:44 SQUEEZE kernel: [  928.035832] usb 3-1.2: Product: Universal Bridge
Nov  1 14:39:44 SQUEEZE kernel: [  928.035916] usb 3-1.2: configuration #1 chosen from 1 choice
Nov  1 14:39:44 SQUEEZE kernel: [  928.038397] generic-usb 0003:0FDE:CA01.0034: hiddev0,hidraw0: USB HID v1.10 Device [Universal Bridge] on usb-0000:00:1d.0-1.2/input0

J’ai enfin réussi (je ne sait par quel miracle) à faire en sorte que ma machine WinXP voit ce périf… mais il ne fonctionne pas correctement. Comment être certain que le système hôte ne l’utilise pas encore ?

PS : si je le déconnecte et le reconnecte, libvirt ne le repasse pas à la VM… mais ça c’est peut-être normal avec libvirt car au boulot, je suis plus habitué à VMWare qui le gére assez bien

Merci encore.