#1045: USB isochronous streams
--------------------------+---------------------------
Reporter: wkornewald | Owner: nobody
Type: enhancement | Status: assigned
Priority: normal | Milestone: R1
Component: Drivers/USB | Version: R1/pre-alpha1
Resolution: | Keywords:
Blocked By: | Blocking: 10521, 11256
Platform: All |
--------------------------+---------------------------
Comment (by rudolfc):
Hi waddlesplash!
I located two minor faults in the XHCI driver:
- Indeed there's a timing fault, the audio interface need more time to
'spin up' before you communicate with them. please add a simple spin()
instruction at line 1549 in xhci.cpp just before the device descriptor is
fetched. I tried 100uS which is not enough. 500uS makes both sound cards
successfully be configured, so my advice would be 1000uS (tested OK as
well) so devices even a bit slower starting up will work (I will most
definately try this later on on my microsoft surface 3 which is flaky,
maybe this fixes it there too :-) On a sidenote: the TRACE line apparantly
also costs this amount of time (> 100uS) as enabling that one line 'fixes'
the problem as well.
- there's a fault with variables logged which you will not see unless you
enable debugging a bit further down in the same file: line 2489,
TRACE("HandleTransferComplete... argument 1 and 3 will not compile on
32bit systems.
Next up I'll retry my usb_audio tweaked driver with XHCI on Skylake to see
if I can get any actual sound out of these cards. Apparantly the HDAudio
driver had some imrprovements lately as well, since that runs now on this
system (so media servers are up too)
Thanks in advance for applying this patch!
--
Ticket URL: <https://dev.haiku-os.org/ticket/1045#comment:31>
Haiku <https://dev.haiku-os.org>
The Haiku operating system.