web-dev-qa-db-fra.com

Quelle commande réveillera un lecteur USB en veille?

J'ai un lecteur USB à alimentation électrique qui s'éteint lorsqu'il n'est pas utilisé et se réveille automatiquement lorsqu'il est utilisé. Il est utilisé comme lecteur de sauvegarde à partir d'un script racine qui le monte lorsque cela est nécessaire. Parfois, la commande de montage échoue parce que je soupçonne qu’elle n’attend pas toujours que le lecteur s’allume (bien que ce soit une hypothèse).

Je voudrais mettre une commande dans le script qui va sonder le lecteur et le faire tourner afin qu'il soit prêt lorsque la monture est émise. J'ai essayé lsusb mais cela ne fonctionne pas, pas plus que les commandes du système de fichiers, car elles ne sont pas encore montées. fdisk -l semble fonctionner, mais puis-je utiliser quelque chose de mieux?

MISE À JOUR

Comme suggéré par @vidarlo, j'ai vérifié dmesg après l'échec du montage:

[Sun Aug 5 01:30:04 2018] usb 1-1: reset high-speed USB device number 2 using xhci_hcd [Sun Aug 5 01:30:04 2018] usb 1-1: device firmware changed [Sun Aug 5 01:30:04 2018] usb 1-1: USB disconnect, device number 2 [Sun Aug 5 01:30:04 2018] sd 2:0:0:0: [sdb] tag#0 FAILED Result: hostbyte=DID_NO_CONNECT driverbyte=DRIVER_OK [Sun Aug 5 01:30:04 2018] sd 2:0:0:0: [sdb] tag#0 CDB: Read(10) 28 00 00 00 00 41 00 00 02 00 [Sun Aug 5 01:30:04 2018] print_req_error: I/O error, dev sdb, sector 65 [Sun Aug 5 01:30:04 2018] EXT4-fs (sdb1): unable to read superblock [Sun Aug 5 01:30:04 2018] usb 1-1: new high-speed USB device number 4 using xhci_hcd [Sun Aug 5 01:30:05 2018] usb 1-1: New USB device found, idVendor=152d, idProduct=2339 [Sun Aug 5 01:30:05 2018] usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=5 [Sun Aug 5 01:30:05 2018] usb 1-1: Product: USB to ATA/ATAPI Bridge [Sun Aug 5 01:30:05 2018] usb 1-1: Manufacturer: JMicron [Sun Aug 5 01:30:05 2018] usb 1-1: SerialNumber: 152D203380B6 [Sun Aug 5 01:30:05 2018] usb-storage 1-1:1.0: USB Mass Storage device detected [Sun Aug 5 01:30:05 2018] scsi Host2: usb-storage 1-1:1.0 [Sun Aug 5 01:30:07 2018] scsi 2:0:0:0: Direct-Access SAMSUNG HD321KJ PQ: 0 ANSI: 2 CCS [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: Attached scsi generic sg1 type 0 [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: [sdb] 625142448 512-byte logical blocks: (320 GB/298 GiB) [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: [sdb] Write Protect is off [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: [sdb] Mode Sense: 00 38 00 00 [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: [sdb] Asking for cache data failed [Sun Aug 5 01:30:07 2018] sd 2:0:0:0: [sdb] Assuming drive cache: write through [Sun Aug 5 01:30:08 2018] sdb: sdb1 [Sun Aug 5 01:30:08 2018] sd 2:0:0:0: [sdb] Attached SCSI disk

Indépendamment de l’erreur, le lecteur semble devenir disponible. Je crois que si j'avais relancé le script de sauvegarde à ce stade, cela aurait fonctionné.

1
ceperman

Toute lecture devrait le déclencher:

Sudo dd if=/dev/sdx1 bs=1k count=1 of=/dev/zero

va essayer de lire et devrait le réveiller.

Notez que je doute un peu que ce soit la raison pour laquelle le montage ne fonctionne pas. Avez-vous des messages d'erreur? Que montre dmesg | tail -n 25 après une tentative de montage infructueuse?

1
vidarlo

Clé USB en veille avec gestion de l'alimentation

Votre clé USB à gestion de l'alimentation s'éteint lorsqu'elle n'est pas utilisée et se réveille automatiquement lorsque vous y accédez, mais parfois trop lentement. Dans ce cas, il ne soit ni démonté ni éjecté, et je pense que la commande

Sudo partprobe

devrait le réveiller.


Sleep

Pas dans ce cas mais dans certains cas liés

sleep 5

aiderait en donnant au système d’exploitation 5 secondes pour se préparer à la prochaine commande (la sauvegarde).

Démonter

Si vous avez démonté toutes les partitions d’un lecteur USB avec Sudo umount ..., celui-ci est toujours allumé et connecté à un /dev/sdx (où x est la lettre du lecteur, par exemple b. ou c), et vous pouvez y monter à nouveau les partitions avec Sudo mount ....

Éjecter

Si vous avez éjecté une clé USB, ce qui est l'action typique du navigateur de fichiers, lorsque vous cliquez sur l'icône d'éjection, toutes les partitions qui s'y trouvent sont démontées et il est éteint et n'est plus connecté à /dev/sdx. I signifie que vous ne pouvez le réveiller avec aucune commande en pointant sur /dev/sdx.

Débrancher et rebrancher

Lorsque vous débranchez et branchez à nouveau un lecteur USB éjecté, il sera allumé et connecté à /dev/sdx.

Attention: ne débranchez jamais un lecteur USB comportant une partition montée

Ne débranchez jamais un lecteur USB comportant une partition montée, car le système de fichiers de la partition risque d’être corrompu.

Donc, vous devez démonter ou éjecter (ou éteindre l'ordinateur) avant de débrancher.

1
sudodus