@Kai-Heng: How do I unbind/bind all devices? Never did this before :/
echo "0000:00:1d.6" > /sys/bus/pci/drivers/pcieport/unbind
Seems to unbind all usb devices, at least they stop working :D ... but
echo "0000:00:1d.6" > /sys/bus/pci/drivers/pcieport/bind
has no effect.
lspci | grep Alpine 06:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 07:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 07:01.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 07:02.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015] 08:00.0 System peripheral: Intel Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015] 09:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 0a:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 0a:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 0c:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 0d:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015] 0d:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
─root@atlantis /sys/bus/pci/drivers/pcieport ╰─# tree . ├── 0000:00:01.0 -> ../../../../devices/pci0000:00/0000:00:01.0 ├── 0000:00:1c.0 -> ../../../../devices/pci0000:00/0000:00:1c.0 ├── 0000:00:1c.1 -> ../../../../devices/pci0000:00/0000:00:1c.1 ├── 0000:00:1d.0 -> ../../../../devices/pci0000:00/0000:00:1d.0 ├── 0000:00:1d.4 -> ../../../../devices/pci0000:00/0000:00:1d.4 ├── 0000:00:1d.6 -> ../../../../devices/pci0000:00/0000:00:1d.6 ├── 0000:06:00.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0 ├── 0000:07:00.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:00.0 ├── 0000:07:01.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0 ├── 0000:07:02.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:02.0 ├── 0000:09:00.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0 ├── 0000:0a:01.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:01.0 ├── 0000:0a:04.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:04.0 ├── 0000:0c:00.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:04.0/0000:0c:00.0 ├── 0000:0d:01.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:04.0/0000:0c:00.0/0000:0d:01.0 ├── 0000:0d:04.0 -> ../../../../devices/pci0000:00/0000:00:1d.6/0000:06:00.0/0000:07:01.0/0000:09:00.0/0000:0a:04.0/0000:0c:00.0/0000:0d:04.0 ├── bind ├── new_id ├── remove_id ├── uevent └── unbind
@Kai-Heng: How do I unbind/bind all devices? Never did this before :/
echo "0000:00:1d.6" > /sys/bus/ pci/drivers/ pcieport/ unbind
Seems to unbind all usb devices, at least they stop working :D ... but
echo "0000:00:1d.6" > /sys/bus/ pci/drivers/ pcieport/ bind
has no effect.
lspci | grep Alpine
06:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:00.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:01.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
07:02.0 PCI bridge: Intel Corporation DSL6340 Thunderbolt 3 Bridge [Alpine Ridge 2C 2015]
08:00.0 System peripheral: Intel Corporation DSL6340 Thunderbolt 3 NHI [Alpine Ridge 2C 2015]
09:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0a:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0a:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0c:00.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0d:01.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
0d:04.0 PCI bridge: Intel Corporation DSL6540 Thunderbolt 3 Bridge [Alpine Ridge 4C 2015]
─root@atlantis /sys/bus/ pci/drivers/ pcieport ./../devices/ pci0000: 00/0000: 00:01.0 ./../devices/ pci0000: 00/0000: 00:1c.0 ./../devices/ pci0000: 00/0000: 00:1c.1 ./../devices/ pci0000: 00/0000: 00:1d.0 ./../devices/ pci0000: 00/0000: 00:1d.4 ./../devices/ pci0000: 00/0000: 00:1d.6 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:00.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:02.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0/0000: 0a:01.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0/0000: 0a:04.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0/0000: 0a:04.0/ 0000:0c: 00.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0/0000: 0a:04.0/ 0000:0c: 00.0/0000: 0d:01.0 ./../devices/ pci0000: 00/0000: 00:1d.6/ 0000:06: 00.0/0000: 07:01.0/ 0000:09: 00.0/0000: 0a:04.0/ 0000:0c: 00.0/0000: 0d:04.0
╰─# tree
.
├── 0000:00:01.0 -> ../../.
├── 0000:00:1c.0 -> ../../.
├── 0000:00:1c.1 -> ../../.
├── 0000:00:1d.0 -> ../../.
├── 0000:00:1d.4 -> ../../.
├── 0000:00:1d.6 -> ../../.
├── 0000:06:00.0 -> ../../.
├── 0000:07:00.0 -> ../../.
├── 0000:07:01.0 -> ../../.
├── 0000:07:02.0 -> ../../.
├── 0000:09:00.0 -> ../../.
├── 0000:0a:01.0 -> ../../.
├── 0000:0a:04.0 -> ../../.
├── 0000:0c:00.0 -> ../../.
├── 0000:0d:01.0 -> ../../.
├── 0000:0d:04.0 -> ../../.
├── bind
├── new_id
├── remove_id
├── uevent
└── unbind