usb(7)
usb - Irix USB subsystem
Showing IRIX 6.5.30 (default release). Last changed in IRIX 6.5.22.
NAME usb - Irix USB subsystem DESCRIPTION This page documents the Irix USB implementation for SGI Onyx 3000 and Fuel systems. Both the Onyx 3000 system I-brick and the Fuel workstation incorporate a USB host controller as part of the base I/O device set. There are two USB ports on one USB controller. Device Topology The USB device topology is exported through a subtree in the hardware graph. The device topology format is subject to change over releases as the need arises, so it should not be relied on by scripts. Each USB driver (e.g. keyboard, mouse) should export its own namespace that can be relied on. USB hardware graph paths are of the form: /hw/.../pci/<slot>/usb/<port_path>[/device_path] Where <slot> is 5 for the I-brick internal USB controller. <port_path> is a '/' separated sequence of USB hub port numbers. Ports having a common parent belong to the same USB hub. Port components separated by a '/' are connected by a hub. For example: /hw/.../pci/5/usb/1 refers to port 1 of the USB controller, or Root Hub in USB terminology. /hw/.../pci/5/usb/1/2 refers to port 2 of the hub which is plugged into port 1 of the Root Hub. If a non-hub device is plugged into a port (and there is a driver for that device), a driver-specific path will be hung off of the port that the device is plugged into. In the example: /hw/.../pci/5/usb/2/3/keyboard /hw/.../pci/5/usb/2/4/mouse a driver has detected a keyboard device plugged into hub port 3, and a mouse plugged into hub port 4. The hub in this example is plugged into the Root Hub port 2. USB Topology Rules The following rules are enforced by the USB subsystem: - The maximum depth from root hub to end device cannot exceed 7, where the root hub (i.e. controller) counts as 1. Stated another way, you can have 5 USB hubs between the root hub and an end device. - All hubs in a path must be self-powered with the exception of the one closest to the end device. - Devices plugged into a port of a bus-powered hub must be classified as low-power devices (which can draw a maximum of 100mA). Hub Driver The Irix USB infrastructure implements the driver for USB hubs. Hubs conforming to the USB 1.1 specification are supported. Hot Plug The Irix USB implementation supports hot plugging and unplugging of USB devices, within the constraints of the USB topology rules. A device that is hot plugged will be initialized to a default state by the USB subsystem, and then the appropriate driver (if any) will be called to do further driver specific initialization. Device initialization errors will generally be logged to the console, and the device will not be accessible. A device that is unplugged will have its entry removed from the USB hardware graph namespace. It is up to the individual drivers to do any driver-specific cleanup at unplug time. Reset There is no general USB administrative command. If a device needs to be reset, it should be unplugged, and replugged. NOTES The Irix USB implementation is a partial implementation and supports selected keyboards, mice, and drawing tablets (see usbinput(7)) as well as USB audio devices. Currently there is no administrative command for individual device control. Likewise, the USB infrastructure provides no published API for the implementation of new USB drivers. Only controllers conforming to the OpenHCI specification are supported. SEE ALSO usbinput(7), Universal Serial Bus Specification rev 1.1, OpenHCI Open Host Controller Interface Specification for USB rev 1.0a