Aller au contenu principal
Sujet résolu
Ce sujet a été marqué résolu et ne nécessite aucune autre attention.
Sujet: Machines virtuelles : erreur de redirection USB (Lu 4605 fois) sujet précédent - sujet suivant

Machines virtuelles : erreur de redirection USB

Bonjour à vous, je me suis rendu compte il y a quelques temps qu'il m'est impossible d'utiliser un périphérique USB dans mes machines virtuelles, clefs, SSD externes, imprimante...

J'ai fais le tour sur les modules Yast sans y trouver de solution. Je n'ai rien trouvé non plus sur l'Internet qui m'apporte une solution.

Mon message d'erreur est toujours le même quelle que soit la distribution installée en MV ou le protocole USB2 ou USB3 ainsi que le périphérique USB) est :
Citer
g-exec-error-quark: Could not auto-redirect USB DISK 2.0 [13fe:1a23] at 1-5:
L'exécution su processus fils « usr/bin/spice-client-glib-usb-acl-helper » a échoué (permission non accordée) (3)
Détails :
Erreur de redirection USB
Quelqu'un aurait-il aurait-elle une solution ?

Merci par avance.

Re : Machines virtuelles : erreur de redirection USB

Répondre #1
@Jules-Marie Bonjour

Si tu lis bien, tu as un problème de permission :

Citer
L'exécution su processus fils « usr/bin/spice-client-glib-usb-acl-helper » a échoué (permission non accordée) (3)

Depuis quand tu n'as plus les droits ?  (depuis quand ? c'est a dire, après mise à jour, après changement de distro etc etc)

Tu es sur quel distro ? TW, Leap, Scrowoll, etc etc

Re : Machines virtuelles : erreur de redirection USB

Répondre #2
Si vous êtes sur Virtualbox, il faut aller (sur votre distribution) dans Yast->Sécurité et utilisateurs-> Gestion des groupes et utilisateurs->votre login. Cliquez en bas sur modifier puis "details" et dans la colonne de droite sur "vboxusers".Ceci fait, il faut redémarrer et quand vous lancerez votre machine virutelle vous verrez apparaître dans "Périphériques" la liste des périphériques attachés.

 

Re : Machines virtuelles : erreur de redirection USB

Répondre #3
@sobkowiak bonsoir

Il est sur kvm qemu, qui utilise "spice" on le voit dans le message :

Citer
L'exécution su processus fils « usr/bin/spice-client-glib-usb-acl-helper » a échoué (permission non accordée) (3)

Chaque hyperviseur a son propre protocole

Donc il n'est pas sur Virtualbox.

Re : Machines virtuelles : erreur de redirection USB

Répondre #4
Bonjour à tout le monde.
Merci à vous qui m'avez répondu.
@Yoman : Oui, je pense aussi que c'est un problème de droits, pour ça justement je n'ai hélas pas de «point de départ» précis à donner, je ne me suis rendu compte que récemment de ce problème, n'ayant bêtement pas pensé à tester l'USB après l'installation des machines virtuelles.
Mais je pense que ce souci date de l'installation de mon système, il me semble mi-septembre.
Je suis sur SlowRoll.
Pour les machines virtuelles, installées dans Virtual Machine Manager, j'ai Fedora, Solus, Mint, Ubuntu et Windows 11.
L'USB 2 ou 3, ne fonctionne pas quelle que soient les distributions en MV.

@sobkowiak : comme l'a précisé Yoman, je n'utilise pas Virtual Box, mais Virtual Machine Manager que j'utilisais  déjà dans la Alma Linux installée avant cette SlowRoll.
Je n'avais rien eu à faire pour avoir l'USB dans les machines virtuelles, une fois dans ma machine virtuelle je n'avais qu'à brancher une clef USB ou un SSD externe pour qu'il soit automatiquement monté dans la VM en cours.
C'est ce qui fait que je n'ai pas testé immédiatement l'USB en MV.

