On Mon, Jun 26, 2006 at 06:40:01AM -0600, Matthew Wilcox wrote: > I'm not 100% sure what the problem is with USB. If it's that we may not > have discovered all the USB devices currently plugged in, then I think > we need to change the way USB works to use one Scsi_Host for all USB > storage devices, and then make each device either its own target or its > own channel (probably the former; the latter is less well-tested code). There are a couple of things which make this difficult for USB. First, some (many?) USB devices need to be left alone for several seconds after attachment in order to allow them to initialize to the point where they are usable. Second, depending on how many hubs are between the host and target, the time-to-discover the device is highly variable. Third, once discovered the device may still take a long time to be "ready". Think of this as a slow spin-up time. This is different from my first point in that the device can actually accept commands, but all commands will fail with some sort of not-ready type error. As for using one Scsi_Host... there are several usb-storage devices which attach to an entire SCSI bus (not just a single target), so can't make each device it's own target. Also, at the time this was all written it wasn't possible to dynamically remove (with any stability) individual targets or channels. Perhaps that has changed? Matt -- Matthew Dharm Home: mdharm-usb@xxxxxxxxxxxxxxxxxx Maintainer, Linux USB Mass Storage Driver You suck Stef. -- Greg User Friendly, 11/29/97
Attachment:
pgpWetglnZV6u.pgp
Description: PGP signature