Ubuntu nie odczytuje karty SD po przebudzeniu

12

Podłączyłem kartę SD do mojego notebooka i używam jej jako partycji domowej. Po włączeniu komputera nie mam problemu z dostępem do folderu domowego i podkatalogów, ale kiedy go zawieszam i wznawiam, system nie odczytuje karty SD. Może się więc zawiesić, zmuszając mnie do ponownego uruchomienia komputera, aby wszystko znów działało.

Niektóre przydatne informacje to:

  • MacBook Air 2016
  • macOS Sierra i Ubuntu 17.04 Podwójny rozruch
  • (Ten sam problem wystąpił również 16.10)

Niektóre dodatkowe informacje:

$ 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

Główną różnicą jest to, że przed zawieszeniem lsblkpokazuje moje sdb1urządzenie (którym jest moja karta SD zamontowana jako /home). Po wybudzeniu lsblkpolecenie nie pokazuje mojej karty SD i nie mogę dotrzeć do plików w /homefolderze. Nie mogę też ponownie podłączyć karty SD; nie jest rozpoznawany.

  • syslog - ostatnie zawieszenie nastąpiło z „9 maja 22:56:01” w linii 45263.

    Interesujące części wydają się:

    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)
    
Ege Sucu
źródło
Jeśli potrzebujesz prywatności, lepiej byłoby mieć katalog / home na twardym dysku i zaszyfrować.
user258532
@ user258532 Nie mam problemu z prywatnością. Używam pamięci SD, ponieważ mam m.2 sata ssd, który ma 128 GB pamięci, a 60-70% z nich należy do macOS.
Ege Sucu
Czy widzisz jakieś zmiany w wyjściu lsusb przed i po zawieszeniu / wybudzeniu?
blvdeer
Ponieważ po przebudzeniu nadal możesz wchodzić w interakcje z systemem, czy możesz podać treść pytania /var/log/pm-suspend.logi /var/log/syslogodpowiedzieć na to pytanie? Możesz skorzystać z usług ciastek, jeśli nie pasują do pytania.
David Foerster,
Nie było pliku dziennika o nazwie pm-suspend.log. Jednak skopiowałem plik syslog jako pastebin.
Ege Sucu

Odpowiedzi:

0

Niektóre dyski twarde USB mają oprogramowanie wewnętrzne, które zmusza ich do uśpienia po okresach nieużywania. Może to także twój problem.

Automounter może budzić urządzenia ( https://help.ubuntu.com/community/Autofs ).

Mam nadzieję, że to Ci pomoże.

Eraseth
źródło
0

Miał dokładnie ten sam problem. Występuje również w systemie Windows 7-10.

Rozwiązanie:

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

następnie wklej to do pustego dokumentu:

 #!/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

Zapisz i uruchom chmod:

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

Następnie uruchom ponownie i przetestuj

Håvard Pettersen
źródło