J'ai donc été voir dans les modules Yast, mais je n'ai pas su trouver comment et où corriger ce souci.
Merci par avance pour votre aide.

Re : Machines virtuelles : erreur de redirection USB

Répondre #5
Bonjour @Jules-Marie,

Dans la console de ta VM, ajoute ta clé USB en tant que périphérique, et non en tant que redirection USB.

Ce que je te dis, je l'ai testé personnellement sur ma Tumbleweed, et ça a fonctionné.

Si ta clé USB est reconnue par Slowroll, qui est l'hôte, elle sera reconnue par le guest, qui est l'invité : ta VM.

Mais peut-être que Slowroll a d'autres limitations... Cependant, étant une Tumbleweed de base, ça devrait fonctionner.

Sinon, au pire, vérifie si tu es dans le groupe kvm :

groups $USER

Re : Machines virtuelles : erreur de redirection USB

Répondre #6
Bonjour @Yoman .
La reconnaissance des périphériques USB depuis ma session se fait parfaitement, dès que j'introduit une clef USB ou autre, j'ai le son caractéristique de Gnome qui m'indique l'action et la reconnaissance du périphérique.
Si je suis dans une machine virtuelle c'est à ce moment là que j'ai le message d'erreur, preuve donc que le périphérique est bien vu par la MV. Je n'ai aucun souci avec mon clavier et ma souris qui sont en USB.
J'ai été dans les modules Yast, dans la gestion des utilisateurs et des groupes.
Dans l'onglet «groupe» j'ai deux utilisateurs qui apparaissent.
En premier : moi - id du groupe 1000 - membres du groupe : moi.
En deuxième : users - id du groupe 100 - membres du groupe : c'est vide

J'ai fait un double clic sur moi, ce qui a ouvert une lista de groupes, tous son décochés.
Sauf erreur de ma part c'est bien KVM qui gère les machines virtuelles, c'est en tout cas ce que j'ai sélectionné dans «logiciels» au moment de l'installation.
J'ai cherché dans la liste de groupe une groupe «kvm», je n'ai rien trouvé, ni d’ailleurs dans la liste de groupes pour users.

Citer
Sinon, au pire, vérifie si tu es dans le groupe kvm :

Code: [Sélectionner]
groups $USER

J'ai cherché dans la liste des groupes pour users si «moi» apparaissait dans la liste afin de l'ajouter au groupe. Je l'ai effectivement trouvé, j'ai donc coché la case «moi» et validé mon choix.
Instantanément j'ai obtenu l'erreur suivante :
L'ID de groupe sélectionné n'est pas autorisé.
Sélectionnez un nombre entier valide compris entre 1000 et 60000.

Question : users a une id de groupe de 100, est-ce cela qui entraîne cette erreur ? Mais dans ce cas pourquoi la configuration à l'installation est-elle définie à 100 ?
Je loupe donc quelque chose...

J'espère que tu pourras éclairer ma lanterne.

Merci par avance.

Re : Machines virtuelles : erreur de redirection USB

Répondre #7
@Jules-Marie

Il faut y aller par étapes, car on risque de faire des changements inutiles, ou pas nécessaires

Le vrai problème n'est pas le groupe 1000, mais l'absence d'appartenance au groupe kvm.

C'est pour cela qu'il faut  précisément répondre à mes questions :

Citer
Dans la console de ta VM, ajoute ta clé USB en tant que périphérique, et non en tant que redirection USB.

Citer
Sinon, au pire, vérifie si tu es dans le groupe kvm :
groups $USER
Ne pas faire la commande en sudo
Fait moi un copier/coller du retour de ton terminal

Pour Infos

Citer
Comprendre les plages d'UID
La plage d'UID sous Linux est généralement divisée en les catégories suivantes :

