OS-7146: Project Tiresias: USB topology

Details

Issue Type:Improvement
Priority:4 - Normal
Status:Resolved
Created at:2018-08-17T23:58:12.929Z
Updated at:2018-11-16T22:34:30.091Z

People

Created by:Former user
Reported by:Former user
Assigned to:Former user

Resolution

Fixed: A fix for this issue is checked into the tree and tested.
(Resolution Date: 2018-11-16T22:34:30.083Z)

Fix Versions

2018-11-22 Funcooker (Release Date: 2018-11-22)

Related Issues

Related Links

Description

As part of RFD 89 and RFD 147, we'd like to add support for USB topology to the system. This goes through and adds such support as well as support for a number of existing systems.

Comments

Comment by Former user
Created at 2018-11-09T23:21:11.366Z

Tests:


Comment by Former user
Created at 2018-11-14T22:44:55.601Z
On systems without a topology map, here's what we see in diskinfo and fmtopo for the relevant ports:

[root@haswell ~]# diskinfo -P
DISK                    VID      PID              SERIAL               FLT LOC LOCATION
c1t0d0                  SanDisk  Cruzer           20051737111B26A0CFF8 -   -   -
c2t0d0                  HITACHI  HDS7250SASUN500G 0704K90DRF -                    -   -   -
c2t1d0                  HITACHI  HDS7250SASUN500G 0704K937SF -                    -   -   -
[root@haswell ~]# /usr/lib/fm/fmd/fmtopo -V *port=*
TIME                 UUID
Nov 14 22:40:18 d5afc249-45df-e594-9954-acd32e12d3cc

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@1" "xhci0@16" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=1
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=1
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@2" "xhci0@17" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=2
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=2
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@3" "xhci0@18" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=3
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=3
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@4" "xhci0@19" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=4
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=4
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@5" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=5
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=5
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@6" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@7" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: usb-properties                 version: 1   stability: Private/Private
    usb-port          uint32    0x7
    usb-vendor-id     int32     0
    usb-product-id    int32     1
    usb-revision-id   string    0
    usb-version       string    2.0
    usb-speed         string    high-speed
  group: io                             version: 1   stability: Private/Private
    driver            string    hubd
    instance          uint32    0x0
    devfs-path        string    /pci@0,0/pci15d9,806@14/hub@7
    module            fmri      mod:///mod-name=hubd/mod-id=145

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    logical-ports     string[]  [ "xhci0@7.1" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=100/motherboard=0/port=6/usb-device=0/port=0/usb-device=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=100/motherboard=0/port=6/usb-device=0/port=0/usb-device=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=100/motherboard=0/port=6/usb-device=0/port=0/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: usb-properties                 version: 1   stability: Private/Private
    usb-port          uint32    0x1
    usb-vendor-id     int32     1367
    usb-product-id    int32     9241
    usb-revision-id   string    100
    usb-version       string    1.1
    usb-speed         string    low-speed
  group: io                             version: 1   stability: Private/Private
    driver            string    usb_mid
    instance          uint32    0x0
    devfs-path        string    /pci@0,0/pci15d9,806@14/hub@7/device@1
    module            fmri      mod:///mod-name=usb_mid/mod-id=152

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=1
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=1
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    logical-ports     string[]  [ "xhci0@7.2" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=2
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=2
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    logical-ports     string[]  [ "xhci0@7.3" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=3
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=6/usb-device=0/port=3
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=0/motherboard=0/port=6/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    logical-ports     string[]  [ "xhci0@7.4" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=7
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=7
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@8" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=8
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=8
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@9" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=9
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=9
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@10" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=Cruzer:revision=100/motherboard=0/port=9/usb-device=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=Cruzer:revision=100/motherboard=0/port=9/usb-device=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=Cruzer:revision=100/motherboard=0/port=9/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: usb-properties                 version: 1   stability: Private/Private
    usb-port          uint32    0xa
    usb-vendor-id     int32     1921
    usb-product-id    int32     21808
    usb-revision-id   string    100
    usb-version       string    2.0
    usb-vendor-name   string    SanDisk
    usb-product-name  string    Cruzer
    usb-serialno      string    20051737111B26A0CFF8
    usb-speed         string    high-speed
  group: io                             version: 1   stability: Private/Private
    driver            string    scsa2usb
    instance          uint32    0x0
    devfs-path        string    /pci@0,0/pci15d9,806@14/storage@a
    module            fmri      mod:///mod-name=scsa2usb/mod-id=147
  group: binding                        version: 1   stability: Private/Private
    occupant-path     string    /pci@0,0/pci15d9,806@14/storage@a/disk@0,0

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=SanDisk-Cruzer:revision=1.01/motherboard=0/port=9/usb-device=0/disk=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=SanDisk-Cruzer:revision=1.01/motherboard=0/port=9/usb-device=0/disk=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:serial=20051737111B26A0CFF8:part=SanDisk-Cruzer:revision=1.01/motherboard=0/port=9/usb-device=0/disk=0
    ASRU              fmri      dev:////pci@0,0/pci15d9,806@14/storage@a/disk@0,0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: storage                        version: 1   stability: Private/Private
    logical-disk      string    c1t0d0
    manufacturer      string    SanDisk
    model             string    Cruzer
    serial-number     string    20051737111B26A0CFF8
    firmware-revision string    1.01
    capacity-in-bytes string    4004511744
  group: io                             version: 1   stability: Private/Private
    devfs-path        string    /pci@0,0/pci15d9,806@14/storage@a/disk@0,0
    phys-path         string[]  [ "/pci@0,0/pci15d9,806@14/storage@a/disk@0,0" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=10
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=10
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@11" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=11
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=11
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@12" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=12
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=12
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@13" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=13
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=13
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@14" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=14
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=14
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@15" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=15
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=15
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@20" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=16
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=16
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    USB 3 Standard-A connector
    usb-versions      string[]  [ "3.0" ]
    port-attributes   string[]  [ "port-disconnected" ]
    logical-ports     string[]  [ "xhci0@21" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Type A connector
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "port-connected" ]
    logical-ports     string[]  [ "ehci0@1" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-device=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-device=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: usb-properties                 version: 1   stability: Private/Private
    usb-port          uint32    0x1
    usb-vendor-id     int32     32903
    usb-product-id    int32     32776
    usb-revision-id   string    4
    usb-version       string    2.0
    usb-speed         string    high-speed
  group: io                             version: 1   stability: Private/Private
    driver            string    hubd
    instance          uint32    0x1
    devfs-path        string    /pci@0,0/pci15d9,806@1a/hub@1
    module            fmri      mod:///mod-name=hubd/mod-id=145

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=0
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=0
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "user-visible" ]
    logical-ports     string[]  [ "ehci0@1.1" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=1
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=1
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-device=0
  group: authority                      version: 1   stability: Private/Private
    product-id        string    X10SLM+-LN4F
    chassis-id        string    0123456789
    server-id         string    haswell
  group: port                           version: 1   stability: Private/Private
    type              string    usb
  group: usb-port                       version: 1   stability: Private/Private
    port-type         string    Unknown
    usb-versions      string[]  [ "2.0" ]
    port-attributes   string[]  [ "user-visible" ]
    logical-ports     string[]  [ "ehci0@1.2" ]

hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=2
  group: protocol                       version: 1   stability: Private/Private
    resource          fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=0/port=2
    FRU               fmri      hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=17/usb-d

Comment by Jira Bot
Created at 2018-11-16T22:23:56.977Z

illumos-joyent commit c836dc0eb2df97c64bb23fd0ea04f9dae1f34de1 (branch master, by Robert Mustacchi)

OS-7146 Project Tiresias: USB topology
OS-6581 topo_node_label_set() should take a const char* instead of char*
Reviewed by: Jerry Jelinek <jerry.jelinek@joyent.com>
Reviewed by: Rob Johnston <rob.johnston@joyent.com>
Approved by: Joshua M. Clulow <josh@sysmgr.org>