July 2017
I started looking at the isochronous streams stuff a few months back but it was hard going - there was a lot to learn and I couldn’t dedicate enough time to it to get anywhere useful.
Whoever takes this on, I recommend looking at maybe one of the BSD XHCI drivers to get an idea of how that implements the specifications above, and only when you feel you fully understand it, go for it. In my experience, it’s easy to get started on something and “run out of bricks” because it’s hard to see the full picture from the get-go.
October 2017
I’m not sure anyone else is actively working on this, but this is what I have found so far.
I’ve been doing all my development on real hardware. By chance, all computers that I have access to happen to have the NEC/Renesas USB chipset, uPD720200 series. None of the computers ever had any success what so ever with the xhci driver.
I added a bunch of debug code, and found that the Noop() works consistently, so Command Transfers are working fine.
However, the driver would always fail trying to get the device descriptors.
I found a bug, and now the driver is able to complete getting the device descriptors for connected devices.
There’s still a problem with the buffer and TRB completion handling that causes transfers to stop at some point after.
I had no previous USB experience, but since you posted this a few months ago, I’ve been digging in and learning. I’m going to continue working on it and hopefully get it working.
3 replies
October 2017
▶ Greg.Crain
Thanks for digging in! Never be afraid to take a look at an issue, you’ll likely not be stepping on anyones toes and the community will appreciate the help more than anything. Everyone has to start somewhere 
October 2017
▶ Greg.Crain
great work so far…
try and learn…
and you will make us all happy too… thx
October 2017
▶ Greg.Crain