[USB] Problème détection / montage périphérique USB

Reconnaissance et configuration du matériel / kernel linux
Répondre
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

[USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

Bonjour,

Malgré la lecture et tentative de mise en oeuvre de plusieurs tutoriels, je n'arrive toujours pas à monter automatiquement (ou tout au moins en cliquant dessus) les périphériques de stockage USB en tant que simple utilisateur. Je suis obligé de les monter à la main avec les droits super-utilisateur, ce que je trouve à la fois ennuyeux et dangereux... Je suis sous Xfce et quand je connecte une clé USB, quelquefois elle n'apparaît même pas sur le bureau et quand elle apparaît et que je tente de la monter, j'obtiens un joli :
org.freedesktop.hal.storage.mount-removable no <-- (action, result)
J'ai modifié le /etc/PolicyKit en :
<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->
<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/Pol ... config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">
<match user="adrien">
<match action="org.freedesktop.hal.storage.*">
<return result="yes"/>
</match>
<match action="hal-storage-mount-fixed-extra-options">
<return result="yes" />
</match>
<match action="hal-storage-mount-removable-extra-options">
<return result="yes" />
</match>
</match>
</config>
Mon fichier /usr/share/PolicyKit/policy est :
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
"http://www.freedesktop.org/standards/Po ... config.dtd">

<!--
Policy definitions for HAL's drives/media mechanims.

Copyright (c) 2007 David Zeuthen <david@fubar.dk>

HAL is licensed to you under your choice of the the Academic Free
License Version 2.1, or the GNU General Public License version 2. Some
individual source files may be under the GPL only. See COPYING for
details.
-->

<policyconfig>

<action id="org.freedesktop.hal.storage.mount-fixed">
<description>Mount file systems from internal drives.</description>
<message>System policy prevents mounting internal media</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep_always</allow_active>
</defaults>
</action>

<action id="org.freedesktop.hal.storage.mount-removable">
<description>Mount file systems from removable drives.</description>
<message>System policy prevents mounting removable media</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>

<action id="org.freedesktop.hal.storage.unmount-others">
<description>Unmount file systems mounted by other users.</description>
<message>System policy prevents unmounting media mounted by other users</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep_always</allow_active>
</defaults>
</action>

<action id="org.freedesktop.hal.storage.eject">
<description>Eject removable media.</description>
<message>System policy prevents ejecting removable media</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>

<action id="org.freedesktop.hal.storage.crypto-setup-fixed">
<description>Set up decryption for encrypted fixed storage devices.</description>
<message>System policy prevents accessing encrypted fixed media</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>auth_admin_keep_always</allow_active>
</defaults>
</action>

<action id="org.freedesktop.hal.storage.crypto-setup-removable">
<description>Set up decryption for encrypted removable storage devices.</description>
<message>System policy prevents accessing encrypted removable media</message>
<defaults>
<allow_inactive>no</allow_inactive>
<allow_active>yes</allow_active>
</defaults>
</action>

</policyconfig>
J'ai aussi tenté un :
polkit-auth --user adrien --grant org.freedesktop.hal.storage.mount-removable
Sans plus de succès apparemment.

Enfin, je lance ma session graphique avec :
. $HOME/.bashrc

#Démarrage après identification via la console tty1

if [ "$(tty)" = "/dev/tty1" -o "$(tty)" = "/dev/vc/1" ] ; then
ck-launch-session startxfce4
fi

#Essai foireux
#if [ `tty` = /dev/vc/1 ]; then
# startx
#fi
Je ne sais plus trop quoi tenter :( . Si quelqu'un avait une piste concernant l'origine du problème, je lui en serait très reconnaissant :) .
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [USB] Problème détection / montage périphérique USB

Message par tuxce »

salut, tu veux bien poster la sortie de:

Code : Tout sélectionner

polkit-action --action org.freedesktop.hal.storage.mount-removable
ck-list-sessions
quand tu es logué.
Avatar de l’utilisateur
Franky 4 Doigts
Daikyu
Messages : 81
Inscription : mar. 21 juil. 2009, 18:59

Re: [USB] Problème détection / montage périphérique USB

Message par Franky 4 Doigts »

Pour ma part j'ai juste modifier le /etc/PolicyKit/PolicyKit.conf de la manière suivance, en changeant NOM D'UTILISATEUR bien sûr.

Code : Tout sélectionner

<?xml version="1.0" encoding="UTF-8"?> <!-- -*- XML -*- -->

<!DOCTYPE pkconfig PUBLIC "-//freedesktop//DTD PolicyKit Configuration 1.0//EN"
"http://hal.freedesktop.org/releases/PolicyKit/1.0/config.dtd">

<!-- See the manual page PolicyKit.conf(5) for file format -->

<config version="0.1">

<match action="org.freedesktop.hal.storage.mount-removable">
  <match user="NOM D'UTILISATEUR">
    <return result="yes"/>
  </match>
</match>

</config>
Quand tu mets le chemin /etc/PolicyKit, tu parle bien de /etc/PolicyKit/PolicyKit.conf ?

Et pour le 2ème chemin je vois pas à quel fichier tu fait référence /usr/share/PolicyKit/policy
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

Re: [USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

@ tuxce :
[adrien@thinkpad_adrien ~]$ polkit-action --action org.freedesktop.hal.storage.mount-removable
action_id: org.freedesktop.hal.storage.mount-removable
description: Mount file systems from removable drives.
message: System policy prevents mounting removable media
default_any: no
default_inactive: no
default_active: yes
et
[adrien@thinkpad_adrien ~]$ ck-list-sessions
Session2:
unix-user = '1000'
realname = ''
seat = 'Seat1'
session-type = ''
active = FALSE
x11-display = ''
x11-display-device = ''
display-device = '/dev/tty1'
remote-host-name = ''
is-local = TRUE
on-since = '2009-09-21T16:04:42.931145Z'
login-session-id = ''
idle-since-hint = '2009-09-21T16:05:13.002819Z'
@ Franky 4 Doigts :
Désolé, j'ai copié/collé les chemins depuis Thunar sans remarquer qu'il manquait le fichier final à chaque fois :roll: . Il s'agit donc de /etc/PolicyKit/PolicyKit.conf et /usr/share/PolicyKit/policy/org.freedesktop.hal.storage.policy .
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [USB] Problème détection / montage périphérique USB

Message par tuxce »

tu as 2 sessions de lancées ?
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

Re: [USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

Non non, je n'ai qu'une session de lancée mais j'avais relancé Xfce en me déloguant/reloguant. Et apparemment ça donne un "Session2" (j'ai refait un essai et ça donne bien ça).

M'enfin, pour être sûr, voici la commande à froid juste après le boot :
[adrien@thinkpad_adrien ~]$ ck-list-sessions
Session1:
unix-user = '1000'
realname = ''
seat = 'Seat1'
session-type = ''
active = FALSE
x11-display = ''
x11-display-device = ''
display-device = '/dev/tty1'
remote-host-name = ''
is-local = TRUE
on-since = '2009-09-21T18:05:31.767288Z'
login-session-id = ''
idle-since-hint = '2009-09-21T18:06:02.012445Z'
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [USB] Problème détection / montage périphérique USB

Message par tuxce »

eureka !
enfin je crois...
dans ton .bashrc, modifie les lignes:

Code : Tout sélectionner

if [ "$(tty)" = "/dev/tty1" -o "$(tty)" = "/dev/vc/1" ] ; then
ck-launch-session startxfce4
fi
par:

Code : Tout sélectionner

if [ "$(tty)" = "/dev/tty1" -o "$(tty)" = "/dev/vc/1" ] ; then
startx $(which ck-launch-session) startxfce4
fi
en fait, tu lances consolekit sur la console texte au lieu de la lancer sur la session X, donc pas active, donc pas de droits.

entre (), pourquoi ne pas utiliser un .xinitrc comme tout le monde ? :)
Avatar de l’utilisateur
ddup1
Chu Ko Nu
Messages : 338
Inscription : lun. 15 sept. 2008, 20:59
Localisation : Toulouse

Re: [USB] Problème détection / montage périphérique USB

Message par ddup1 »

Euh xfce4 gère les policy de consolekit ?
Un clavier azerty en vaut deux :D
http://www.dupnet.org/dotclear/
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [USB] Problème détection / montage périphérique USB

Message par tuxce »

ddup1 a écrit :xfce4 gère les policy de consolekit ?
tu as du mal saisir ce que l'un et l'autre veulent dire, regarde les 2 pages les concernant sur le wiki

consolekit n'utilise pas policykit mais l'inverse et ne définit aucune politique.
pour ce qui est de xfce4 ou peu importe le soft, si il n'y a pas d'autorisation à demander, c'est transparent pour les softs.
Avatar de l’utilisateur
ddup1
Chu Ko Nu
Messages : 338
Inscription : lun. 15 sept. 2008, 20:59
Localisation : Toulouse

Re: [USB] Problème détection / montage périphérique USB

Message par ddup1 »

Bon à savoir j'irais voir en effet le wiki car je pensais que les deux étaient le même projet.
Un clavier azerty en vaut deux :D
http://www.dupnet.org/dotclear/
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

Re: [USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

J'ai modifié mon .bashrc comme indiqué, sans succès :( .

J'ai aussi essayé la méthode 2 indiquée ici, mais ça a juste réussi à me planter mon lancement de Xfce à la connexion :? donc je suis revenu à la configuration antérieure...

Je me demande de plus en plus si le problème n'est pas ailleurs. Ca faisait un petit bout de temps que je ne me connectais plus que sous Windows pour transférer mes fichiers sur clés USB ( :roll:, mais au moins ça prouve que ce n'est pas un problème matériel) et je viens de me rendre compte que sous Archlinux, même Gparted n'arrive pas à détecter ma clé USB :? . Pourtant la LED à l'arrière de la clef clignote. Mais j'ai quand même cela qui me semble un peu suspect :
[adrien@thinkpad_adrien ~]$ lsusb
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Il y a pourtant bien une clé de connectée : je ne suis pas censé avoir une ligne me l'indiquant ?

J'ai réinstallé les paquets libusb et usbutils, mais ça n'a rien changé à la sortie de lsusb (ni au problème complet d'ailleurs :lol:) .

J'ai aussi installé usbview, qui m'affiche ce joli message au lancement :
Can not open the file /proc/bus/usb/devices

Verify that you have USB compiled into your kernel,
have the USB core modules loaded, and have the
usbdevfs filesystem mounted
Enfin pour répondre à tuxce : j'ai voulu essayer de me passer de gestionnaire de connexion pour grapiller des secondes au démarrage et j'ai été plutôt satisfait de l'astuce Lancement automatique donc je ne me suis pas posé plus de questions sur l'aspect conventionnel ou non dela machine. M'enfin si la seule solution est de repasser par un gestionnaire connexion, je réinstallerai Slim... Ca fera seulement moins ordinateur de geek :lol: .

Edit : coquille.
Avatar de l’utilisateur
tuxce
Maître du Kyudo
Messages : 6677
Inscription : mer. 12 sept. 2007, 16:03

Re: [USB] Problème détection / montage périphérique USB

Message par tuxce »

The Dreammaker a écrit :J'ai modifié mon .bashrc comme indiqué, sans succès :( .
tu peux reposter

Code : Tout sélectionner

ck-list-sessions
avec le .bashrc modifié ?
et est ce que l'erreur est toujours la même ou a changé ?
la modif du .bashrc, c'est pour:

Code : Tout sélectionner

org.freedesktop.hal.storage.mount-removable no <-- (action, result)
pour le fait qu'elle apparaisse pas, c'est autre chose.
The Dreammaker a écrit :M'enfin si la seule solution est de repasser par un gestionnaire connexion, je réinstallerai Slim...
.xinitrc ne veut pas dire forcément gestionnaire de connexion, ça évite juste de devoir spécifier une commande à startx.
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

Re: [USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

Alors le retour de ck-list-sessions donne :
[adrien@thinkpad_adrien ~]$ ck-list-sessions
Session1:
unix-user = '1000'
realname = ''
seat = 'Seat1'
session-type = ''
active = TRUE
x11-display = ':0'
x11-display-device = '/dev/tty7'
display-device = '/dev/tty1'
is-local = TRUE
on-since = '2009-09-23T15:41:52.080522Z'
login-session-id = ''
Après modification du .bashrc, je n'ai plus l'erreur
org.freedesktop.hal.storage.mount-removable no <-- (action, result)
En fait, la clé USB n'apparaît même plus sur le bureau de Xfce ou sous Thunar, même non montée :? . Avec la dite clé de branchée, lsusb retourne :
[adrien@thinkpad_adrien ~]$ lsusb
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
The Dreammaker
Hankyu
Messages : 21
Inscription : jeu. 06 août 2009, 12:17

Re: [USB] Problème détection / montage périphérique USB

Message par The Dreammaker »

Bonjour,

Bon après avoir pas mal galéré je viens (malheureusement) de comprendre pourquoi les périphériques USB ne sont même plus reconnus sous un système GNU/Linux (j'ai essayé sous Pmagic ainsi que sous Puppy, et c'est le même échec cuisant :cry: ). Sous Windows XP, les ports fonctionnent bel et bien mais sont reconnus comme des 1.1 .

En gros, j'aurais le problème suivant :
Fried Southbridge USB controller

The Southbridge chip (containing the USB controller) may have been damaged by static electricity:
Matthias Himber wrote on linux-thinkpad:

Short answer: your southbridge is about to die, get your system board replaced. Hopefully its still under warranty.

Long answer: a number of Intel chipsets for Pentium IV and Pentium M processors have a design flaw that makes the southbridge (which contains the USB host controllers) especially sensitive to static electricity. As a result there is a (small) risk that when plugging in or removing a USB device causes damage to the chip. Usually, the first symptom is broken USB 2.0, behaving in exactly the way you described (ie, works under Windows, but only after some waiting and as if it was connected to a USB 1.1 controller, not a USB 2.0 one, and not at all under Linux unless you unload the USB 2.0 driver). This tends to lead to a completely dead chipset a short time later, so better get it serviced NOW.
Trouvé sur http://www.thinkwiki.org/wiki/Problem_with_USB_2.0

Donc bon je pense que je n'ai plus qu'à essayer de mettre la main sur une carte mère de T41p en état :bravo: :( .

En attendant, je vais essayé de désactiver ehci_hcd comme indiqué sur la page ci-dessus :
Solutions

This seems to be a hardware problem with the USB controller on Intel's chip or related electronics. Sending the laptop in for service may help.

If the Linux kernel refuses to register the USB device, you can try removing or disabling the ehci_hcd part. Doing this means that USB devices will run at USB 1.1 speeds, which is supported by pretty much every USB device for backwards compatibility. This is not a problem for USB Keyboards and Mice as they are typically USB 1.1 anyway, but for USB storage devices it can slow things down dramatically.
removing ehci_hcd

disabling ehci_hcd

If your distribution (like Fedora 11) instead compiled the ehci_hcd support directly into the kernel, you cannot unload or blacklist it.

In such cases you can unbind it in sysfs, but first we need to find what the PCI device number of the EHCI controller is as follows;

lspci|grep -i ehci


On a ThinkPad T41 this returns

00:1d.7 USB Controller: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller (rev 01)

To unbind the ehci_hcd support from the PCI device, run the following command (adjust PCI location, based on lspci result)

echo -n "0000:00:1d.7" > /sys/bus/pci/drivers/ehci_hcd/unbind

To automatically unload it on bootup, simply add the last command to /etc/rc.local.
Il n'y aura plus qu'à espérer que je n'ai pas trop de problèmes de permissions :roll:, c'était quand même ça le point de départ du topic :mrgreen: :bravo:.
Répondre