Utilisateur Root (UID 0) : L'utilisateur root, également connu sous le nom de superutilisateur, possède le plus haut niveau de privilèges et d'accès à l'ensemble du système.
Utilisateurs Système (UIDs 1-999) : Il s'agit de comptes d'utilisateurs spéciaux utilisés par le système pour divers services et processus, tels qu'Apache, MySQL et SSH.
Utilisateurs Réguliers (UIDs 1000 et plus) : Ce sont les comptes d'utilisateurs créés pour les utilisateurs individuels, et ils ont différents niveaux de permissions et de droits d'accès.
Comprendre les plages UID

Conséquences :

Avec un UID ≥ 1000 → tu ne peux qu'appartenir à des groupes ayant des GID ≥ 1000

UID = IDENTIFICATION UNIQUE UTILISATEUR
GID = GROUPE UNIQUE DE L'UTILISATEUR

Message d'erreur : "tu n'es pas  pas autorisé"

C'est pour cela que je te dis faisons le diagnostique étape par étape

Remets dans Yast les UID d'origine que tu as changé

Pour ne pas avoir d'autres problèmes ultérieurs, et tu ne te souviendras pas que tu avais fait ce changement qui n'avait pas fonctionné.

Re : Machines virtuelles : erreur de redirection USB

Répondre #8
Merci pour ta réponse @Yoman.
Citer
Dans la console de ta VM, ajoute ta clé USB en tant que périphérique, et non en tant que redirection USB.
Je m'étais effectivement trompé de manip.
Après démarrage d'une MV, dans la console j'ai cliqué sur le bouton «Afficher les détail du matériel...»
Dans la fenêtre en bas à gauche j'ai cliqué sur «Ajouter un matériel», dans la liste j'ai cliqué sur «Périphérique hôte USB», après sélection de la clef USB j'ai cliqué sur «Terminer».
Et là effectivement j'ai pu utiliser la clef USB dans la machine virtuelle (Fedora 43).
En effet ta solution fonctionne.
Cependant, alors que j'ai démonté proprement la clef USB dans la Fedora en l'éjectant, il s'avère qu'au redémarrage de la même MV, clef absente du port USB j'ai le message d'erreur suivant :
Erreur lors du démarrage du domaine: erreur interne : N'a pas trouvé le périphérique USB 0781:5581

Traceback (most recent call last):
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 67, in cb_wrapper
    callback(asyncjob, *args, **kwargs)
    ~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/asyncjob.py", line 101, in tmpcb
    callback(*args, **kwargs)
    ~~~~~~~~^^^^^^^^^^^^^^^^^
  File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 57, in newfn
    ret = fn(self, *args, **kwargs)
  File "/usr/share/virt-manager/virtManager/object/domain.py", line 1467, in startup
    self._backend.create()
    ~~~~~~~~~~~~~~~~~~~~^^
  File "/usr/lib64/python3.13/site-packages/libvirt.py", line 1390, in create
    raise libvirtError('virDomainCreate() failed')
libvirt.libvirtError: erreur interne : N'a pas trouvé le périphérique USB 0781:5581
Il faut maintenant que la clef soit présente pour que je puisse utiliser cette VM.

S'il faut aller fouiller à nouveau dans la console pour enlever ce périphérique, le moins que l'on puisse en dire c'est que ça complique sérieusement l'utilisation des MV !

Je comprends ceci d'autant moins qu'avec la Alma Linux que j’utilisais précédemment, de même qu'avec la Fedora 43 installée sur mon ordinateur portable, je n'ai qu'à brancher un périphérique USB quand je suis sur une MV, celui-ci est monté automatiquement, se démonte de même et ne bloque pas la MV quand le port USB est vide. Et je n'ai jamais eu à configurer quoi que ce soit pour ça, d'où mon incompréhension face à ce problème.

Quelle autre manip faut-il faire pour que ça fonctionne simplement, automatiquement et correctement ? Est-ce possible avec Open Suse ?

Pour la commande demandée :
eric@localhost:~> groups $USER
eric : eric
eric@localhost:~>
Il semble donc que je fais bien partie du groupe user.

