Feature #10242
closedProject Tiresias: USB topology
100%
Description
This is a ticket that goes through and adds support for USB topology to the system. It allows for us to construct topo information for these cases and enhances several cases even when we don't have a platform specific topo map. More details on the origins and design goals can be found in the RFD 147 Project Tiresias: USB Topology. This constructs a topology tree and allows a platform to declare maps that provide additional information such as labels or mapping between ports on ehci and xhci controllers.
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-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.3" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/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=17/usb-device=0/port=3 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.4" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=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=17/usb-device=0/port=4 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.5" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=17/usb-device=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=17/usb-device=0/port=5 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.6" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=18 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=18 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 Unknown usb-versions string[] [ "2.0" ] logical-ports string[] [ "ehci0@2" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=19 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=19 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=19/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=19/usb-device=0 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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 32768 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 0x2 devfs-path string /pci@0,0/pci15d9,806@1d/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=19/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=19/usb-device=0/port=0 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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=19/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=19/usb-device=0/port=1 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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=19/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=19/usb-device=0/port=2 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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.3" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=19/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=19/usb-device=0/port=3 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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.4" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=19/usb-device=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=19/usb-device=0/port=4 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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.5" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=19/usb-device=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=19/usb-device=0/port=5 FRU fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789:revision=4/motherboard=0/port=19/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.6" ] hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=20 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=X10SLM+-LN4F:server-id=haswell:chassis-id=0123456789/motherboard=0/port=20 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 Unknown usb-versions string[] [ "2.0" ] logical-ports string[] [ "ehci0@2" ]
On the other hand, the following two entries show a system with a topo map:
DISK VID PID SERIAL FLT LOC LOCATION c1t0d0 Kingston DataTraveler 2.0 00241D8CE563C1B1E94FEBB4 - - Internal USB c2t5000CCA0496FCA6Dd0 HGST HUSMH8010BSS204 0HWZGX6A no no [0] Slot00 c2t5000CCA25319F125d0 HGST HUH721212AL4200 8DGG88SZ no no [0] Slot01 c2t5000CCA25318BE1Dd0 HGST HUH721212AL4200 8DGELUWZ no no [0] Slot02 c2t5000CCA2530F9CD5d0 HGST HUH721212AL4200 8DG8L5JZ no no [0] Slot03 c2t5000CCA25318BE15d0 HGST HUH721212AL4200 8DGELUUZ no no [0] Slot04 c2t5000CCA25319F745d0 HGST HUH721212AL4200 8DGG8PDZ no no [0] Slot05 c2t5000CCA2530F9C55d0 HGST HUH721212AL4200 8DG8L4HZ no no [0] Slot06 c2t5000CCA2530F9FE1d0 HGST HUH721212AL4200 8DG8LBUZ no no [0] Slot07 c2t5000CCA25319F5B9d0 HGST HUH721212AL4200 8DGG8L6Z no no [0] Slot08 c2t5000CCA25318C111d0 HGST HUH721212AL4200 8DGEM0ZZ no no [0] Slot09 c2t5000CCA25318C129d0 HGST HUH721212AL4200 8DGEM15Z no no [0] Slot10 c2t5000CCA2530F9C25d0 HGST HUH721212AL4200 8DG8L43Z no no [0] Slot11 c2t5000CCA25318BEC5d0 HGST HUH721212AL4200 8DGELW7Z no no [0] Slot12 c2t5000CCA2530F9D95d0 HGST HUH721212AL4200 8DG8L72Z no no [0] Slot13 c2t5000CCA2530F9C19d0 HGST HUH721212AL4200 8DG8L40Z no no [0] Slot14 c2t5000CCA2530F9FD9d0 HGST HUH721212AL4200 8DG8LBSZ no no [0] Slot15 c2t5000CCA25318BE19d0 HGST HUH721212AL4200 8DGELUVZ no no [0] Slot16 c2t5000CCA2530FA0A5d0 HGST HUH721212AL4200 8DG8LEDZ no no [0] Slot17 c2t5000CCA25318C1A1d0 HGST HUH721212AL4200 8DGEM24Z no no [0] Slot18 c2t5000CCA2531B0049d0 HGST HUH721212AL4200 8DGGVAJH no no [0] Slot19 c2t5000CCA25319F66Dd0 HGST HUH721212AL4200 8DGG8MNZ no no [0] Slot20 c2t5000CCA2531A4189d0 HGST HUH721212AL4200 8DGGEMRH no no [0] Slot21 c2t5000CCA2531B1025d0 HGST HUH721212AL4200 8DGGWD8H no no [0] Slot22 c2t5000CCA2531A41B9d0 HGST HUH721212AL4200 8DGGEN3H no no [0] Slot23 c2t5000CCA2530F9D75d0 HGST HUH721212AL4200 8DG8L6UZ no no [1] Slot00 c2t5000CCA25319F715d0 HGST HUH721212AL4200 8DGG8P0Z no no [1] Slot01 c2t5000CCA2531AD971d0 HGST HUH721212AL4200 8DGGSSAH no no [1] Slot02 c2t5000CCA2531A7D69d0 HGST HUH721212AL4200 8DGGKMAH no no [1] Slot03 c2t5000CCA2531A7E55d0 HGST HUH721212AL4200 8DGGKP7H no no [1] Slot04 c2t5000CCA2531A41D1d0 HGST HUH721212AL4200 8DGGEN9H no no [1] Slot05 c2t5000CCA2531AD9B5d0 HGST HUH721212AL4200 8DGGSSWH no no [1] Slot06 c2t5000CCA2530FA0A1d0 HGST HUH721212AL4200 8DG8LEBZ no no [1] Slot07 c2t5000CCA25319F6B9d0 HGST HUH721212AL4200 8DGG8N8Z no no [1] Slot08 c2t5000CCA2531AD9A1d0 HGST HUH721212AL4200 8DGGSSRH no no [1] Slot09 c2t5000CCA25308B61Dd0 HGST HUH721212AL4200 8DG4TJ3H no no [1] Slot10 c2t5000CCA25308C1C9d0 HGST HUH721212AL4200 8DG4U96H no no [1] Slot11 [root@magma ~]# /usr/lib/fm/fmd/fmtopo -V *port=* TIME UUID Nov 14 22:41:14 873d8506-913d-ee77-b7fa-8a7a26f3b569 hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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" "3.0" ] port-attributes string[] [ "user-visible" ] logical-ports string[] [ "xhci0@5" "xhci0@21" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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" "3.0" ] port-attributes string[] [ "user-visible" ] logical-ports string[] [ "xhci0@6" "xhci0@22" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma group: usb-properties version: 1 stability: Private/Private usb-port uint32 0x6 usb-vendor-id int32 1367 usb-product-id int32 28672 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,981@14/hub@6 module fmri mod:///mod-name=hubd/mod-id=99 hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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@6.1" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=100/motherboard=0/port=1/usb-device=0/port=0/usb-device=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=100/motherboard=0/port=1/usb-device=0/port=0/usb-device=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=100/motherboard=0/port=1/usb-device=0/port=0/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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,981@14/hub@6/device@1 module fmri mod:///mod-name=usb_mid/mod-id=120 hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=1 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=1 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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@6.2" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=2 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=2 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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@6.3" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=3 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=1/usb-device=0/port=3 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:revision=0/motherboard=0/port=1/usb-device=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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@6.4" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=2 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=2 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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" "3.0" ] port-attributes string[] [ "port-connected" ] logical-ports string[] [ "xhci0@7" "xhci0@23" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=3 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=3 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@8" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=4 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=4 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@9" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=5 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=5 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 label string Internal USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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" "internal-port" ] logical-ports string[] [ "xhci0@10" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=DataTraveler-2.0:revision=100/motherboard=0/port=5/usb-device=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=DataTraveler-2.0:revision=100/motherboard=0/port=5/usb-device=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=DataTraveler-2.0:revision=100/motherboard=0/port=5/usb-device=0 label string Internal USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma group: usb-properties version: 1 stability: Private/Private usb-port uint32 0xa usb-vendor-id int32 2352 usb-product-id int32 25924 usb-revision-id string 100 usb-version string 2.0 usb-vendor-name string Kingston usb-product-name string DataTraveler 2.0 usb-serialno string 00241D8CE563C1B1E94FEBB4 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,981@14/storage@a module fmri mod:///mod-name=scsa2usb/mod-id=110 group: binding version: 1 stability: Private/Private occupant-path string /pci@0,0/pci15d9,981@14/storage@a/disk@0,0 hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=Kingston-DataTraveler-2.0:revision=1.00/motherboard=0/port=5/usb-device=0/disk=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=Kingston-DataTraveler-2.0:revision=1.00/motherboard=0/port=5/usb-device=0/disk=0 label string Internal USB FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=00241D8CE563C1B1E94FEBB4:part=Kingston-DataTraveler-2.0:revision=1.00/motherboard=0/port=5/usb-device=0/disk=0 ASRU fmri dev:////pci@0,0/pci15d9,981@14/storage@a/disk@0,0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma group: storage version: 1 stability: Private/Private logical-disk string c1t0d0 manufacturer string Kingston model string DataTraveler 2.0 serial-number string 00241D8CE563C1B1E94FEBB4 firmware-revision string 1.00 capacity-in-bytes string 15518924800 group: io version: 1 stability: Private/Private devfs-path string /pci@0,0/pci15d9,981@14/storage@a/disk@0,0 phys-path string[] [ "/pci@0,0/pci15d9,981@14/storage@a/disk@0,0" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=6 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=6 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@11" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=7 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=7 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@12" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=8 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=8 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@13" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=9 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=9 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@14" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=10 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=10 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@15" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=11 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=11 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@16" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=12 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=12 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "3.0" ] port-attributes string[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@24" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=13 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=13 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "3.0" ] port-attributes string[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@25" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=14 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/motherboard=0/port=14 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740:serial=ZM17AS029576:revision=1.01/motherboard=0 group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "3.0" ] port-attributes string[] [ "port-disconnected" ] logical-ports string[] [ "xhci0@26" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=0 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=0 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0 label string Rear Upper Left USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "user-visible" "external-port" ] logical-ports string[] [ "xhci0@2" "xhci0@18" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=1 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=1 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0 label string Rear Lower Left USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "user-visible" "external-port" ] logical-ports string[] [ "xhci0@1" "xhci0@17" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=2 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=2 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0 label string Rear Upper Right USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "user-visible" "external-port" ] logical-ports string[] [ "xhci0@4" "xhci0@20" ] hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=3 group: protocol version: 1 stability: Private/Private resource fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0/port=3 FRU fmri hc://:product-id=Joyent-S10G5:server-id=magma:chassis-id=S287161X8300740/chassis=0 label string Rear Lower Right USB group: authority version: 1 stability: Private/Private product-id string Joyent-S10G5 chassis-id string S287161X8300740 server-id string magma 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[] [ "user-visible" "external-port" ] logical-ports string[] [ "xhci0@3" "xhci0@19" ]
Some highlights from both:
- The serial number of the USB device is available regardless of whether or not there is a topo file.
- Some amount of USB 2/3 port mapping has occurred regardless of the topo file
- With the topo file, we can see the different ports are labeled and that it shows up in diskinfo
Updated by Robert Mustacchi about 4 years ago
Tests:
- Verified that we see generic ACPI port mapping on various systems (NUCs, Haswell client 1s, etc.)
- Verified that we still see USB serial numbers in diskinfo even when we don't have location information.
- Verified that a USB2 and USB 3 device showed up on all ports on an SMCI Skylake system and that the topo information was correct for it in diskinfo -P.
- ditto on SMCI 2028-ACR
- ditto on SMCI 6049P
- Made sure that hubs correctly show up with child devices on them
- Verified that usb type-c ports are correctly detected on various NUCs
- Verified that in general, the ACPI matching code works on most systems
- Verified that external add in cards are detected and that USB devices under them work
Updated by Electric Monk about 4 years ago
- Status changed from New to Closed
git commit 672fc84a1840ce8ef60fc752e9ea374723d1135a
commit 672fc84a1840ce8ef60fc752e9ea374723d1135a Author: Robert Mustacchi <rm@joyent.com> Date: 2019-01-28T06:30:32.000Z 10242 Project Tiresias: USB topology 10243 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: Richard Lowe <richlowe@richlowe.net>