Re: USB slow when two devices connected

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2008-09-02 at 13:26 -0600, Phil Meyer wrote:
> All that, to say this:  a single slow USB device on a controller will 
> cause the controller to drop to slow (USB 1.1) mode.   Not just a single 
> port drops, the whole controller drops.

Slightly expanded:

(a) USB 1.1 vs. USB 2.0 isn't directly related to speed -- USB 1.1
supports low (1.5 Mbps) and full (12 Mbps) speeds; USB 2.0 adds support
for high (480 Mbps) speed. USB 2.0 devices don't *have* to operate at
full speed, though -- e.g., a true USB 2.0-certified keyboard is still
going to send your scancodes to the host at low speed.

(b) Using a low- or full-speed device doesn't force that controller
(actually pair of controllers - EHCI+UHCI) into a low- or full-speed
mode -- low-/full- and high-speed connections can be interleaved.
However, USB is a shared bus, and use of the bus is scheduled in time
slices, so as an example transferring 8 Mbps at full speed (plus control
overhead) will use the bus just over 2/3rd of the time, reducing the
time available for full speed transfers to less than 1/3 (<160 Mbps),
yielding a total throughput of under 168 Mbps. This can be alleviated by
using a hub with a transaction translator, which will buffer low- or
full-speed transfers and send them in bursts to the host at high speed
(and vice versa for data coming from the host) to mitigate the impact of
the low- and full-speed devices on the high-speed ones.


> This problem used to be very problematic when most USB mice and 
> keyboards were USB 1.1
> 
> Now days, all USB devices should say 2.0 on them somewhere.

Even a Certified USB 2.0 mouse will operate at low speed (I haven't seen
any 480 Mbps mice!). For example, from /proc/bus/usb/devices on my
desktop:

        T:  Bus=01 Lev=02 Prnt=03 Port=02 Cnt=03 Dev#=  9 Spd=1.5 MxCh= 0
        D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs=  1
        P:  Vendor=046d ProdID=c00e Rev=11.10
        S:  Manufacturer=Logitech
        S:  Product=USB-PS/2 Optical Mouse
        C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr= 98mA
        I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID  ) Sub=01 Prot=02 Driver=usbhid
        E:  Ad=81(I) Atr=03(Int.) MxPS=   4 Ivl=10ms

Note the "Ver= 2.00" in the D: line (USB version 2.0), but "Spd=1.5" in
the T: line (low speed, 1.5 Mbps).

-Chris

-- 
fedora-list mailing list
fedora-list@xxxxxxxxxx
To unsubscribe: https://www.redhat.com/mailman/listinfo/fedora-list
Guidelines: http://fedoraproject.org/wiki/Communicate/MailingListGuidelines

[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux