xhci_hcd error

Tullibulli

New Member
Feb 23, 2023
14
1
3
I've got a host running in a cluster of three hosts. The host in question run one node as a dockerhost (VM) for 3D-printer and CNC-router.
I've attached all USB's to this VM (cameras and the above hardware, as well as unpopulated USB's).
Unless the 3D-printer is turned on, it is a little bit unstable showing signs of underpower but other than that the system is running fine.

However, browsing the console/shell the sreen is filled bottom up with the following error code:
xhci_hcd 0000:02:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 6 comp_code 13

How do I fix this? Seems critical but I have no idea what xhci_hcd is.
 
Last edited:
xhci_hcd is the USB3 host controller. No idea what the problem exactly means (maybe something related to DMA pointers when a USB device is accessing RAM?), but should be some problem with your USB3 controller. I would try out another kernel in case it's a driver problem.

Do you use USB passthrough?
 
Last edited:
Thanks, I did not find info of what xhci-hcd was.

Makes sense, USB is heavily populated for passthrough (no special passthrough, just added USB's in the hardware section of the node). I use 5 of 6 USB's for cameras and hardware encoder (CNC & 3D Printer).
One is empty for flash drives.

I think there's an option about legacy in BIOS I could fiddle with. All in all, the DMAR reports bugs in the firmware so that might also have something to do with it.

I'm running the VM using Debian but will switch to Ubuntu to see if a different kernel will do.
 
Last edited:
If you need a reliable and fast USB you should consider buying a USB controller PCIe card and then use PCI passthorugh to passthrough that USB controller into your VM. That way your VM could directly access the real physical USB devices instead of slow USB emulation when using USB passthough.
 
Ubuntu seems fine. Span up all three dockerhost with no issues.
I get some note about Cloudinit which I don't use so I'll probably uninstall it.

It worked so good with VM I even got the GPU assigned for Windows-VM:s and went even a step further to migrate my PLEX from the NAS using nfs-volumes in docker. Seem to work perfect though I hit a wall wih ubuntu in terms of space for the local cache.

Perhaps it is another topic but I defaulted the sda on all my nodes. Now I found out ubuntu server has set the default size to 50% for some reason.
Is it safe to expand it to 100% and what command do I issue? Normally I do this in GUI Kubuntu/Ubuntu and occationally PartedMagic or similar but I'll avoid CLI unless it would be a last resort from some recovery...
 
Last edited:
Google was my friend...

For any future seekers, I found out to extend a default ubuntu installation, the commands to run is
sudo lvresize ubuntu-vg/ubuntu-lv -L +16g
followed by
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

It expands the logical volume by 16 GB. The logical volume can be seen using
sudo pvdisplay -m
In a default scenario using VirtIO SCSI the same as above (ubuntu-vg/ubuntu-lv).
 
Hmm, after upgrading 7.4 to 8 I now get the xhci_hcd error with Ubuntu even...

Is it a bug in Proxmox kernel or something?
 
This messes up my 3D-printer run in a docker-container on the VM. The container seems to be working but the signal feed through USB gets interupted so in practice it does not work (stepper-motors skips instructions).

I tried disabling legacy USB in the physical BIOS and set iommu=pt in Proxmox host but no good.

It did work in Proxmox 7.4 (Ubuntus LTS, but not Debian).

Lenovo M700.
 
Last edited:
  • Like
Reactions: fireon
I can confirm this is a proxmox 8 usb passthrough issue, as my usb sound card works fine in proxmox 7.4
I didn't upgrade proxmox from 7.4, I install a totally new proxmox 8, and apt upgrade to lastest 8.0.4 + kernel 6.2.16-12

I restore my previous proxmox 7.4 ubuntu 22.04 vm, and found this usb passthrough sound issue,
then I install a new ubuntu 22.04, didn't apt upgrade, same sound issue.
then I apt upgrade the new ubuntu, same sound issue.

when I watch youtube in firefox, or play video
the sound will sudden drop out, and /var/log/syslog show below

Code:
21:30:10 systemd[1]: anacron.service: Deactivated successfully.
21:36:46 firefox_firefox.desktop[5614]: [ERROR neqo_http3::connection] [Http3 connection] The new(81920) and the old value(131072) of setting MaxHeaderListSize do not match
21:39:06 kernel: [ 6711.624551] xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 1 comp_code 1
21:39:06 kernel: [ 6711.624589] xhci_hcd 0000:07:1b.0: Looking for event-dma 000000010eac0510 trb-start 000000010eac0500 trb-end 000000010eac0500 seg-start 000000010eac0000 seg-end 000000010eac0ff0
21:41:28 firefox_firefox.desktop[6092]: [Child 6092, AudioIPC Client Callback] WARNING: 7fd77475adc0 StateCallback() state 1 cubeb error: file /build/firefox/parts/firefox/build/dom/media/AudioStream.cpp:662
21:41:28 firefox_firefox.desktop[6092]: [Child 6092, AudioIPC Client Callback] WARNING: 7fd75ddf1040 StateCallback() state 2 cubeb error: file /build/firefox/parts/firefox/build/dom/media/AudioStream.cpp:662
21:41:28 firefox_firefox.desktop[6092]: [Child 6092, MediaDecoderStateMachine #4] WARNING: Decoder=7fd7906a4d00 [OnMediaSinkAudioError]: file /build/firefox/parts/firefox/build/dom/media/MediaDecoderStateMachine.cpp:4567
21:41:28 firefox_firefox.desktop[6092]: [Child 6092, MediaDecoderStateMachine #4] WARNING: Decoder=7fd76ae08e00 [OnMediaSinkAudioError]: file /build/firefox/parts/firefox/build/dom/media/MediaDecoderStateMachine.cpp:4567
21:41:28 systemd[1461]: pulseaudio.service: Main process exited, code=killed, status=9/KILL
21:41:28 systemd[1461]: pulseaudio.service: Failed with result 'signal'.
21:41:28 systemd[1461]: pulseaudio.service: Consumed 17.431s CPU time.
21:41:28 systemd[1461]: pulseaudio.service: Scheduled restart job, restart counter is at 12.
21:41:28 systemd[1461]: Stopped Sound Service.
21:41:28 systemd[1461]: pulseaudio.service: Consumed 17.431s CPU time.
21:41:28 systemd[1461]: Starting Sound Service...
21:41:28 rtkit-daemon[815]: Successfully made thread 9078 of process 9078 owned by '1000' high priority at nice level -11.
21:41:28 rtkit-daemon[815]: Supervising 7 threads of 6 processes of 1 users.
21:41:28 pulseaudio[9078]: Stale PID file, overwriting.
21:41:28 pulseaudio[9078]: Failed to find a working profile.
21:41:28 pulseaudio[9078]: Failed to load module "module-alsa-card" (argument: "device_id="0" name="pci-0000_00_1b.0" card_name="alsa_card.pci-0000_00_1b.0" namereg_fail=false tsched=yes fixed_latency_range=no ignore_dB=no deferred_volume=yes use_ucm=yes avoid_resampling=no card_properties="module-udev-detect.discovered=1""): initialization failed.
21:41:28 pulseaudio[9078]: Disabling timer-based scheduling because running inside a VM.
21:41:28 rtkit-daemon[815]: Supervising 7 threads of 6 processes of 1 users.
21:41:28 rtkit-daemon[815]: Successfully made thread 9079 of process 9078 owned by '1000' RT at priority 5.
21:41:28 rtkit-daemon[815]: Supervising 8 threads of 6 processes of 1 users.
21:41:28 pulseaudio[9078]: Disabling timer-based scheduling because running inside a VM.
21:41:28 rtkit-daemon[815]: Supervising 8 threads of 6 processes of 1 users.
21:41:28 rtkit-daemon[815]: Successfully made thread 9080 of process 9078 owned by '1000' RT at priority 5.
21:41:28 rtkit-daemon[815]: Supervising 9 threads of 6 processes of 1 users.
21:41:28 pulseaudio[9078]: Disabling timer-based scheduling because running inside a VM.
21:41:28 rtkit-daemon[815]: Supervising 9 threads of 6 processes of 1 users.
21:41:28 rtkit-daemon[815]: Successfully made thread 9081 of process 9078 owned by '1000' RT at priority 5.
21:41:28 rtkit-daemon[815]: Supervising 10 threads of 6 processes of 1 users.
21:41:28 pulseaudio[9078]: Disabling timer-based scheduling because running inside a VM.
21:41:28 rtkit-daemon[815]: Supervising 10 threads of 6 processes of 1 users.
21:41:28 rtkit-daemon[815]: Successfully made thread 9082 of process 9078 owned by '1000' RT at priority 5.
21:41:28 rtkit-daemon[815]: Supervising 11 threads of 6 processes of 1 users.
21:41:29 pulseaudio[9078]: The decibel volume range for element 'PCM' (-5200 dB - -200 dB) has negative maximum. Disabling the decibel range.
21:41:29 pulseaudio[9078]: message repeated 4 times: [ The decibel volume range for element 'PCM' (-5200 dB - -200 dB) has negative maximum. Disabling the decibel range.]
21:41:29 pulseaudio[9078]: Disabling timer-based scheduling because running inside a VM.
21:41:29 rtkit-daemon[815]: Supervising 11 threads of 6 processes of 1 users.
21:41:29 rtkit-daemon[815]: Successfully made thread 9083 of process 9078 owned by '1000' RT at priority 5.
21:41:29 rtkit-daemon[815]: Supervising 12 threads of 6 processes of 1 users.
21:41:29 dbus-daemon[638]: [system] Activating via systemd: service name='org.bluez' unit='dbus-org.bluez.service' requested by ':1.277' (uid=1000 pid=9078 comm="/usr/bin/pulseaudio --daemonize=no --log-target=jo" label="unconfined")
21:41:29 systemd[1]: Condition check resulted in Bluetooth service being skipped.
21:41:29 systemd[1461]: Started Sound Service.
21:41:31 pulseaudio[9078]: ALSA woke us up to write new data to the device, but there was actually nothing to write.
21:41:31 pulseaudio[9078]: Most likely this is a bug in the ALSA driver 'snd_usb_audio'. Please report this issue to the ALSA developers.
21:41:31 pulseaudio[9078]: We were woken up with POLLOUT set -- however a subsequent snd_pcm_avail() returned 0 or another value < min_avail.
21:41:33 gsd-media-keys[2029]: Unable to get default sink
21:41:33 gsd-media-keys[2029]: Unable to get default source
21:41:34 kernel: [ 6859.634597] xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 13
21:41:34 kernel: [ 6859.634620] xhci_hcd 0000:07:1b.0: Looking for event-dma 000000011087c5c0 trb-start 000000011087c5a0 trb-end 000000011087c5a0 seg-start 000000011087c000 seg-end 000000011087cff0
21:41:34 kernel: [ 6859.644602] xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 11 comp_code 1
21:41:34 kernel: [ 6859.644611] xhci_hcd 0000:07:1b.0: Looking for event-dma 0000000110850fa0 trb-start 0000000110850f90 trb-end 0000000110850f90 seg-start 0000000110850000 seg-end 0000000110850ff0
21:41:42 systemd[1461]: Started Application launched by gnome-shell.
21:41:43 dbus-daemon[1486]: [session uid=1000 pid=1486] Activating via systemd: service name='org.gnome.Terminal' unit='gnome-terminal-server.service' requested by ':1.150' (uid=1000 pid=9092 comm="/usr/bin/gnome-terminal.real " label="unconfined")
21:41:43 systemd[1461]: Created slice Slice /app/org.gnome.Terminal.
21:41:43 systemd[1461]: Starting GNOME Terminal Server...
21:41:43 dbus-daemon[1486]: [session uid=1000 pid=1486] Successfully activated service 'org.gnome.Terminal'
21:41:43 systemd[1461]: Started GNOME Terminal Server.
21:41:43 systemd[1461]: Started VTE child process 9118 launched by gnome-terminal-server process 9095.
 
Last edited:
  • Like
Reactions: Tullibulli
I can confirm this is a proxmox 8 usb passthrough issue...
Thanks for the notice.

Hopefully Proxmox crew got the notice and fix it eventually. I was forced closing down my cluster and run everything native instead. Proxmox is seriously crippled without USB passthrough.
 
Add me to the list after passing through my USB Port for my Coral. I now see 8 of these every 6 seconds:

xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
 
  • Like
Reactions: XabiX
I starting getting this problem after upgrading to 6.2.16-12. I rolled back to 6.2.16-8 and the problem is gone. It was kicking out my USB NIC adapter. The bigger issue is that I'm using the USB NIC as the main NIC for the Proxmox host. The system will boot and work without issue for a few minutes, then it will just kick out the USB NIC and show the error.
Code:
ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_
So it's not even just an issue when passing USB to a guest VM. It seems to be a kernel issue on Proxmox itself.
 
Last edited:
Add me to the list after passing through my USB Port for my Coral. I now see 8 of these every 6 seconds:

xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1
I have exactly the same issue with latest Proxmox and 6.2 kernel. I tried usb passtrough, I tried the pci pass through but all my USB ports on the same controller so no luck so far.

Do we happen to know if this is a regression? considered as working as designed or track as a bug and will be corrected?

Thanks
 
I have exactly the same issue with latest Proxmox and 6.2 kernel. I tried usb passtrough, I tried the pci pass through but all my USB ports on the same controller so no luck so far.

Do we happen to know if this is a regression? considered as working as designed or track as a bug and will be corrected?

Thanks
I would say a bug probably needs to be tracked since it was working in 6.2.16-8 and I haven't seen any mention in patch notes that would seem to affect this.
 
Add me to the list after passing through my USB Port for my Coral. I now see 8 of these every 6 seconds:

xhci_hcd 0000:07:1b.0: ERROR Transfer event TRB DMA ptr not part of current TD ep_index 2 comp_code 1

same setup and occurrence here too, I'm battling with this for months, tried everything that was suggested here and over the internet to no avail, unfortunately; sometimes it spams those errors in the thousands, in the span of few seconds.
 
I have the same issue too on Proxmox 8. USB capture card is pretty glitchy and console is filled with this error.
 
Hello All,

not sure who will be knowledgeable to open a bug for a kernel patch. I believe we are a lot of people 'complaining' but I am not sure the issue was raised in the right site/forum/thread. Is there an existing filled bug that we can all monitor/opt in to follow?

FYI I am running on 6.2.16-15-pve and still see the issue.

Thanks
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!