![Ubuntu 唤醒后不读取 SD 卡](https://linux22.com/image/1202340/Ubuntu%20%E5%94%A4%E9%86%92%E5%90%8E%E4%B8%8D%E8%AF%BB%E5%8F%96%20SD%20%E5%8D%A1.png)
我已将 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 卡;它无法被识别。
系统日志– 最近一次暂停发生在“5 月 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)
答案1
遇到了完全相同的问题。在 Windows 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
然后重启并测试
答案2
有些 USB 硬盘有固件,会在一段时间不使用后强制进入休眠状态。也许这也是你的问题。
自动挂载器能够唤醒设备(https://help.ubuntu.com/community/Autofs)。
我希望这能帮到您。
答案3
尝试更改电源设置,使其永远不会挂起。这就是我必须做的,以确保成功将 128 GB 复制到 SD 卡。
保持笔记本电脑处于插入状态。