Merci pour les précisions sur les UID et les GID. Je vais aller étidier ça plus sereinement dès que je le pourrai, il ne faut jamais perdre une occasion de s'instruire. 😉
Je n'ai pas changé les valeurs, quand j'ai vu les erreurs, j'ai cliqué sur «annuler» afin de rien casser.
Bonne soirée Yoman.

Re : Machines virtuelles : erreur de redirection USB

Répondre #9
@Jules-Marie

On a trouvé le problème important :

Tu n'as que ton groupe personnel eric, et aucun groupe de :
libvirt; kvm; qemu; wheel

Ajoutes :

sudo usermod -a -G libvirt,kvm $USER

Cela va te permettre d'ajouter et d'utiliser des périphériques USB dans virt-manager.

Après je te conseille de supprimer tous les ajouts précédents de clés USB dans la console de ta VM.

Ensuite reboot.

Ensuite lance ta virt-manager normalement, et ajoute ta clé USB en tant que périphérique...

En tous les cas, c'était un vrai problème. Si ça ne fonctionne pas, tu ne supprimes pas la commande que tu as faite.

On verra d'autres configurations.

Re : Machines virtuelles : erreur de redirection USB

Répondre #10
Bonjour @Yoma, merci pour ta réponse.
J'ai donc supprimé le périphérique USB créé précédemment, ce qui a permis de pourvoir démarrer correctement la machine virtuelle (Fedora).
J'ai ensuite rentré la commande que tu m'as donnée :
localhost:~ # usermod -a -G libvirt,kvm $USER
       - Question au sujet de cette ligne : dans ton message tu énumère les groupes libvirt; kvm; qemu; wheel, cependant dans ta commande seuls les deux premiers sont inclus. Est-ce normal, dans ce cas pourquoi ? Ou est-ce un simple oubli ?

De toute façon, après introduction de la commande et un retour au prompt SANS erreur, j'ai donc rebooté le bestiau.

Dans la gestion des groupes avec Yast, rien n'est changé, seul mon user apparaît :
eric@localhost:~> groups $USER
eric : eric
eric@localhost:~>
Est-ce normal ? Je parie que non, car même si effectivement il s'agit d'un oubli pour les deux derniers groupes dont tu parle, il devrait normalement y avoir les deux premiers dans ce retour de commande, vrai ou faux ?

Désolé que les choses ne se passent pas comme prévu.

