Непосредственный след от приостанавливает вызванный устройствами USB 3.0

Мой компьютер обычно приостанавливает и обычно просыпается. Но когда я подключаю жесткий диск USB3.0, даже после того, как он был размонтирован и разъединен, машина сразу просыпается каждый раз, когда я пытаюсь приостановить.

Все USB-устройства отключены в /proc/acpi/wakeup (ниже), и я не вижу ошибок в /var/log/syslog принадлежа или к диску USB или к резервному устройству или процессу пробуждения.

Тот же диск, подключенный к порту USB 2.0, не вызывает ту же проблему, ни один не делает диски USB 2.0, подключенные к портам USB 3.0. Даже когда нет никаких USB-устройств, подключенных во всех компьютерных следах сразу от резервного устройства, если диск USB 3.0 когда-либо соединялся начиная с запуска.

Системами является Dell Precision M6700, и проблема произошла с 14,04 и сохраняется с 14,10.

Что могло вызывать это, и как я могу отладить его далее?

> cat /proc/acpi/wakeup
Device  S-state   Status   Sysfs node
P0P1      S4    *disabled
USB1      S3    *disabled
USB2      S3    *disabled
USB3      S3    *disabled
USB5      S3    *disabled
USB6      S3    *disabled
USB7      S3    *disabled
RP01      S4    *disabled  pci:0000:00:1c.0
PXSX      S4    *disabled
RP02      S4    *disabled  pci:0000:00:1c.1
PXSX      S4    *disabled  pci:0000:03:00.0
RP05      S4    *disabled
PXSX      S4    *disabled
RP06      S4    *disabled
PXSX      S4    *disabled
RP07      S4    *disabled
PXSX      S4    *disabled
RP08      S4    *disabled  pci:0000:00:1c.7
PXSX      S4    *disabled  pci:0000:0c:00.0
PEG0      S4    *disabled  pci:0000:00:01.0
PEGP      S4    *disabled
PEG1      S4    *disabled
PEG2      S4    *disabled
PEG3      S4    *disabled
USB4      S3    *disabled
RP03      S4    *disabled  pci:0000:00:1c.2
RP04      S4    *disabled  pci:0000:00:1c.3
PXSX      S4    *disabled
GLAN      S4    *enabled   pci:0000:00:19.0
EHC1      S0    *enabled   pci:0000:00:1d.0
EHC2      S0    *enabled   pci:0000:00:1a.0
XHC       S0    *enabled   pci:0000:00:14.0
HDEF      S4    *disabled  pci:0000:00:1b.0
LID0      S3    *enabled 
PBTN      S3    *enabled

Редактирование - Явно отключение устройств не решает проблему

Я теперь попытался отключить пробуждение для всех устройств (кроме кнопки питания).

Сначала я отключил устройства в /proc/acpi/wakeup и затем быть уверенным я искал /sys/devices/ для всех wakeup файлы:

find /sys/devices/ -name "wakeup" -print -exec grep enabled {} \;

Затем я explicity устанавливаю их всех на disabled, например:

sudo bash -c "echo disabled > /sys/devices/pci0000:00/0000:00:19.0/power/wakeup"

Отъезд только кнопки питания включил:

cat /sys/devices/LNXSYSTM:00/LNXPWRBN:00/power/wakeup
# enabled

После этого компьютер все еще сразу просыпается от, приостанавливают (каждый раз, когда диск USB 3.0 когда-либо соединялся).

Кроме того, после пробуждения следующие устройства были сброшены к enabled:

/sys/devices/pci0000:00/0000:00:19.0/power/wakeup
/sys/devices/LNXSYSTM:00/device:00/PNP0C0A:00/power_supply/BAT0/power/wakeup

Устройство PCI, кажется, моя LAN, потому что это также сбрасывается в /proc/acpi/wakeup:

Device  S-state   Status   Sysfs node
...
GLAN      S4    *enabled   pci:0000:00:19.0
...

Могут быть другие факторы, не перечисленные в устройствах, которые ответственны за след?

Редактирование - Добавленный детализировало lsusb информацию

Добавленная информация запросила Fabby:

