- Check the output of `ls /sys/bus/pci/drivers/xhci_hcd`. In my laptop I see "0000:00:14.0 bind new_id remove_id uevent unbind". The goal is to get the id of the xhci_hcd, for me it is "0000:00:14.0"(which I will use in the following steps). Also verify that the output shows "bind" and "unbind" as directory entries. The following commands should be executed in a root shell
The following workaround fixes for me: https:/ /ubuntuforums. org/showthread. php?t=2226734
Here are the steps adapted for systemd:
- Check the output of `ls /sys/bus/ pci/drivers/ xhci_hcd` . In my laptop I see "0000:00:14.0 bind new_id remove_id uevent unbind". The goal is to get the id of the xhci_hcd, for me it is "0000:00: 14.0"(which I will use in the following steps). Also verify that the output shows "bind" and "unbind" as directory entries. The following commands should be executed in a root shell
- Create a script to unbind the xhci:
# cat > /usr/local/ bin/unbind- xhci << "EOF" pci/drivers/ xhci_hcd/ unbind bin/unbind- xhci
#!/bin/sh
echo -n '0000:00:14.0' | tee /sys/bus/
EOF
# chmod +x /usr/local/
- Create a script to rebind the xhci:
# cat > /usr/local/ bin/rebind- xhci << "EOF" pci/drivers/ xhci_hcd/ bind bin/rebind- xhci
#!/bin/sh
echo -n '0000:00:14.0' | tee /sys/bus/
EOF
# chmod +x /usr/local/
- Create a systemd service that runs before sleep:
# cat > /etc/systemd/ system/ unbind- xhci.service << "EOF" =Unbind xHCI Host Controller Driver before sleep sleep.target
[Unit]
Description
Before=
[Service] /usr/local/ bin/unbind- xhci
Type=oneshot
ExecStart=
[Install] sleep.target
WantedBy=
EOF
- Create a systemd service that runs after wakeup:
# cat > /etc/systemd/ system/ rebind- xhci.service << "EOF" =Unbind xHCI Host Controller Driver after wakeup suspend. target hibernate. target hybrid- sleep.target
[Unit]
Description
After=
After=
After=
[Service] /usr/local/ bin/rebind- xhci
Type=oneshot
ExecStart=
[Install] suspend. target hibernate. target hybrid- sleep.target
WantedBy=
WantedBy=
WantedBy=
EOF
- Reload systemd
# systemctl daemon-reload