Hi, I have PVE running on a thinkpad laptop that's connected to a thunderbolt 4 docking station. My goal is to pass through onboard USB devices (webcam, audio, bluetooth) to one of the VMs, while leaving the docking station USB ports available to the host. I tried doing this via USB passthrough and it worked well for the most part, but bluetooth audio output in the VM was always wonky in video calls (though oddly fine when just playing back audio content).
So, I'm experimenting with passing through the entire USB host controller.
I've passed through the first controller,
Is the hardware topology of this setup such that what I want to do is impossible? I've read that USB 2 can be wired separately from USB 3 even on the same port, so perhaps they're all hitting the same internal controller that I've already passed through even though they're connected to the dock?
Any help with this - or just getting direct USB bluetooth passthrough to work properly - is appreciated.
So, I'm experimenting with passing through the entire USB host controller.
lspci
lists three USB-related devices:
Code:
00:14.0 USB controller: Intel Corporation Alder Lake-S PCH USB 3.2 Gen 2x2 XHCI Controller (rev 11)
22:00.0 USB controller: Intel Corporation Thunderbolt 4 NHI [Maple Ridge 4C 2020]
48:00.0 USB controller: Intel Corporation Thunderbolt 4 USB Controller [Maple Ridge 4C 2020]
I've passed through the first controller,
00:14
, and all onboard devices work great in the VM, and devices plugged into the laptop's USB ports are all passed through to the VM as desired. Also, devices plugged into the USB ports on the docking station remain available to the host as desired, but only if they're USB 3.x - lower speed USB 2.x devices such as smartphone, keyboard/mouse, etc. plugged into the same ports are passed through to the VM, which I don't want. Here's the output of lsusb -tv
on the host when the VM is running:
Code:
/: Bus 04.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 10000M
ID 1d6b:0003 Linux Foundation 3.0 root hub
|__ Port 2: Dev 2, If 0, Class=Hub, Driver=hub/4p, 10000M
ID 8087:0b40 Intel Corp.
|__ Port 4: Dev 3, If 0, Class=Hub, Driver=hub/4p, 10000M
ID 17ef:30b6 Lenovo
|__ Port 4: Dev 5, If 0, Class=Hub, Driver=hub/4p, 10000M
ID 17ef:30b8 Lenovo
|__ Port 1: Dev 8, If 0, Class=Hub, Driver=hub/7p, 5000M
ID 0424:5537 Microchip Technology, Inc. (formerly SMSC)
/: Bus 03.Port 1: Dev 1, Class=root_hub, Driver=xhci_hcd/2p, 480M
ID 1d6b:0002 Linux Foundation 2.0 root hub
Is the hardware topology of this setup such that what I want to do is impossible? I've read that USB 2 can be wired separately from USB 3 even on the same port, so perhaps they're all hitting the same internal controller that I've already passed through even though they're connected to the dock?
Any help with this - or just getting direct USB bluetooth passthrough to work properly - is appreciated.