1ehci(7D)                            Devices                           ehci(7D)
2
3
4

NAME

6       ehci - Enhanced host controller driver
7

SYNOPSIS

9       usb@unit-address
10
11

DESCRIPTION

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

FILES

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

ATTRIBUTES

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

SEE ALSO

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

DIAGNOSTICS

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)
Impressum