> Bus 004 Device 002: ID 357d:7788  
> Device Descriptor:
>   bLength                18
>   bDescriptorType         1
>   bcdUSB               3.00
>   bDeviceClass            0 (Defined at Interface level)
>   bDeviceSubClass         0 
>   bDeviceProtocol         0 
>   bMaxPacketSize0         9
>   idVendor           0x357d 
>   idProduct          0x7788 
>   bcdDevice            0.00
>   iManufacturer          10 
>   iProduct               11 
>   iSerial                 3 
>   bNumConfigurations      1
>   Configuration Descriptor:
>     bLength                 9
>     bDescriptorType         2
>     wTotalLength          121
>     bNumInterfaces          1
>     bConfigurationValue     1
>     iConfiguration          0 
>     bmAttributes         0xc0
>       Self Powered
>     MaxPower                2mA
>     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              15
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x02  EP 2 OUT
>     Couldn't open device, some information will be missing
>     bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst              15
>     Interface Descriptor:
>       bLength                 9
>       bDescriptorType         4
>       bInterfaceNumber        0
>       bAlternateSetting       1
>       bNumEndpoints           4
>       bInterfaceClass         8 Mass Storage
>       bInterfaceSubClass      6 SCSI
>       bInterfaceProtocol     98 
>       iInterface              0 
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x01  EP 1 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>         Command pipe (0x01)
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x82  EP 2 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst               0
>         MaxStreams             32
>         Status pipe (0x02)
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x83  EP 3 IN
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst              15
>         MaxStreams             32
>         Data-in pipe (0x03)
>       Endpoint Descriptor:
>         bLength                 7
>         bDescriptorType         5
>         bEndpointAddress     0x04  EP 4 OUT
>         bmAttributes            2
>           Transfer Type            Bulk
>           Synch Type               None
>           Usage Type               Data
>         wMaxPacketSize     0x0400  1x 1024 bytes
>         bInterval               0
>         bMaxBurst              15
>         MaxStreams             32
>         Data-out pipe (0x04)
> 
5
задан 13 April 2017 в 05:24

2 ответа

Во-первых, для меня не было очевидно, что XHC список в эти wakeup вывод был устройством USB 3.0.

XHC       S0    *enabled   pci:0000:00:14.0

Однако даже отключение состояния пробуждения этого устройства не решает проблему.

sudo bash -c "echo disabled > \
    /sys/devices/pci0000:00/0000:00:14.0/power/wakeup"  # Problem persists.

единственное рабочее решение, которое я нашел, к unbind и bind драйвер устройства с помощью следующих команд:

sudo bash -c ' \
  echo -n "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/unbind && \
  echo -n "0000:00:14.0" > /sys/bus/pci/drivers/xhci_hcd/bind;'

я должен сделать этот каждый раз между подключением устройства хранения USB 3.0 и приостановкой компьютера, но это последовательно работает.

нужно отметить, что xhci_hcd компонент пути только допустим для устройств USB 3.0. Эта часть пути должна будет варьироваться в зависимости от типа шины, которая должна быть сброшена и могла бы быть одним из uhci_hcd, sdhci-pci или ehci-pci для других типов устройства хранения.

3
ответ дан 23 November 2019 в 09:24

Извините за добавление ответа, но у меня нет достаточной репутации для добавления комментариев...

(Который является , почему я смотрю на Вашу проблему !);-): P

Вы попытались сбросить Шину USB диск, был просто разъединен до приостановки?

, Если Вы не знаете, как, мог Вы:

  1. Закрытие машина
  2. Отключает все USB-устройства
  3. , Удаляют все силовые кабели, UPSes, батареи...
  4. Включают машину (да: без силовых кабелей!)
  5. Отложенный все питание, удаленное в Начальной загрузке шага 3
  6. машина
  7. , Делают a: lsusb --verbose > /tmp/good-bus.txt 2>&1
  8. Включают диск
  9. , Делают a: lsusb --verbose > /tmp/bad-bus.txt 2>&1
  10. Размонтирование диск
  11. Извлекается, диск
  12. Удаляют диск
  13. , Делают a: lsusb --verbose > /tmp/worse-bus.txt 2>&1
  14. Делают a: diff --text /tmp/good-bus.txt /tmp/bad-bus.txt > /tmp/test-g-b.txt
  15. Делают a: diff --text /tmp/good-bus.txt /tmp/worse-bus.txt > /tmp/test-g-w.txt

И затем сообщают здесь с выводом /tmp/test-g-b.txt и /tmp/test-g-w.txt

2
ответ дан 23 November 2019 в 09:24

Другие вопросы по тегам:

Похожие вопросы: