Monter un périphérique USB avec un uptime élevé

a marqué ce sujet comme résolu.

Bonsoir à tous :)

Il m’arrive régulièrement de vouloir brancher une clé USB alors que mon ordinateur est allumé depuis plusieurs heures. Je rencontre alors un problème particulièrement gênant : bien que le système détecte qu’un périphérique USB a été branché, il reste invisible et inutilisable.

La commande dmesg ci-dessous indique bien que je branche ma clé USB puis que je la débranche pour enfin la remettre.

1
2
3
4
5
$ dmesg
...
[17173.694096] usb 1-1.2: new high-speed USB device number 3 using ehci-pci
[17180.529385] usb 1-1.2: USB disconnect, device number 3
[17180.804048] usb 1-1.2: new high-speed USB device number 4 using ehci-pci

De plus, udev fait son travail correctement :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
$ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[17970.942008] remove   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
KERNEL[17970.942093] remove   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
UDEV  [17970.943432] remove   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV  [17970.952969] remove   /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
KERNEL[17980.647973] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
KERNEL[17980.648080] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)
UDEV  [17980.667921] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2 (usb)
UDEV  [17980.668575] add      /devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.2/1-1.2:1.0 (usb)

Or seul mon disque dur apparaît dans le répertoire /dev :

1
2
$ ls /dev/sd*
/dev/sda  /dev/sda1  /dev/sda2  /dev/sda3  /dev/sda4

La commande lsblk retourne un résultat cohérent :

1
2
3
4
5
6
7
8
$ lsblk
NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda      8:0    0 465,8G  0 disk 
├─sda1   8:1    0   102M  0 part /boot
├─sda2   8:2    0 258,9M  0 part [SWAP]
├─sda3   8:3    0  48,9G  0 part /
└─sda4   8:4    0 416,6G  0 part /home
sr0     11:0    1  1024M  0 rom

La question que je me pose, c’est comment faire en sorte de pouvoir monter des périphériques USB sans limite de temps, que ce soit en le disant explicitement dans un fichier quelconque, ou au pire en remettant à zéro un compteur. J’utilise Archlinux mais c’est un problème plus général et ancien (j’ai trouvé un sujet de forum datant de 2005 qui en parle).

Pouvez-vous m’aider ? C’est quand même dommage d’avoir à redémarrer juste pour copier un fichier.

+0 -0

Ça ressemble à un problème d’automount non ?

J’ai chez moi et au boulot des disques durs USB branchés en permanence sur des PCs qui sont redémarrés environ une fois par semaine, je n’ai pas ce comportement : il me faut un peu de temps (une dizaine de secondes) au premier accès (après quelques heures d’attente), mais tout marche. Idem si je branche un nouveau périphérique (testé des zillions de fois en faisant du développement Android).

À noter que je suis sur des dérivés d’Ubuntu.

PS : je vois parler d’uptime > 70 jours dans ton lien. Ça ne pose normalement pas de problème non plus : au boulot, toutes les semaines on externalise les sauvegardes sur un disque dur USB3, donc tous les lundis on branche un disque dur USB3 sur le serveur, qui a un uptime d’un peu plus d’un an maintenant, et il a toujours été reconnu. Il tourne sous une Debian Jessie et n’a aucune configuration spécifique pour l’USB ; les disques ont une seule partition en ext4.

J’ai installé autofs en suivant les instructions du wiki. Les périphériques sont toujours montés (ou pas si j’attends trop longtemps) comme avant et automount ne fait rien :

1
2
3
4
5
# automount -fv 
Starting automounter version 5.1.2, master map auto.master
using kernel protocol version 5.02
mounted indirect on /media/misc with timeout 300, freq 75 seconds
mounted indirect on /net with timeout 300, freq 75 seconds

À partir d’ici, si je branche ou si je débranche une clé USB, automount ne dit absolument rien. Le système de fichiers est monté dans /run/media/<user>/ au lieu de /media/ comme attendu.

Voici les fichiers de configuration importants :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#
# Sample auto.master file
# This is a 'master' automounter map and it has the following format:
# mount-point [map-type[,format]:]map [options]
# For details of the format look at auto.master(5).
#
/media/misc /etc/autofs/auto.misc
#
# NOTE: mounts done from a hosts map will be mounted with the
#   "nosuid" and "nodev" options unless the "suid" and "dev"
#   options are explicitly given.
#
/net    -hosts
#
# Include /etc/autofs/auto.master.d/*.autofs
# The included files must conform to the format of this file.
#
+dir:/etc/autofs/auto.master.d
#
# Include central master map if it can be found using
# nsswitch sources.
#
# Note that if there are entries for /net or /misc (as
# above) in the included master map any keys that are the
# same will not be seen as the first read key seen takes
# precedence.
#
#+auto.master
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
# auto.misc
# This is an automounter map and it has the following format
# key [ -mount-options-separated-by-comma ] location
# Details may be found in the autofs(5) manpage

cd      -fstype=iso9660,ro,nosuid,nodev         :/dev/cdrom
usbstick    -fstype=auto,async,nodev,nosuid,umask=000   :/dev/sdb1

# the following entries are samples to pique your imagination
#linux      -ro,soft,intr       ftp.example.org:/pub/linux
#boot       -fstype=ext2        :/dev/hda1
#floppy     -fstype=auto        :/dev/fd0
#floppy     -fstype=ext2        :/dev/fd0
#e2floppy   -fstype=ext2        :/dev/fd0
#jaz        -fstype=ext2        :/dev/sdc1
#removable  -fstype=ext2        :/dev/hdd
+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte