<html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"></head><body dir="auto"><div>If people want an OmniOS bloody version of this, please speak up.</div><div id="AppleMailSignature"><br></div><div id="AppleMailSignature">Dan<br><br>Sent from my iPhone (typos, autocorrect, and all)</div><div><br>Begin forwarded message:<br><br></div><blockquote type="cite"><div><b>From:</b> "Robert Mustacchi" <<a href="mailto:rm@joyent.com">rm@joyent.com</a>><br><b>Date:</b> August 28, 2016 at 4:31:20 PM EDT<br><b>To:</b> illumos Developer <<a href="mailto:developer@lists.illumos.org">developer@lists.illumos.org</a>><br><b>Subject:</b> <b>[developer] xhci (USB 3.0) development snapshot</b><br><b>Reply-To:</b> <a href="mailto:developer@lists.illumos.org">developer@lists.illumos.org</a><br><br></div></blockquote><blockquote type="cite"><div><span>Hi,</span><br><span></span><br><span>A few folks have asked me about a development snapshot of the xhci</span><br><span>driver and USB 3.0 support in the system. I've put together a token</span><br><span>webrev that snapshots where we are right now. Note, this is still highly</span><br><span>developmental. I wouldn't use it really. I would expect it to panic your</span><br><span>system.</span><br><span></span><br><span>What works:</span><br><span>- USB 2 hubs (nested or otherwise)</span><br><span>- USB 3 hubs (nested or otherwise)</span><br><span>- Various USB 2 storage devices</span><br><span>- Various USB 3 storage devices</span><br><span>- Various USB HID devices</span><br><span>- Various USB NICs</span><br><span>- Hotplugging and removal of all of the above</span><br><span></span><br><span>As a part of this, I had to put together some new changes for the DDI</span><br><span>for USB client drivers so they'd properly work with USB 3.x devices.</span><br><span>This has been designed for both USB 3.0 and already is designed such</span><br><span>that for USB 3.1, it'll be a fairly simple change and rebuild, without</span><br><span>drivers having to change again. There's a brief write up here:</span><br><span><a href="https://us-east.manta.joyent.com/rmustacc/public/webrevs/xhci/ddi">https://us-east.manta.joyent.com/rmustacc/public/webrevs/xhci/ddi</a>.</span><br><span>Though the manual pages and the like in the source tree should give a</span><br><span>reasonable example.</span><br><span></span><br><span>There are also some private CLI tools that can be used to interrogate a</span><br><span>bit of additional state as well some enhancements to the hub driver to</span><br><span>better improve debugability.</span><br><span></span><br><span>I've improved the ::prtusb dcmd to know what version everything is</span><br><span>running at. So if you're trying to see if your USB 3 devices are being</span><br><span>detected as USB 3 devices, run something like the following:</span><br><span></span><br><span># mdb -k</span><br><span>mdb -k</span><br><span>:Loading modules: [ unix genunix specfs dtrace mac cpu.generic uppc apix</span><br><span>scsi_vhci ufs ip hook neti sockfs arp usba stmf_sbd stmf zfs mm lofs idm</span><br><span>sata random cpc logindmux ptm sppp nfs sd i40e ]</span><br><blockquote type="cite"><span>::prtusb</span><br></blockquote><span>INDEX   DRIVER      INST  NODE          GEN  VID.PID     PRODUCT</span><br><span></span><br><span>1       xhci        0     pci15d9,806   3.0  0000.0000   No Product String</span><br><span>2       hubd        0     hub           2.1  2109.2813   USB2.0 Hub</span><br><span></span><br><span>3       hubd        1     hub           2.0  0000.0001   No Product String</span><br><span>4       scsa2usb    0     storage       2.0  0781.5530   Cruzer</span><br><span>5       hubd        2     hub           3.0  2109.0813   USB3.0 Hub</span><br><span></span><br><span>6       hubd        3     hub           2.1  05e3.0610   USB2.0 Hub</span><br><span>7       hubd        4     hub           3.0  05e3.0616   USB3.0 Hub</span><br><span>8       usb_mid     0     device        1.1  0557.2419   No Product String</span><br><span>9       hubd        5     hub           2.0  05e3.0608   USB2.0 Hub</span><br><span>a       scsa2usb    1     storage       3.0  13fe.5200   Patriot Memory</span><br><span>b       scsa2usb    2     storage       3.0  05dc.a838   USB Flash Drive</span><br><span>c       axf         0     device        2.0  0b95.7720   AX88772</span><br><span>d       axf         1     device        2.0  05ac.1402   Apple USB</span><br><span>Ethernet Adapter</span><br><span></span><br><span>The GEN column has the speed of the device.</span><br><span></span><br><span>What's next:</span><br><span>- Isochronous transfers (for USB audio)</span><br><span>- Lots of clean up and robustness (timeouts, fm tests, etc.)</span><br><span>- Testing with some additional PCIe USB 3.x cards and mdb dmod improvements</span><br><span>- Lots of comments and big theory statements explaining how everything</span><br><span>works, along with general cstyle, lint, packing, license files, etc.</span><br><span>- More documentation for the usba hcdi interface for whomever is here next</span><br><span></span><br><span>When we get that next round of clean up and features solid, I'll have</span><br><span>something that's ready for broader testing and I'll work with various</span><br><span>distros to get images for broader testing. So at this point, this is</span><br><span>really for those who like a good panic.</span><br><span></span><br><span><a href="https://us-east.manta.joyent.com/rmustacc/public/webrevs/xhci/index.html">https://us-east.manta.joyent.com/rmustacc/public/webrevs/xhci/index.html</a></span><br><span></span><br><span>If you have questions, comments, or panics, please reach out to me here</span><br><span>or on freenode in #illumos.</span><br><span></span><br><span>Robert</span><br><span></span><br><span></span><br><span>-------------------------------------------</span><br><span>illumos-developer</span><br><span>Archives: <a href="https://www.listbox.com/member/archive/182179/=now">https://www.listbox.com/member/archive/182179/=now</a></span><br><span>RSS Feed: <a href="https://www.listbox.com/member/archive/rss/182179/21175029-813097db">https://www.listbox.com/member/archive/rss/182179/21175029-813097db</a></span><br><span>Modify Your Subscription: <a href="https://www.listbox.com/member/?member_id=21175029&id_secret=21175029-471fe0d4">https://www.listbox.com/member/?member_id=21175029&id_secret=21175029-471fe0d4</a></span><br><span>Powered by Listbox: <a href="http://www.listbox.com">http://www.listbox.com</a></span><br></div></blockquote></body></html>