USB Devices not being detected

alfwro

Member
Jan 10, 2022
11
2
8
55
Hi,
I'm having issues with detecting my Coral USB Accelerator that is connected to my proxmox ve server 7.1.
Code:
root@pve:/# lsusb
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

I tried connecting other devices (ie. memory sticks but they are still not being detected.
How do I get this working?
Thanks
 
hi,

I tried connecting other devices (ie. memory sticks but they are still not being detected.

you can try running dmesg -w and plug the usb in/out to see if the kernel is giving any error messages.

with normal usb sticks you shouldn't be having any problems. you can check in fdisk -l or lsblk -f output to see if the filesystems/partitions show up.

if you can't see any usb devices anywhere then most likely there's another issue, possibly hardware related? (hard to tell without info)

hope this helps!
 
Hi oguz,

I know that it is not a hardware issue - I previously had ESXI host running on that very same hardware and there were no issues with USB ports.

The only change I have made during the setup was to enable pci passthrough ( I have followed this article: https://pve.proxmox.com/wiki/Pci_passthrough )

when I run when I run dmesg -w and then connect and disconnect usb devices I get no output whatsoever and then connect and disconnect usb devices I get no output whatsoever.

with storage usb devices connected and then I run fdisk -l or lsblk -f I can only see my existing drives but not the usb ones.

When I redirect the whole USB hub (as pci passthrough) the USB device is detected within the VM and dmesg -w confirms that fact.

I will restart my proxmox when I can to see if that makes any difference and re-check BIOS settings but as I said before that was working fine.

any other suggestions are most welcome.
 
I previously had ESXI host running on that very same hardware and there were no issues with USB ports.
could you post the output from pveversion -v?

When I redirect the whole USB hub (as pci passthrough) the USB device is detected within the VM and dmesg -w confirms that fact.
that's interesting...

not detecting any USB device on the host is kind of weird, even weirder that it works when passthroughed to a VM...

are you sure it's not already passthroughed to the VM? if it is then you probably can't see it on the host...
 
pveversion output:

Code:
root@pve:~# pveversion -v
proxmox-ve: 7.1-1 (running kernel: 5.13.19-2-pve)
pve-manager: 7.1-8 (running version: 7.1-8/5b267f33)
pve-kernel-helper: 7.1-6
pve-kernel-5.13: 7.1-5
pve-kernel-5.13.19-2-pve: 5.13.19-4
ceph-fuse: 15.2.15-pve1
corosync: 3.1.5-pve2
criu: 3.15-1+pve-1
glusterfs-client: 9.2-1
ifupdown2: 3.1.0-1+pmx3
ksm-control-daemon: 1.4-1
libjs-extjs: 7.0.0-1
libknet1: 1.22-pve2
libproxmox-acme-perl: 1.4.0
libproxmox-backup-qemu0: 1.2.0-1
libpve-access-control: 7.1-5
libpve-apiclient-perl: 3.2-1
libpve-common-perl: 7.0-14
libpve-guest-common-perl: 4.0-3
libpve-http-server-perl: 4.0-4
libpve-storage-perl: 7.0-15
libspice-server1: 0.14.3-2.1
lvm2: 2.03.11-2.1
lxc-pve: 4.0.11-1
lxcfs: 4.0.11-pve1
novnc-pve: 1.3.0-1
proxmox-backup-client: 2.1.2-1
proxmox-backup-file-restore: 2.1.2-1
proxmox-mini-journalreader: 1.3-1
proxmox-widget-toolkit: 3.4-4
pve-cluster: 7.1-3
pve-container: 4.1-3
pve-docs: 7.1-2
pve-edk2-firmware: 3.20210831-2
pve-firewall: 4.2-5
pve-firmware: 3.3-4
pve-ha-manager: 3.3-1
pve-i18n: 2.6-2
pve-qemu-kvm: 6.1.0-3
pve-xtermjs: 4.12.0-1
qemu-server: 7.1-4
smartmontools: 7.2-1
spiceterm: 3.2-2
swtpm: 0.7.0~rc1+2
vncterm: 1.7-1
zfsutils-linux: 2.1.1-pve3

I only use pci passthrough for a onbord wifi adapter
 
I had the same issue today. Apparantly USB does not do 'hot swapping' on (my) VM's. Only after a restart of the VM did the USB stick popup. Not a major issue but also not advertised in the docs and not what I expect when I plugin a usb device.
 
Was this ever solved? I have the same issue. Proxmox doesn't register any USB devices that are connected. I have a Coral TPU connected, a keyboard and a mouse but nothing is showing up when I want to add it to a VM. Not even the USB ports themself under the option "Use USB Port" I'm on VE 8.0.3. I tinkered with the network settings of a Win VM and locked myself out. Thought I can quickly attach a monitor and pass through the Keyboard and mouse to fix it but now I'm stuck.
 
Was this ever solved? I have the same issue. Proxmox doesn't register any USB devices that are connected. I have a Coral TPU connected, a keyboard and a mouse but nothing is showing up when I want to add it to a VM. Not even the USB ports themself under the option "Use USB Port" I'm on VE 8.0.3. I tinkered with the network settings of a Win VM and locked myself out. Thought I can quickly attach a monitor and pass through the Keyboard and mouse to fix it but now I'm stuck.
i have the exact same issue, did you solve it?
Thanks!
 
  • Like
Reactions: 206HDI
Is there anybody out there who could point us to a direction in order to splve this issue? I personally need to add some usb devices to one vm and others to another vm. My lsusb does not return anything, yet, i can passthrough one controller, but it passes through all usb controllers, and i am unable to add anything else to the second vm.

L.E. For me, a simple host restart was sufficient to resolve the issue, I was able to list usb hubs and devices afterwards and assign them to vms using the gui. Runnin PVE 8.2.2 kernel 6.5.13-3-pve
 
Last edited:
I had the same problem, to resolve i used WINSCP to transfer the ISO to the machine... i hope this helps.
 
My issue it`s almost the same,
I bought a Kingston Kyson USB 3.0 pen drive to have more speed, and I installed a PCIe card with 4 USB 3.0 ports.
The card is working because I connected other pen drives to it and it worked, but the Kingston Kyson pen drive is only recognized in the onboard USB ports, not in the expansion card.

I`m did a test right now running the dmesg -w and when I connect the usb output it.

[ 4077.400218] usb 3-1.2: new high-speed USB device number 28 using xhci_hcd
[ 4082.887221] usb 3-1.2: device descriptor read/64, error -110
[ 4098.761177] usb 3-1.2: device descriptor read/64, error -110
[ 4098.926275] usb 3-1.2: new high-speed USB device number 29 using xhci_hcd
[ 4104.390293] usb 3-1.2: device descriptor read/64, error -110
[ 4120.261562] usb 3-1.2: device descriptor read/64, error -110
[ 4120.365690] usb 3-1-port2: attempt power cycle
[ 4120.945311] usb 3-1.2: new high-speed USB device number 30 using xhci_hcd
[ 4126.341330] usb 3-1.2: device descriptor read/8, error -110
[ 4141.700687] usb 3-1.2: device descriptor read/8, error -110
[ 4141.868393] usb 3-1.2: new high-speed USB device number 31 using xhci_hcd
[ 4142.326127] usb 3-1.2: device descriptor read/8, error -71
[ 4142.441171] usb 3-1.2: device descriptor read/8, error -71
[ 4142.548682] usb 3-1-port2: unable to enumerate USB device
 
Last edited:
Hi everyone, I have the same problem. After adding passthrue pci sound card to my virtual machine, I lost all usb devices. I don't know if this is normal and should work like this, but all devices that are in the same IOMMU group cannot be used by another VM.
So if my USB hub has the same iommu group as my sound card, the devices are locked and can only be assigned to that VM via PCI passthru. As in the image below (group 10).
Unfortunately, to see the USB devices, we have to restart the proxmox server after removing the hardware (pci passthrue) from the VM :/.
One IOMMU group can only be assigned to one VM :/ I tried to assign different devices, from the same IOMMU group to another VM but it did not start :/.

The question is, is it possible to assign or change the iommu group?


Screenshot 2024-12-06 at 17.15.16.png
 
SOLUTION - all pci devices in different group
Warning this solution breaks security DMA

Step 1: edit grub in proxmox shell
nano /etc/default/grub

repleace line
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
with
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on pcie_acs_override=downstream,multifunction"


amd_iommu=on for AMD
intel_iommu=on for Intel

Step 2: save and reboot
Save

CTR + X
Y
Update
update-grub
Reboot
reboot

After reboot you should see all PCI devices in different groups and even you passthru one device you should see rest devices :) (USB Devices)Screenshot 2024-12-06 at 18.45.02.pngScreenshot 2024-12-06 at 18.48.26.png
 
Last edited:
DMA = Direct Memory Access. More or less all PCI devices support it. Direct transfers between devices or devices and memory without the CPU being involved. The whole point of the IOMMU is the protect against arbitrary transfers similar to what the MMU does for memory.

The groups are configured by the board and chipset. If the groups aren't what you want there's nothing you can do except ignore them, which is what pcie_acs_override does.

ETA: This is probably not a huge concern for a home system. But if you are running untrusted VM's (like ones controlled by someone else), then it is something to worry about.
 
Last edited:
I thought about it and just excluded one device from the iommu group - the sound card. I think this solution will be a little safer.

Step 1 to find id devices we need to use command lspci -n
root@proxmox:~# lspci -n
00:00.0 0600: 1022:15d0
00:00.2 0806: 1022:15d1
00:01.0 0600: 1022:1452
00:01.2 0604: 1022:15d3
00:01.4 0604: 1022:15d3
00:08.0 0600: 1022:1452
00:08.1 0604: 1022:15db
00:08.2 0604: 1022:15dc
00:14.0 0c05: 1022:790b (rev 61)
00:14.3 0601: 1022:790e (rev 51)
00:18.0 0600: 1022:15e8
00:18.1 0600: 1022:15e9
00:18.2 0600: 1022:15ea
00:18.3 0600: 1022:15eb
00:18.4 0600: 1022:15ec
00:18.5 0600: 1022:15ed
00:18.6 0600: 1022:15ee
00:18.7 0600: 1022:15ef
01:00.0 0200: 10ec:8168 (rev 0e)
01:00.1 0700: 10ec:816a (rev 0e)
01:00.2 0700: 10ec:816b (rev 0e)
01:00.3 0c07: 10ec:816c (rev 0e)
01:00.4 0c03: 10ec:816d (rev 0e)
02:00.0 0108: 144d:a808
03:00.0 0300: 1002:15dd (rev d6)
03:00.1 0403: 1002:15de
03:00.2 1080: 1022:15df
03:00.3 0c03: 1022:15e0
03:00.4 0c03: 1022:15e1
03:00.5 0480: 1022:15e2
03:00.6 0403: 1022:15e3
04:00.0 0106: 1022:7901 (rev 61)[/CODE]

Step 2 edit grub, update, reboot
Edit
nano /etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on pcie_acs_override=id:1022:15e3"
Update
update-grub
Reboot
reboot

and now i have additional iommu grup nr 11 where is my audio card.

Screenshot 2024-12-07 at 16.23.44.png
 
I am having the same problem. No connected USB devices show up using lsusb:
1734774973508.png

Need to pass through Coral TPU.
Tested with several USB Sticks and USB HDDs.

Using "dmesg -w" while plug the usb in/out shows nothing.

Code:
proxmox-ve: 8.3.0 (running kernel: 6.8.12-5-pve)
pve-manager: 8.3.2 (running version: 8.3.2/3e76eec21c4a14a7)
proxmox-kernel-helper: 8.1.0
proxmox-kernel-6.8: 6.8.12-5
proxmox-kernel-6.8.12-5-pve-signed: 6.8.12-5
proxmox-kernel-6.8.12-4-pve-signed: 6.8.12-4
proxmox-kernel-6.8.12-3-pve-signed: 6.8.12-3
proxmox-kernel-6.5.13-6-pve-signed: 6.5.13-6
proxmox-kernel-6.5: 6.5.13-6
pve-kernel-5.0: 6.0-11
pve-kernel-5.13.19-2-pve: 5.13.19-4
pve-kernel-5.0.21-5-pve: 5.0.21-10
pve-kernel-5.0.15-1-pve: 5.0.15-1
ceph-fuse: 16.2.15+ds-0+deb12u1
corosync: 3.1.7-pve3
criu: 3.17.1-2
glusterfs-client: 10.3-5
ifupdown: residual config
ifupdown2: 3.2.0-1+pmx11
ksm-control-daemon: 1.5-1
libjs-extjs: 7.0.0-5
libknet1: 1.28-pve1
libproxmox-acme-perl: 1.5.1
libproxmox-backup-qemu0: 1.4.1
libproxmox-rs-perl: 0.3.4
libpve-access-control: 8.2.0
libpve-apiclient-perl: 3.3.2
libpve-cluster-api-perl: 8.0.10
libpve-cluster-perl: 8.0.10
libpve-common-perl: 8.2.9
libpve-guest-common-perl: 5.1.6
libpve-http-server-perl: 5.1.2
libpve-network-perl: 0.10.0
libpve-rs-perl: 0.9.1
libpve-storage-perl: 8.3.3
libqb0: 1.0.5-1
libspice-server1: 0.15.1-1
lvm2: 2.03.16-2
lxc-pve: 6.0.0-1
lxcfs: 6.0.0-pve2
novnc-pve: 1.5.0-1
proxmox-backup-client: 3.3.2-1
proxmox-backup-file-restore: 3.3.2-2
proxmox-firewall: 0.6.0
proxmox-kernel-helper: 8.1.0
proxmox-mail-forward: 0.3.1
proxmox-mini-journalreader: 1.4.0
proxmox-offline-mirror-helper: 0.6.7
proxmox-widget-toolkit: 4.3.3
pve-cluster: 8.0.10
pve-container: 5.2.3
pve-docs: 8.3.1
pve-edk2-firmware: 4.2023.08-4
pve-esxi-import-tools: 0.7.2
pve-firewall: 5.1.0
pve-firmware: 3.14-2
pve-ha-manager: 4.0.6
pve-i18n: 3.3.2
pve-qemu-kvm: 9.0.2-4
pve-xtermjs: 5.3.0-3
qemu-server: 8.3.3
smartmontools: 7.3-pve1
spiceterm: 3.3.0
swtpm: 0.8.0+pve1
vncterm: 1.8.0
zfsutils-linux: 2.2.6-pve1
 
Last edited: