Summary: | Webcam does not work when attached to xhci(4) but does attached to ehci(4) | ||
---|---|---|---|
Product: | Base System | Reporter: | Nathan Whitehorn <nwhitehorn> |
Component: | usb | Assignee: | freebsd-usb (Nobody) <usb> |
Status: | Closed FIXED | ||
Severity: | Affects Only Me | CC: | emaste, hselasky |
Priority: | --- | ||
Version: | CURRENT | ||
Hardware: | Any | ||
OS: | Any |
Description
Nathan Whitehorn
![]() ![]() It is likely a bug regarding the bandwidth allocation for XHCI ISOCH endpoints. When we setup an endpoint context we need to fill in some parameters to tell the hardware how many bytes to reserve. Likely these are wrong: Refer to: XHCI_EPCTX_4_MAX_ESIT_PAYLOAD_SET(max_frame_size) in xhci.c Maybe you can play with the parameter. --HPS Thanks for the pointer, I'll take a look at that. You may also find the XHCI status codes useful for the failed ISOCHRONOUS transfers. sysctl hw.usb.xhci.debug=17 --HPS This has magically fixed itself recently, so I can't investigate the problem any further. There haven't obviously been any commits that would change the behavior, so I'm pretty sure whatever the bug was still exists, but I can't do anything more unfortunately. I'll close it for now and if this happens again will reopen it. |