• Home
  • Raw
  • Download

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

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