Je veux préciser deux choses :
1 - La commande pour l'ajout des groupes je l'ai faite en root, je n'ai pas de sudo puisque j'ai activé le compte root à l'installation.
2 - Comme précisé dans mon premier post, j'ai fait l'installation de la virtualisation (KVM) lors de l'installation du système en ajoutant le module depuis l'installeur (Logiciels ==> sélection de KVM pour la virtualisation.
Ceci serait-il à l'origine du souci ? Perso je ne pense pas, mais je peux me tromper. Dans ce cas, si c'est l'origine du problème, c'est un sacré bug !!!

J'attends ton retour, merci.

Re : Machines virtuelles : erreur de redirection USB

Répondre #11
@Jules-Marie Bonjour

Bien on avance...

Lancer sa session en root, ce n'est pas du tout conseillé, mais tu dois avoir de bonnes raisons.

Sinon le problème : tu as lancé la commande alors que tu étais en session root,  donc $USER valait "root", pas "eric".

Si tu veux rester connecté en root, tu dois utiliser :

usermod -a -G libvirt,kvm eric

Après cette commande, redémarre et refais :

groups $USER

Tu devrais voir :

Citer
eric : eric libvirt kvm

Sinon :
qemu : c'était pour kvm en ligne de commade (au cas oû)
et wheel : c'était pour les droits admin/sudo ,mais opensuse le fait directement dans le fichier sudoers (au cas oû aussi)

Je ne les aies pas mis dans la commande , car à ce stade c'était inutile.

Re : Machines virtuelles : erreur de redirection USB

Répondre #12
Lancer sa session en root, ce n'est pas du tout conseillé, mais...
Non, je n'ai pas lancé ma cession en root, c'est juste dans le terminal que je me logue en root quand c'est nécessaire. En l'occurrence pour rentrer les commandes nécessitant les privilèges de root.
Tu as raison de rappeler ce principe, je connais des personnes qui s'obstinent, malgré mes avertissements, à le faire...

Sinon le problème : tu as lancé la commande alors que tu étais en session root,  donc $USER valait "root", pas "eric".
Mais bien sûr, je suis passé à coté de ça... Merci pour la correction Yoman.
qemu : c'était pour kvm en ligne de commade (au cas oû)
et wheel : c'était pour les droits admin/sudo ,mais opensuse le fait directement dans le fichier sudoers (au cas oû aussi)

Je ne les aies pas mis dans la commande , car à ce stade c'était inutile.
Merci pour ces précisions et explications Yoman.

Donc, après avoir rentré :
usermod -a -G libvirt,kvm eric
et redémarré l'ordi, j'obtiens bien :
eric@localhost:~> groups $USER
eric : eric libvirt kvm
eric@localhost:~>
Du coup il ne me reste plus qu'à tester le résultat avec les machines virtuelles.
Je ferai ça plus tard dans la journée, là je dois partir, mais je tenais à te répondre au plus vite.
Je te fais donc très vite un compte rendu.

Encore merci Yoman.

Re : Machines virtuelles : erreur de redirection USB

Répondre #13
@Yoman
Voilà, j'ai testé le résultat sur les machines virtuelles.

Et j'ai retrouvé le fonctionnement de celles-ci avec les périphériques USB, tels que je l'avais avec la Alma Linux et tel que je l'ai avec la Fedora sur mon portable.


En fait je n'ai rien eu à faire d'autre que de démarrer une machine (la Fedora puisque c'est sur celle-ci que j'avais découvert le problème), puis ensuite connecter une clef USB, celle-ci a été capturée par la MV instantanément, j'ai pu naviguer dans ses dossiers, ouvrir les fichiers, l'éjecter et après retrait de la clef redémarrer la MV sans blocage.

De plus, j'ai également le copier/coller qui fonctionne, ce qui n'était pas le cas mais que j'avais omis afin de ne pas faire un post de plus pour cette chose de moindre importance.

Je vais passer ce sujet en résolu.

Avant cela juste une question si tu permets : Vu que dans ma bourde j'ai ajouté le root aux groupes libvirt et kvm, faut-il faire la manœuvre inverse ? Si oui, comment STP, si non, laisser en l'état ne risque-t-il pas de faire une faille de sécurité ?

Un grand merci à toi Yoman pour ton aide précieuse et tes explications.

Re : Machines virtuelles : erreur de redirection USB

Répondre #14
@Jules-Marie Bonsoir

Bien heureux que ça fonctionne.

Mais Slowroll est bizarre 🤔... en matière de sécurité. (pas de group, pas de droits) et ça fonctionne crème pour libvirtd. Tu n'as aucune authentification... et ta clé USB est reconnue

Tu dois certainement lancer virt-manager en "sudo" ?

Tu comprends ma démarche , "PAS  à PAS"
Pour valider le bon fonctionnement sans droit et group, on va supprimer les commandes que je t'ai donné a effectuer

Retrouver eric dans aucun groupe commme auparavant
sudo usermod -r -G libvirt,kvm eric

Nettoyer root que tu as fais
sudo usermod -r -G libvirt,kvm root

pour vérifier

groups eric   RESULTAT # → eric : eric
groups root   RESULTAT # → root : root

Tu m'as donné du travail 😀, mais c'était très intéressant, ça fera certainement l'objet d'un article pour mon blog.

N'hésites pas a poster si tu as un souci sur KVM, je l'utilise depuis des années.