146 votes

Aucun périphérique USB disponible dans VirtualBox

Oracle VirtualBox est incapable de lister/filtrer les périphériques USB connectés à mon système. Par conséquent, le système d'exploitation invité n'est pas non plus en mesure de voir un périphérique USB.

Voici ma configuration :

  • Hôte : VirtualBox 5.0.0 r101573 sur Ubuntu 14.04, avec Oracle VM VirtualBox Extension Pack installé
  • Invité : : Windows 7, avec VirtualBox Guest Additions installé

J'ai essayé avec une clé USB et une montre de sport Garmin : lorsqu'elles sont connectées à l'hôte, elles sont toutes deux reconnues par le système, c'est-à-dire qu'elles figurent dans la liste générée par la commande lsusb commandement.

Cependant, lors de l'exécution de VirtualBox, aucun périphérique USB n'est réellement détecté ( Enable USB Controller est évidemment cochée). Si je sélectionne la VM, alors Settings -> USB et que j'essaie d'ajouter un filtre, une infobulle s'affiche :

<no devices available>

J'ai essayé différentes options comme contrôleur USB, j'ai même essayé d'attacher le périphériques à des ports USB différents (2.0 au lieu de 3.0), mais cela n'a rien changé. rien. Comme aucun périphérique USB n'est répertorié, je suppose que le problème vient de l'hôte et non de l'invité.

La souris USB que j'ai fonctionne à la fois dans l'hôte et dans l'invité, mais c'est probablement un périphérique qui est traité différemment.

El VBox.log ne signale rien de suspect concernant l'USB, et VirtualBox n'affiche aucune erreur non plus.

Le même problème s'est produit lorsque j'avais installé VirtualBox 4.3.30.

Y a-t-il un moyen de résoudre ce problème ?

240voto

Phillippe Santana Points 504

Veuillez ajouter votre nom d'utilisateur à la vboxusers avec cette commande :

sudo adduser $USER vboxusers

Après cela, vous devez vous déconnecter et vous connecter. (Pour Ubuntu 20.04, un redémarrage est nécessaire)

Veuillez vérifier ceci pour plus de détails :

https://help.ubuntu.com/community/VirtualBox/USB

6 votes

J'ai le même problème dans opensuse ; m'ajouter au groupe vboxusers n'a pas résolu le problème.

3 votes

@Calin Ajout de votre compte au groupe vboxusers ne fonctionne que si /dev/bus/usb/XXX/YYY appartient au groupe vboxusers aussi.

6 votes

Vous pouvez également vérifier si cela fonctionne avec la commande suivante : VBoxManage list usbhost

33voto

Babken Vardanyan Points 1445

Si vous n'avez pas le adduser vous pouvez faire ceci à la place :

sudo usermod -aG vboxusers $USER

Déconnectez-vous et reconnectez-vous afin de recharger les informations de groupe de l'utilisateur et le périphérique usb apparaîtra maintenant dans la liste.

0 votes

Ça a marché pour moi. Ubuntu 20.04

8voto

kFYatek Points 421

Tout d'abord, la réponse de @csorig est juste. Vous devez être dans le vboxusers groupe. C'est la base.

Mais si cela ne fonctionne toujours pas pour une raison quelconque... Ce n'est documenté nulle part, mais j'ai découvert que le partage de périphérique hôte USB ne fonctionne pas si le système n'a plus d'espace libre. inotify ressources.

Vous pouvez essayer d'exécuter tail -f /var/log/syslog ou quelque chose comme ça. S'il affiche un message du genre :

tail: inotify cannot be used, reverting to polling: Too many open files

alors vous devez augmenter votre inotify regarder limiter ou désactiver les logiciels qui les consomment. Dans mon cas, il s'agissait d'un logiciel de sauvegarde continue fonctionnant en arrière-plan.

La méthode de base pour augmenter cette limite est la suivante :

echo fs.inotify.max_user_watches=524288 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p

0 votes

Merci @kFYatek ! J'ai trouvé le problème beaucoup plus rapidement grâce à votre commentaire ! Je voulais juste noter que dans mon cas, l'erreur s'est produite même si tail -f /var/log/syslog a fonctionné sans problème (sans avertissement)

0 votes

Je reçois toujours le inotify cannot be used après avoir augmenté la limite.

0 votes

J'ai réparé le inotify question avec fs.inotify.max_user_instances . Cependant, cela n'a pas aidé à résoudre le problème des périphériques USB manquants.

7voto

David Leo Points 27

Il y a beaucoup de choses qui peuvent mal tourner quand on partage une clé USB avec des invités. Dans tous les cas, la liste de contrôle que j'ai faite est la suivante :

  • installer le Extension Pack sur l'hôte et Guest Additions sur l'invité.
  • ajouter l'utilisateur actuel à vboxusers groupe.
  • ajoutez manuellement les USB filter dans les paramètres de VirtualBox et seulement connecter l'appareil après terminer le démarrage du système d'exploitation invité.
  • sous VirtualBox, sélectionnez USB 3.0 (xHCI) Controler .

J'ai réussi à partager une clé USB avec un ordinateur sous Windows XP. invité sur un Linux Mint 19 hôte après quelques tentatives initiales ratées. Bonne chance !

1 votes

Cette réponse est la seule complète et correcte. Notez que vous devez avoir installé un pack d'extension VirtualBox récent pour bénéficier de la prise en charge de l'USB 3.0.

7voto

gon1332 Points 161

Après de nombreuses recherches, j'ai conclu, avec l'aide de ce wiki au ci-dessous script qui a réglé le problème :

#!/bin/bash

#
# Heavily inspired by https://github.com/dnschneid/crouton/wiki/VirtualBox-udev-integration
#

vbox_usbnode_path=$(find / -name VBoxCreateUSBNode.sh 2> /dev/null | head -n 1)
if [[ -z $vbox_usbnode_path ]]; then
    echo Warning: VBoxCreateUSBNode.sh file has not been found.
    exit 1
fi

chmod 755 $vbox_usbnode_path
chown root:root $vbox_usbnode_path

vboxusers_gid=$(getent group vboxusers | awk -F: '{printf "%d\n", $3}')

vbox_rules="SUBSYSTEM==\"usb_device\", ACTION==\"add\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb\", ACTION==\"add\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path \$major \$minor \$attr{bDeviceClass} $vboxusers_gid\"
SUBSYSTEM==\"usb_device\", ACTION==\"remove\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\"
SUBSYSTEM==\"usb\", ACTION==\"remove\", ENV{DEVTYPE}==\"usb_device\", RUN+=\"$vbox_usbnode_path --remove \$major \$minor\""

echo "$vbox_rules" > /etc/udev/rules.d/virtualbox.rules
rm -f /etc/udev/rules.d/*-virtualbox.rules
udevadm control --reload
adduser `logname` vboxusers

echo All actions succeeded.
echo Log out and log in to see if the issue go fixed.

Assurez-vous d'avoir Pack d'extension VM VirtualBox installé et au moins le contrôleur USB 2.0 (EHCI) activé dans les paramètres USB de la VM.

Après cela, exécutez le script ci-dessus avec sudo .

1 votes

Après avoir essayé un tas de choses, cela a finalement fonctionné dans Ubuntu 21.04 avec VirtualBox 6.1.26.

0 votes

Celui-là a marché pour moi.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X