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

Re: USB2 and thumb drives limit?



On Mon, 2005-02-14 at 21:30 -0600, Robert G. (Doc) Savage wrote:
> I have a two-port USB2 CardBus adapter that allows my thumb drives to
> run at full 480 Mbps speeds. But it seems I can only use one at a time,
> and it doesn't matter which one. If I insert the second, I lose access
> to both.
> Is this a limitation of USB2 hubs in general, or possibly a power-
> related limitation specific to this hub (it's an ADS Tech USBX-2001)?
> The card has a power port for an external power supply, but one wasn't
> included because it's supposed to draw any power it needs from the
> CardBus interface.
> Has anyone else had any problems connecting two thumb drives to the same
> USB2 hub? I can connect one thumb drive to my ThinkPad's built-in USB1.1
> port and the other to the ADS Tech USB2.0 adapter, and can access both
> with no problems (other than extreme slowness on the built-in port).

Power can be one issue.  But device conflicts are typically another
issue that plagues USB (but not FireWire).

The 'brains' of USB is in the device driver (not even the device), like
pre-UltraATA IDE (UltraATA puts more in the device these days, although
it still wants its "own channel").
FireWire is like SCSI in that there is a full command set where the end-
device and host work together, along with other devices on the channel.

That's not to say FireWire is "better" than USB, no more than SCSI over
UltraATA.  But USB has some severe limitations, just like ATA, including
the inability of devices to "get along" on one channel.

Understand USB and FireWire were designed to be _complementary_.  USB
was designed for low-speed character devices, FireWire for high-speed
block devices.  There was even a "Device Bay" that was going to finalize
standardized external components into USB and FireWire.

But Intel renig'd on putting FireWire into its PIIX southbridges (for
i4xx series) and USB 2.0 resulted.  USB was designed purposely to put
_minimal_ design effort on Intel and Microsoft for the host and host
driver, respectively.  This includes extensive programmed I/O (PIO)
commands instead of block transfers.

Intel freely admits that EHCI 480Mbps (60MBps) is a pipe dream.  It's
fine for lower speed block devices, but even older 400Mbps (50MBps)
FireWire clearly starts to show what it is capable of over USB beyond
10MBps.  As I said, USB 2.0 to even FireWire 1.0 is like comparing pre-
UltraATA IDE to SCSI.

As such, not only did that mean the end-devices and their device drivers
had to have the "control," but that's why it took 3+ years after USB
controllers started appearing before devices did.  FireWire devices
started coming around right after its introduction, because FireWire had
inherent command sets.

USB has adopted several now, but they are still not well proliferated.
And some of the SBP storage commands still don't work well on different
USB devices like they do FireWire.

Also, USB 2.0 does _not_ require support for the ultra 480Mbps spec.
_Only_ devices connected to EHCI hubs allow it.  Typically there is
_only_ one EHCI capable hub on a USB 2.0 card/controller.  All others
are 12Mbps (1.5MBps) UHCI or 1.2Mbps (0.15MBps) OHCI.


-- 
Bryan J. Smith                                  b.j.smith@ieee.org 
---------------------------------------------------------------- 
Community software is all about choice, choice of technology.
Unfortunately, too many Linux advocates port over the so-called
"choice" from the commercial software world, brand name marketing.
The result is false assumptions, failure to focus on the real
technical similarities, but loyalty to blind vendor alignments.



-
To unsubscribe, send email to majordomo@silug.org with
"unsubscribe silug-discuss" in the body.