我这里有一台东芝 Z20T-C 敞篷车,运行 Ubuntu 19.04,内核 5.0.0-29。几天/几周以来,可拆卸键盘底座(底部)中的触摸板、键盘背光和 USB 端口在启动到桌面后几乎立即停止工作。触摸屏和键盘继续工作。所有设备和端口都在 BIOS 菜单中工作,所以我会排除硬件缺陷。当我分离/重新连接扩展坞时,键盘灯短暂闪烁,触摸板工作几秒钟,然后又死了。我尝试关闭 usbcore 的自动挂起(内核引导参数中的 usbcore.autosuspend=-1 并更新 grub)。这有助于在屏幕关闭之前。之后,触摸板又死了。还尝试在 powertop 中为某些 USB 设备切换电源设置,但这没有帮助。
断开/重新连接扩展坞时 dmesg 告诉我:
--> disconnect here
[ 264.391932] toshiba_acpi: Unknown event received 94
[ 264.391955] toshiba_acpi: Unknown event received 86
[ 264.392192] ACPI: \_SB_.PCI0.DOCK: undocking
--> connect here, touchpad works
[ 270.991992] ACPI: \_SB_.PCI0.DOCK: docking
[ 271.006017] toshiba_acpi: Unknown event received 94
[ 271.006038] toshiba_acpi: Unknown event received 86
[ 271.008403] battery: ACPI: Battery Slot [BAT2] (battery present)
[ 271.567978] usb 2-3: new SuperSpeed Gen 1 USB device number 5 using xhci_hcd
[ 271.588533] usb 2-3: New USB device found, idVendor=0424, idProduct=5534, bcdDevice=60.80
[ 271.588540] usb 2-3: New USB device strings: Mfr=2, Product=3, SerialNumber=0
[ 271.588543] usb 2-3: Product: USB5534B
[ 271.588546] usb 2-3: Manufacturer: SMSC
[ 271.591370] hub 2-3:1.0: USB hub found
[ 271.591573] hub 2-3:1.0: 2 ports detected
[ 271.715875] usb 1-3: new high-speed USB device number 9 using xhci_hcd
[ 271.864417] usb 1-3: New USB device found, idVendor=0424, idProduct=2134, bcdDevice=60.80
[ 271.864424] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[ 271.864427] usb 1-3: Product: USB2134B
[ 271.864430] usb 1-3: Manufacturer: SMSC
[ 271.865745] hub 1-3:1.0: USB hub found
[ 271.866997] hub 1-3:1.0: 2 ports detected
[ 272.011929] usb 1-3: USB disconnect, device number 9
[ 272.064419] usb 2-3: USB disconnect, device number 5
--> touchpad dead
完整的 dmesg 日志在这里。
编辑 1:我使用“udevadm monitor”来检查设备死机时会发生什么。它打印:
KERNEL[547.410340] unbind /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0 (usb)
KERNEL[547.410579] remove /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0 (usb)
KERNEL[547.411309] unbind /devices/pci0000:00/0000:00:14.0/usb1/1-3 (usb)
KERNEL[547.411504] remove /devices/pci0000:00/0000:00:14.0/usb1/1-3 (usb)
UDEV [547.415427] unbind /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0 (usb)
UDEV [547.417120] remove /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0 (usb)
UDEV [547.419275] unbind /devices/pci0000:00/0000:00:14.0/usb1/1-3 (usb)
UDEV [547.424835] remove /devices/pci0000:00/0000:00:14.0/usb1/1-3 (usb)
KERNEL[547.597264] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0 (usb)
KERNEL[547.597446] remove /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0 (usb)
KERNEL[547.598157] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-3 (usb)
KERNEL[547.598363] remove /devices/pci0000:00/0000:00:14.0/usb2/2-3 (usb)
UDEV [547.601256] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0 (usb)
UDEV [547.606231] remove /devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3:1.0 (usb)
UDEV [547.613479] unbind /devices/pci0000:00/0000:00:14.0/usb2/2-3 (usb)
UDEV [547.618184] remove /devices/pci0000:00/0000:00:14.0/usb2/2-3 (usb)
所以似乎内核关闭了集线器
编辑 2:我尝试将“acpi=off”添加到内核启动模式参数,并回滚到内核 5.0.0-13,但它没有改变任何东西。我还尝试添加一个 UDEV 规则文件“/etc/udev/rules.d/99-powersave.rules”:
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/autosuspend}="0"
ACTION=="add", SUBSYSTEM=="usb", ATTR{power/autosuspend_delay_ms}="-1"
ACTION=="add", SUBSYSTEM=="usb", ATTR{busnum}=="1", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{busnum}=="2", ATTR{power/control}="on"
但这也无济于事。我现在完全不知道下一步该尝试什么。
编辑 3:我现在已经尝试过内核版本 4.18.20、5.0.21 和 5.2.21,但没有任何运气。这可能是 udev / acpi / 驱动程序问题,但我不知道去哪里找......