1 votes

Perte de connexion au lecteur SDXC

Mon ordinateur portable a un très petit SSD interne, j'ai donc déplacé /home sur ma carte SDXC. J'ai configuré le fstab comme ci-dessous. Cela fonctionne bien pendant un certain temps lorsque je démarre, mais ensuite il perd le montage et ne peut pas le récupérer.

J'ai essayé toutes sortes de choses sur le web. J'ai même désactivé l'automount usb en pensant que cela pouvait interférer, mais sans succès.

Je me demande s'il ne désactive pas le hub USB par lequel le SDXC communique avec le temps. Avez-vous de bonnes suggestions pour dire à Ubuntu 18.04 de ne jamais désactiver l'USB ou déconnecter les disques externes ?

   # /etc/fstab: static file system information.
#
# Use 'blkid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
# / was on /dev/nvme0n1p6 during installation
UUID=e7980c7d-441b-4814-a0cc-74ac44139f12 /               ext4    errors=remount-ro 0       1
# /boot/efi was on /dev/nvme0n1p2 during installation
UUID=E018-1B48  /boot/efi       vfat    umask=0077      0       1
/swapfile                                 none            swap    sw              0       0
UUID=62f48898-00de-40c1-842d-6623583219c4   /home   ext4     errors=remount-ro 0       2

UPDATE : J'ai essayé ça,

https://hamwaves.com/usb.autosuspend/en/

J'ai été bloqué à la première étape... Voici l'entrée lsusb de la carte.

Bus 002 Device 010: ID 045e:090c Microsoft Corp. 
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x045e Microsoft Corp.
  idProduct          0x090c 
  bcdDevice           29.10
  iManufacturer           1 Microsoft
  iProduct                2 SD Card
  iSerial                 3 201408282030
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           44
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 CARD READER
:

Et voici mon répertoire usb /devices

1-0:1.0  1-1.4:1.0  1-4.1:1.0  1-6:1.0  2-1:1.0    2-1.3:1.0  2-4.1:1.0  usb2
1-1  1-4        1-4.3      1-6:1.1  2-1.2      2-4        2-4.2
1-1:1.0  1-4.1      1-4.3:1.0  2-0:1.0  2-1.2:1.0  2-4.1      2-4.2:1.0
1-1.4    1-4:1.0    1-6        2-1  2-1.3      2-4:1.0    usb1

J'ai fait un grep récursif et l'id du produit 0x090c et il n'est dans aucun de ces fichiers ?

2EME MISE A JOUR : grep -r 090c (pas de 0x) a trouvé le fichier et ensuite ces instructions semblent avoir réglé mon problème !

MISE A JOUR 3rD : A mi-chemin. Il ne tombe plus quand je débranche l'alimentation, mais il tombe toujours de manière aléatoire pendant l'utilisation :/.

4ème mise à jour : la suppression de tlp a permis à cette solution de régler les paramètres de contrôle sur on reliable.... mais elle fait toujours chuter le volume.

1voto

Shilpa Points 142

Ok.

Assurez-vous d'abord que vous n'utilisez pas TLP ou un autre module de gestion de l'énergie. Bien qu'il existe en théorie un moyen de faire en sorte que TLP laisse les périphériques USB tranquilles, je n'ai pas réussi à le faire fonctionner.

Alors, cette solution fonctionne : https://hamwaves.com/usb.autosuspend/en/

Notez que le fichier de contrôle de votre appareil peut ne pas se trouver à l'endroit indiqué dans cet article. Vous n'en avez pas besoin pour utiliser la solution permanente mais vous en avez besoin pour tester son fonctionnement. Dans mon cas, il se trouvait en fait à 3 endroits différents dans l'arborescence des fichiers /sys/bus/usb (/sys/bus/usb/devices/usb2/2-1/2-1.3/power/control, /sys/bus/usb/devices/2-1/2-1.3/power/control et /sys/bus/usb/devices/2-1.3/power/control).

Je les ai trouvés en cherchant récursivement l'idProduct. sans le premier 0x (par exemple 090c PAS 0x090c). La commande était "grep -r 090c *" exécutée dans le répertoire /sys/bus/usb.

J'ai dû mettre power/control sur on ainsi que power/autosuspend et power/autosuspend_delay_ms sur -1. Et j'ai dû faire cela à la fois pour le périphérique de carte SD et mes hubs usb.

Voici à quoi ressemble mon fichier de règles :

ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090c", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090c", TEST=="power/autosuspend", ATTR{power/autosuspend}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090c", TEST=="power/autosuspend_delay_ms", ATTR{power/autosuspend_delay_ms}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="091a", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="091a", TEST=="power/autosuspend", ATTR{power/autosuspend}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="091a", TEST=="power/autosuspend_delay_ms", ATTR{power/autosuspend_delay_ms}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090b", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090b", TEST=="power/autosuspend", ATTR{power/autosuspend}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="090b", TEST=="power/autosuspend_delay_ms", ATTR{power/autosuspend_delay_ms}="-1"

Finalement, j'ai dû réactiver automount (je l'avais désactivé) car ma machine semble toujours perdre la connexion de temps en temps, mais avec automount, elle semble revenir tout de suite.

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