# [OmniOS-discuss] Fwd: [developer] xhci (USB 3.0) development snapshot

Dan McDonald danmcd at omniti.com
Sun Aug 28 21:30:59 UTC 2016

- Previous message: [OmniOS-discuss] LX on OmniOS update
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    If people want an OmniOS bloody version of this, please speak up.

    Dan

    Sent from my iPhone (typos, autocorrect, and all)

    Begin forwarded message:

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

- Previous message: [OmniOS-discuss] LX on OmniOS update
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

More information about the OmniOS-discuss mailing list