Connecting a USB Zip drive -- whatever am I doing wrong?

epilogue epilogue at allstream.net
Fri Jul 16 15:05:22 PDT 2004


hello hardware, stable,

as a last ditch attempt to get my usb zip drive working, i am sending this
one your way.  i have been to questions, but it would appear that they are
pretty much out of suggestions.

i have updated the message to incorporate the latest developments and to
shorten its length.  if you want the originals, pls check here and look for
same subject:

http://lists.freebsd.org/pipermail/freebsd-questions/2004-July/thread.html

hoping dearly that one of you will be able to help me out.


==============
NOTE: i have been through the handbook, the man pages, the various list
archives, across google, and endless tinkering.  i have eliminated the
possibility of hardware problems.  yet, i'm still missing 'something'.
==============


------- uname -a -------
FreeBSD 4.10-RELEASE-p1 i386


------- kernel -------
earlier, i had been using a custom kernel, but i have since switched to
GENERIC, just to make sure that i'm not overlooking any device entries.  as
you know, everything needed to get a usb zip drive working appears in
GENERIC.


------- /etc/rc.conf -------
usbd_enable="YES"   # always, in all tests.


------- booting -------
regardless of the combination of settings (below), having the usb cable
from live zip drive (disk or no disk inserted) plugged-in at boot will
_always_ cause a 30 second pause at the umass0 device, after which the boot
continues normally.

--> snipped dmesg <--
uhub0: Intel UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
umass0: Iomega USB Zip 100, rev 1.00/1.00, addr 2
--> 30 second pause <--
umass0: Get Max Lun not supported (STALLED)   <-- always says STALLED
chip0: <Intel 82371AB Power management controller> port 0x1040-0x104f at
--> continues booting for moment <--

now, with or without the following *.conf settings (+ in any combination),
the boot hangs until the usb cable is removed.

-- /boot/loader.conf --
usb_load="YES" 
umass_load="YES"

-- /etc/usbd.conf --
# the only example i found for an iomega zip entry for usbd.conf was
# in 'man usbd.conf'.  i used that info but corrected the camcontrol path.
device "USB Zip drive"
           product 0x0001
           vendor  0x059b
           release 0x0100
           attach "/sbin/camcontrol rescan bus 0"

--> snipped dmesg <--
ad0: 17301MB <TOSHIBA MK1814GAV> [35152/16/63] at ata0-master UDMA33
acd0: CDROM <TOSHIBA CD-ROM XM-7002B> at ata1-master UDMA33
--> 60-70 seconds pause <--
umass0: BBB reset failed, IOERROR
--> hangs here indefinitely <--

--> if cable yanked, this follows <--
umass0: BBB reset failed, STALLED
umass0: BBB bulk-in clear stall failed, STALLED
umass0: BBB bulk-out clear stall failed, STALLED
umass0: BBB reset failed, STALLED
umass0: BBB bulk-in clear stall failed, STALLED
umass0: BBB bulk-out clear stall failed, STALLED
umass0: BBB reset failed, STALLED
umass0: BBB bulk-in clear stall failed, STALLED
umass0: BBB bulk-out clear stall failed, STALLED
umass0: BBB reset failed, STALLED
umass0: BBB bulk-in clear stall failed, STALLED
umass0: BBB bulk-out clear stall failed, STALLED
--> finishes boot normally <--


------- if i yank the cable before 'BBB reset' fails, i see this -------

umass0: at uhub0 port 1 (addr 2) disconnected
umass0: detached
umass-sim:0:0:0:func_code 0x0901: Invalid target (target needed)
umass-sim:0:0:0:func_code 0x0901: Invalid target (target needed)
umass-sim:0:0:0:func_code 0x0901: Invalid target (target needed)
umass-sim:0:0:0:func_code 0x0901: Invalid target (target needed)
umass-sim:0:0:0:func_code 0x0901: Invalid target (target needed)
Mounting root from ufs:/dev/ad0s2a


------- if i plug in the unit after boot, i get this on console  -------

/kernel: umass0: Iomega USB Zip 100, rev 1.00/1.00, addr 2
/kernel: umass0: Get Max Lun not supported (STALLED)
/kernel: umass0: BBB reset failed, IOERROR


------- usbdevs -v -------

Controller /dev/usb0:
addr 1: full speed, self powered, config 1, UHCI root hub(0x0000),
Intel(0x0000), rev 1.00
  port 1 addr 2: full speed, self powered, config 1, Zip 100(0x0001),  
  Iomega(0x059b), rev 1.00
  port 2 powered


------- ps auxw | grep -i usb -------

root  96  0.0  0.2  940  604  ??  Ss   4:42PM  0:00.00  /usr/sbin/usbd
root    4  0.0  0.0     0    0    ??  DL 12:42PM 0:00.00  (usbtask)
root    3  0.0  0.0     0    0    ??  DL 12:42PM 0:00.00  (usb0)


------- maybe i just need to mount or disklabel? ------- 

well, i have tried just about every combination of:

# mount -t msdos /dev/da* /mnt
msdos: /dev/da*: Device not configured

# disklabel -w -r da0 zip100
disklabel: /dev/da0c: Device not configured

# mount -t msdos /dev/sa* /mnt
msdos: /dev/sa*: Device not configured

# disklabel -w -r sa0 zip100
disklabel: /dev/sa0: Device not configured

# mount -t msdos /dev/usb* /mnt
msdos: /dev/usb*: Block device required

# disklabel -w -r usb0 zip100
disklabel: /dev/usb0: Operation not supported by device


------- camcontrol ------- 

# camcontrol rescan bus 0
Re-scan of bus 0 was successful

# camcontrol rescan 0
Re-scan of bus 0 was successful


---------------

well, that's it.  if there is any further testing i can do or details i can
provide, please let me know.  thank you.


cheers,
epi

p.s.  if we get a solution, i'll be sure to post it back to questions, so
that anyone else having this problem can benefit.


More information about the freebsd-stable mailing list