2

I have a Toshiba Z20T-C convertible here, running Ubuntu 19.04, Kernel 5.0.0-29. For a couple of days / weeks now the touchpad, keyboard backlight and usb ports in the detachable keyboard dock (bottom part) stopped working almost immediately after booting into the desktop. The touchscreen and keyboard keep working. ALL devices and ports work in the BIOS menus, so I would rule out a hardware defect. When I detach / reattach the dock, the keyboard light flashes briefly and the touchpad works for a couple of seconds, then dies again. I've tried turning off autosuspend for the usbcore (usbcore.autosuspend=-1 in kernel boot parameters and updating grub). This helps until the screen is powered off. After that the touchpad is dead again. Also tried switching power settings for some of the usb devices in powertop, but that didn't help. Not sure I targeted the correct devices though.
When disconnecting / reconnecting the dock dmesg tells me:

--> 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

A full dmesg log is here.

EDIT 1: I've used "udevadm monitor" to check what happens when the devices die. It prints:

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)

So it seems the kernel turns off the hubs

EDIT 2: I've tried adding "acpi=off" to the kernel boot mode parameters, and rolling back to kernel 5.0.0-13, but that it didn't change anything. I also tried adding a UDEV rule file "/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"

But that didn't help either. I'm pretty clueless what to try next right now.

EDIT 3: I've tried kernel version 4.18.20, 5.0.21 and 5.2.21 now, without any luck. It might be a udev / acpi / driver problem, but I'm no sure where to look...

2
  • Is the dock plugged into a USB-C port? If so does that port also charge the laptop? – WinEunuuchs2Unix Oct 6 '19 at 14:59
  • To clarify: It's not really an external "dock". It is a part of the convertible / laptop that houses the keyboard and touchpad. You can attach or detach it from the tablet part. The devices are connected through a proprietary USB docking connector. – Bim Oct 6 '19 at 18:04
1

This answer has many USB auto-power off settings to check:

After a few days of struggling, I managed to find a solution on Ubuntu 17.10. Hope this works for everyone having problems with the D6000 dock. Below format is markdown (to lazy to convert it)

Instructions for fixing the blanking monitor on dock issue within Ubuntu.

Make sure to reboot after making the changes!

Disable USB AutoSuspend
  • sudo gedit /etc/default/tlp and change the below value from 1 to 0
USB_AUTOSUSPEND=0
  • sudo gedit /etc/udev/rules.d/01-usb-dock.rules. This will create a new file.
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1bcf", ATTR{idProduct}=="2b95", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1bcf", ATTR{idProduct}=="0005", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0002", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="1d6b", ATTR{idProduct}=="0003", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04d9", ATTR{idProduct}=="0143", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="04f3", ATTR{idProduct}=="24a1", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05e3", ATTR{idProduct}=="0608", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05e3", ATTR{idProduct}=="0610", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="05e3", ATTR{idProduct}=="0620", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="06c4", ATTR{idProduct}=="c411", TEST=="power/control", ATTR{power/control}="on"
ACTION=="add", SUBSYSTEM=="usb", ATTR{idVendor}=="17e9", ATTR{idProduct}=="6006", TEST=="power/control", ATTR{power/control}="on"
Disable Display Power Management
  • sudo gedit /etc/X11/xorg.conf Append the below options to the file.
Section "Monitor"
Identifier "DVI-I-3-2"
Option "DPMS" "false"
EndSection

Section "Monitor"
Identifier "DVI-I-2-1"
Option "DPMS" "false"
EndSection
Disable audio suspend
  • sudo gedit /etc/pulse/default.pa. Comment out the line indicated below.
### Automatically suspend sinks/sources that become idle for too long
# load-module module-suspend-on-idle
Disale USB wake in BIOS

Boot into the BIOS by pressing the F12 key as the machine turns on. Under Power Management >> USB Wake Support uncheck both boxes.

1
  • TLP does not seem to be installed on my system and from what I read it is not recommend to use it anymore. The rest seems to irrelevant for my problem... – Bim Oct 16 '19 at 20:17
1

In my case it was a hardware defect after all. At some point even the keyboard died, so I replaced the whole keyboard / dock part. Now everything works again, so this was not a Linux problem...

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.