1ehci(7D) Devices ehci(7D)
2
3
4
6 ehci - Enhanced host controller driver
7
9 usb@unit-address
10
11
13 The ehci driver is a USBA (Solaris USB Architecture) compliant nexus
14 driver that supports the Enhanced Host Controller Interface Specifica‐
15 tion 2.0, an industry standard developed by Intel.
16
17
18 A USB 2.0 host controller includes one high-speed host controller and
19 zero or more USB 1.1 host controllers. The high-speed host controller
20 implements an EHCI (Enhanced Host Controller Interface) that is used
21 for all high-speed communications to high-speed-mode devices.
22
23
24 All USB 2.0 devices connected to the root ports of the USB 2.0 host
25 controller and all devices connected to a high- speed-mode hub should
26 be routed to the EHCI host controller.
27
28
29 All full- and low-speed devices connected to the root ports of the USB
30 2.0 host controller should be routed to the companion USB 1.1 host con‐
31 trollers. (OHCI or UHCI host controller).
32
33
34 The ehci supports bulk, interrupt, control and iso chronous transfers
35 (on USB1.x devices behind a USB2.0 hub).
36
38 /kernel/drv/ehci 32-bit ELF 86 kernel module
39
40
41 /kernel/drv/sparcv9/ehci 64-bit SPARC ELF kernel module
42
43
44 /kernel/drv/amd64/ehci 64-bit x86 ELF kernel module
45
46
47 /kernel/drv/ehci.conf Driver configuration file
48
49
51 See attributes(5) for descriptions of the following attributes:
52
53
54
55
56 ┌─────────────────────────────┬──────────────────────────────┐
57 │ ATTRIBUTE TYPE │ ATTRIBUTE VALUE │
58 ├─────────────────────────────┼──────────────────────────────┤
59 │Architecture │SPARC, x86, PCI-based systems │
60 ├─────────────────────────────┼──────────────────────────────┤
61 │Availability │SUNWusb │
62 └─────────────────────────────┴──────────────────────────────┘
63
65 add_drv(1M), prtconf(1M), rem_drv(1M), update_drv(1M), attributes(5),
66 hubd(7D), uhci(7D), ohci(7D), usba(7D)
67
68
69 Writing Device Drivers
70
71
72 Universal Serial Bus Specification 2.0
73
74
75 Enhanced Host Controller Interface Specification 1.0
76
77
78 System Administration Guide: Basic Administration
79
80
81 http://www.usb.org
82
83
84 http://www.sun.com/io
85
86
87 http://www.sun.com/bigadmin/hcl
88
89
90 http://www.intel.com/technology/usb/ehcispec.htm
91
93 In addition to being logged, the following messages may appear on the
94 system console. All messages are formatted in the following manner:
95
96 WARNING: <device path> (ehci<instance number>): Message...
97
98
99
100 Unrecoverable USB hardware error.
101
102 There was an unrecoverable USB hardware error reported by the ehci
103 controller. Reboot the system. If this problem persists, contact
104 your system vendor.
105
106
107 No SOF interrupts.
108
109
110 No SOF interrupts have been received. This USB EHCI controller is
111 unusable.
112
113
114 Error recovery failure: Please hotplug the 2.0 hub at <device path>.
115
116 The driver failed to clear 2.0 hub's TT buffer. Remove and reinsert
117 the external USB2.0 hub.
118
119
120 Revision<xx> is not supported.
121
122 High speed USB devices prior to revision 0.95 are not supported.
123
124
125
126 The following messages may be entered into the system log. They are
127 formatted in the following manner:
128
129 <device path> (ehci<instance number>): Message...
130
131
132
133 Unable to take control from BIOS. Failure is ignored.
134
135 The driver was unable to take control of the EHCI hardware from the
136 system's BIOS. This failure is ignored. To abort the attach on this
137 take-over failure, comment out a property in ehci.conf. (x86 only).
138
139
140 Unable to take control from BIOS.
141
142 The driver is unable to take control of the EHCI hardware
143 from the system's BIOS and aborts the attach. High speed (USB 2.0)
144 support is disabled. In this case, all USB devices run at full/low
145 speed. Contact your system vendor or your system administror for
146 possible changes in BIOS settings. You can disable a property in
147 ehci.conf to ignore this failure. (x86 only.)
148
149
150 Low speed device is not supported.
151 Full speed device is not supported.
152
153 The driver detected a low or full speed device on its root hub
154 port. Per USB 2.0 specification, the device should be routed to a
155 companion host controller (OHCI or UHCI). However, no attached com‐
156 panion host controller appears to be available. Therefore, low and
157 full speed devices are not supported.
158
159
160 Low speed endpoint's poll interval of <n> ms is below threshold. Round‐
161 ing up to 8 ms.
162
163 Low speed endpoints are limited to polling intervals between 8 ms
164 and 255 ms. If a device reports a polling interval that is less
165 than 8 ms, the driver uses 8 ms instead.
166
167
168 Low speed endpoint's poll interval is greater than 255 ms.
169
170 The low speed device's polling interval is out of range. The host
171 controller does not allocate bandwidth for this device. This device
172 is not usable.
173
174
175 Full speed endpoint's poll interval must be between 1 and 255 ms.
176
177 The full speed device's polling interval is out of range. The host
178 controller does not allocate bandwidth for this device. This device
179 is not usable.
180
181
182 High speed endpoint's poll interval must be between 1 and 16 units.
183
184 The high speed device's polling interval is out of range. The host
185 controller will not allocate bandwidth for this device. This device
186 will not be usable. Refer to the USB specification, revision 2.0
187 for the unit definition.
188
189
190 ehci_modify_qh_status_bit: Failed to halt qh=<address>.
191
192 Error recovery failed. Please disconnect and reinsert all devices
193 or reboot.
194
195
196 Note -
197
198 Due to recently discovered incompatibilities with this USB con‐
199 troller, USB2.x transfer support has been disabled. However, this
200 device continues to function as a USB1.x controller. Information on
201 enabling USB2.x support is provided in this man page. Please refer to
202 www.sun.com/io for Solaris Ready products and to www.sun.com/bigad‐
203 min/hcl for additional compatible USB products.
204
205 VIA chips may not be compatible with this driver. To bind ehci
206 specifically to the chip and eliminate the warnings, and to enable
207 USB2.x suppport, a new, more specific driver alias (refer to
208 add_drv(1M) and update_drv(1M)) must be specified for ehci. By
209 default, the ehci alias is 'pciclass,0c0320.' The compatible names in
210 the prtconf(1M) output provides additional aliases. For example:
211
212 # prtconf -vp | grep pciclass,0c0320
213 compatible: 'pci1106,3104.1106.3104.2063' +
214 'pci1106,3104.1106.3104' + 'pci1106,3104' +
215 pci1106,3104.2063' + 'pci1106,3104' + 'pciclass,0c0320' +
216 'pciclass,0c03'
217 ....
218
219
220 A more specific alias is 'pci1106,3104.' Perform the follow-
221 ing step to add this alias, then reboot the system:
222
223
224 # update_drv -a -i '"pci1106,3104"' ehci
225
226 # reboot
227
228
229
230 After you apply the above workaround, the following message is dis‐
231 played in your system log:
232
233
234 Applying VIA workarounds.
235
236
237
238SunOS 5.11 13 April 2006 ehci(7D)