Lines Matching +full:usb +full:- +full:controller

5 27-Dec-2002
7 The EHCI driver is used to talk to high speed USB 2.0 devices using
8 USB 2.0-capable host controller hardware. The USB 2.0 standard is
9 compatible with the USB 1.1 standard. It defines three transfer speeds:
11 - "High Speed" 480 Mbit/sec (60 MByte/sec)
12 - "Full Speed" 12 Mbit/sec (1.5 MByte/sec)
13 - "Low Speed" 1.5 Mbit/sec
15 USB 1.1 only addressed full speed and low speed. High speed devices
16 can be used on USB 1.1 systems, but they slow down to USB 1.1 speeds.
18 USB 1.1 devices may also be used on USB 2.0 systems. When plugged
19 into an EHCI controller, they are given to a USB 1.1 "companion"
20 controller, which is a OHCI or UHCI controller as normally used with
21 such devices. When USB 1.1 devices plug into USB 2.0 hubs, they
22 interact with the EHCI controller through a "Transaction Translator"
31 While usb-storage devices have been available since mid-2001 (working
34 appear to be on hold until more systems come with USB 2.0 built-in.
38 Note that USB 2.0 support involves more than just EHCI. It requires
39 other changes to the Linux-USB core APIs, including the hub driver,
41 APIs exposed to USB device drivers.
43 - David Brownell
56 --------------
59 and interrupt transfers, including requests to USB 1.1 devices through
60 transaction translators (TTs) in USB 2.0 hubs. But you may find bugs.
69 most USB audio and video devices can't be connected to high speed buses.
72 ---------------
79 The EHCI root hub code hands off USB 1.1 devices to its companion
80 controller. This driver doesn't need to know anything about those
96 Assuming you have an EHCI controller (on a PCI card or motherboard)
99 # modprobe ehci-hcd
103 # rmmod ehci-hcd
105 You should also have a driver for a "companion controller", such as
106 "ohci-hcd" or "uhci-hcd". In case of any trouble with the EHCI driver,
107 remove its module and then the driver for that companion controller will
117 the EHCI controller can issue interrupts.
119 If you're using this driver on a 2.5 kernel, and you've enabled USB
121 any EHCI controller:
127 usb-storage doing disk I/O; watch the request queues!)
132 show controller register state, and
138 but they may want to check for "usb_device->speed == USB_SPEED_HIGH".
144 However, do make a point of testing device drivers through USB 2.0 hubs.
153 USB 2.0 throughput is gated by two main factors: how fast the host
154 controller can process requests, and how fast devices can respond to
162 and at most 13 of those fit into one USB 2.0 microframe. Eight USB 2.0
163 microframes fit in a USB 1.1 frame; a microframe is 1 msec/8 = 125 usec.
171 --------------------
173 At this writing, individual USB 2.0 devices tend to max out at around
181 that the controller hardware won't do concurrent USB and PCI access,
182 so that it's only trying six (or maybe seven) USB transactions each
192 to receive interrupts from the EHCI controller indicating completion
194 default ehci-hcd driver uses the minimum latency, which means that if
199 --------------------
201 To get even 20 MByte/sec transfer rates, Linux-USB device drivers will
207 going to waste more than half the USB 2.0 bandwidth. Delays between the
215 Such URB queuing should work with all the USB 1.1 HC drivers too.