On Oracle's SPARC T3, T4, Netra T4-1 and Netra T4-2 servers, all USB ports/connectors available to users are connected to an internal USB 2.0 (ehci) controller through an onboard USB 2.0 hub.
When a full/low speed USB 1.0/1.1 keyboard and mouse are connected to a USB port through this USB 2.0 hub, keyboard input might drop characters or might display double characters.
Workaround: Currently, a workaround has been implemented for this issue where an internal USB hub is manually bound to the ohci (USB 1.0/1.1) driver. This binding causes a variable named ehci_forced_port_to_companion to instruct the ehci (USB 2.0) driver to transfer ownership of a specific port on the USB controller to the ohci (1.0/1.1) driver. Once the ohci driver is bound to a particular port on the USB controller, the ohci driver will also be used by the internal USB hub connected to that port and all USB connectors on that hub.
This workaround is available in the following forms:
Oracle Solaris 11 OS – Oracle Solaris 11 Support Repository Update 3 (SRU3)
Oracle Solaris 10 8/11 – Patch 147004-03
For earlier supported versions of Oracle Solaris 10, apply the Solaris 10 8/11 SPARC Bundle, followed by patch 147004-03.
On T3-1, T4-1, T3-2, T4-2, Netra T4-1 and Netra T4-2, the rear USB connectors as well as the virtual keyboard, virtual mouse, virtual CD-ROM, and virtual USB ethernet connection to the service processor (a.k.a RKVMS) are all beneath a hub connected to port 2 on the USB controller.
The front USB connectors are connected through a hub to port 4 of the USB controller.
Likewise, on the T3-4 and T4-4 platforms, the rear USB connector is beneath a hub that is connected to port 3 of the USB controller and the front USB connector and the virtual mouse, keyboard, CD-ROM and virtual USB ethernet connection to the service processor are beneath a hub that is connected to port 2 of the USB controller.
To use a physical keyboard and mouse with this workaround, apply the fix (either patch 147004-03 or SRU3) and then perform the following recommended steps:
On SPARC T3-1, T4-1, T3-2, T4-2, Netra T4-1, and Netra T4-2 systems:
1. Connect the input devices to a front USB connector.
2. Add the following line to /kernel/drv/ehci.conf:
ehci-port-forced-to-companion = 4
3. Reboot.
On SPARC T3-4 and T4-4 systems:
1. Connect the input devices to a rear USB connector.
2. Add the following line to /kernel/drv/ehci.conf:
ehci-port-forced-to-companion = 3
3. Reboot.
To use a physical keyboard and mouse with this workaround, first apply the fix (either patch 147004-03 for Oracle Solaris 10 or SRU3 for Oracle Solaris 11) and then add the following line to /kernel/drv/ehci.conf and reboot:
ehci-port-forced-to-companion = 2
All other devices connected to the hub that services the virtual keyboard and mouse will be forced to operate at the lower USB 1.0/1.1 speed. These include:
The virtual USB ethernet connection to the service processor.
The physical USB connectors:
Rear connectors on the T3-1, T4-1, T3-2, T4-2, Netra T4-1, and Netra T4‐2 servers.
Front connectors on the T3-4 and T4-4 servers.
When these devices do not come up, messages similar to the following will be displayed on the console and written to system logs:
WARNING: /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,1/hub@1/hub@3 (hubd4): Connecting device on port 2 failed
WARNING: /pci@400/pci@2/pci@0/pci@f/pci@0/usb@0,1/hub@1/hub@3 (hubd4): Connecting device on port 3 failed
Caution - At this time, there is no fix or workaround for the failure of these devices to come up when the missing micro-frame workaround is configured to support a virtual keyboard and mouse. |
For this reason, you should limit use of following USB ports when using virtual keyboard and mouse functionality:
Rear USB connectors on the T3-1, T4-1, T3-2, T4-2, Netra T4-1, and Netra T4-2
Front USB connectors on the T3-4 and T4-4
All other virtual devices (such as virtual keyboard and virtual mouse) will continue to function, but will be limited to operating at the lower speed.