Ubuntu не читает SD-карту после пробуждения

12

Я подключил SD-карту к своему ноутбуку и использую ее в качестве домашнего раздела. Когда я включаю компьютер, у меня нет проблем с доступом к домашней папке и подкаталогам, но когда я приостанавливаю и возобновляю работу, система не читает SD-карту. Так что он может замерзнуть, заставив меня перезагрузить машину, чтобы все снова заработало.

Некоторая полезная информация:

  • MacBook Air 2016
  • macOS Sierra & Ubuntu 17.04 с двойной загрузкой
  • (Та же проблема возникла 16.10)

Некоторая дополнительная информация:

$ sudo LC_MESSAGES=POSIX lshw -c storage
*-usb                     
   description: Mass storage device
   product: Card Reader
   vendor: Apple
   physical id: 3
   bus info: usb@2:3
   logical name: scsi1
   version: 8.20
   serial: 000000000820
   capabilities: usb-3.00 scsi emulated scsi-host
   configuration: driver=usb-storage maxpower=896mA speed=5000Mbit/s

$ lsusb -vd 05ac:8406 is:
    Bus 002 Device 002: ID 05ac:8406 Apple, Inc. 
Couldn't open device, some information will be missing
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               3.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0         9
  idVendor           0x05ac Apple, Inc.
  idProduct          0x8406 
  bcdDevice            8.20
  iManufacturer           3 
  iProduct                4 
  iSerial                 5 
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           44
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0 
    bmAttributes         0xa0
      (Bus Powered)
      Remote Wakeup
    MaxPower              224mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      iInterface              0 
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               4
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0400  1x 1024 bytes
        bInterval               0
        bMaxBurst               4

Также основным отличием является то, что перед приостановкой lsblkпоказывает мое sdb1устройство (это моя SD-карта, установленная как /home). После пробуждения lsblkкоманда не показывает мою SD-карту, и я не могу найти файлы в /homeпапке. Также я не могу восстановить свою SD-карту; это не признается.

  • syslog - самое последнее приостановление происходит из «9 мая 22:56:01» в строке 45263.

    Интересные части выглядят так:

    May  9 22:56:25 MacBookAir kernel: [ 5883.035573] PM: Finishing wakeup.
    May  9 22:56:25 MacBookAir kernel: [ 5883.035575] Restarting tasks ... 
    May  9 22:56:25 MacBookAir kernel: [ 5883.035795] usb 2-3: USB disconnect, device number 2
    [...snip...]
    May  9 22:56:26 MacBookAir kernel: [ 5884.869838] usb usb2-port3: cannot disable (err = -32)
    May  9 22:56:26 MacBookAir kernel: [ 5884.869942] xhci_hcd 0000:00:14.0: Cannot set link state.
    May  9 22:56:26 MacBookAir kernel: [ 5884.869969] usb usb2-port3: cannot disable (err = -32)
    
Эге Суку
источник
Если вам нужна конфиденциальность, лучше иметь каталог / home на жестком диске и шифровать его.
user258532
@ user258532 У меня нет проблем с конфиденциальностью. Я использую SD-память, потому что у меня есть sata s.2 mata s, который имеет 128 ГБ памяти, и 60-70% этого принадлежит macOS.
Эге Суку
Видите ли вы какие-либо изменения в выводе lsusb до и после приостановки / пробуждения?
бульвар
Поскольку вы все еще можете взаимодействовать с вашей системой после пробуждения, не могли бы вы включить содержание /var/log/pm-suspend.logи /var/log/syslogв свой вопрос? Вы можете воспользоваться услугой pastie, если они не вписываются в вопрос.
Дэвид Фёрстер,
Не было никакого файла журнала с именем pm-suspend.log. Однако я скопировал файл системного журнала как pastebin.
Эге Суку

Ответы:

0

Некоторые жесткие диски USB имеют встроенное программное обеспечение, которое заставляет их спать после периодов простоя. Может быть, это тоже ваша проблема.

Автомонтер умеет разбудить устройства ( https://help.ubuntu.com/community/Autofs ).

Я надеюсь, что это поможет вам.

Eraseth
источник
0

Была точно такая же проблема. Также происходит на окнах 7-10.

Решение:

sudo gedit /lib/systemd/system-sleep/usbc.sh

затем вставьте это в пустой документ:

 #!/bin/sh

case "$1" in
        pre)

 echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/unbind



                ;;
esac


case "$1" in
        post)
 echo -n "0000:00:14.0" | tee /sys/bus/pci/drivers/xhci_hcd/bind

                ;;
esac

Сохраните его и запустите chmod:

sudo chmod a+x /lib/systemd/system-sleep/usbc.sh

Затем перезагрузите компьютер и проверьте

Ховард Петтерсен
источник