Subject: Preliminary support for USB Zip drives
To: None <firstname.lastname@example.org>
From: Jason Thorpe <email@example.com>
Date: 08/29/1999 10:48:52
I've added preliminary support for USB Zip drives by porting the
FreeBSD `umass' driver. It mostly works, though there are a few
problems remaining, which I plan on hacking on today (at least some
Here's what it looks like:
umass0 at uhub0 port 1 configuration 1 interface 0
umass0: Iomega USB Zip 100, rev 1.00/1.00, addr 2, iclass 8/6/80
scsibus0 at umass0: 2 targets, 1 luns per target
sd0 at scsibus0 targ 1 lun 0: <IOMEGA, ZIP 100, 02.U> SCSI0 0/direct removable
sd0: 98304 KB, 96 cyl, 64 head, 32 sec, 512 bytes/sect x 196608 sectors
...yes, it's SCSI-Over-USB :-) Eventually, I hope that this can turn into
more generic support for those USB->SCSI dongles that are becoming available.
...it looks like spec says that each Mass Storage device is actually a
separate SCSI bus, with 1 target available for devices (target 1; the
initiator lives at target 0), and N luns (where N is defined by the dongle,
I guess; the USB Zip only has 1).
Anyway, there's more work to do:
* Doesn't handle SCSI sense foo yet.
* Doesn't handle hot-unplug yet.
* Doesn't properly timeout commands yet.
...plus there is a very strange failure mode that I'm seeing when I
boot the machine (a Dell Inspiron 3500 laptop) with the Zip drive plugged
in... I get a `phantom' wd1 instance on the second PCI IDE channel (which
is the same channel which gets the ATAPI CD-ROM drive when it is plugged
in to the CD/Battery bay). I suspect that the BIOS is configuring the
PIIX4 (which has both the IDE and USB controllers) to map the Zip to
an IDE disk, so that it can be booted from! I'm not 100% sure about
this, and I haven't done any research to back this up yet (i.e. haven't
read the PIIX4 manual to see if it even has support for doing this in
the hardware), but somehow it wouldn't surprise me.
Anyhow, have fun with it!
-- Jason R. Thorpe <firstname.lastname@example.org>