Subject: usb umass broken for BUSlink?
To: None <tech-kern@netbsd.org>
From: Jesse Off <joff@stchome.com>
List: tech-kern
Date: 07/30/2003 15:50:30
While playing around with a BUSlink USB 2.0 hard drive connected to a
BUSlink (NEC) 5 port PCI USB card (ehci) I noticed the following error
messages printed to the console:

ehci_idone: need toggle update
umass0: Invalid CSW: sig 0xc0c6ee40 should be 0x53425355
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR

This error appears almost randomly and causes any and all file operations
on the mounted filesystem to subsequently fail with EIO after about 30
seconds.  It usually takes between 5-45 minutes for these errors to first
start appearing after mounting, but I can almost always reproduce the
problem immediately by starting a "dd if=/dev/sd0e of=/dev/null bs=64k" in
the background and then run "usbdevs -v" a couple times.  I'll include
this computers dmesg and usbdevs -v output below:

usbdevs -v:

Controller /dev/usb0:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), NEC(0x1033), rev 1.00
 port 1 powered
 port 2 powered
 port 3 powered
Controller /dev/usb1:
addr 1: full speed, self powered, config 1, OHCI root hub(0x0000), NEC(0x1033), rev 1.00
 port 1 powered
 port 2 powered
Controller /dev/usb2:
addr 1: high speed, self powered, config 1, EHCI root hub(0x0000), NEC(0x1033), rev 1.00
 port 1 addr 2: high speed, self powered, config 1, USB2.0 Hard Drive(0x2507), Buslink(0x0caf), rev 0.01
 port 2 powered
 port 3 powered
 port 4 powered
 port 5 powered

dmesg:

NetBSD 1.6.1_STABLE (DELL600SC) #16: Wed Jul 30 13:31:06 MST 2003
    root@angel:/u/src/sys/arch/i386/compile/DELL600SC
cpu0: Intel Pentium 4 (686-class), 1999.87 MHz
cpu0: D-cache 8 KB 64b/line 4-way
cpu0: features ffffffffbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR>
cpu0: features ffffffffbfebfbff<PGE,MCA,CMOV,FGPAT,PSE36,CFLUSH,DS,ACPI,MMX>
cpu0: features ffffffffbfebfbff<FXSR,SSE,SSE2,SS,HTT,TM,B31>
total memory = 511 MB
avail memory = 471 MB
using 6144 buffers containing 26292 KB of memory
BIOS32 rev. 0 found at 0xffe90
mainbus0 (root)
pci0 at mainbus0 bus 0: configuration mode 1
pci0: i/o space, memory space enabled, rd/line, rd/mult, wr/inv ok
pchb0 at pci0 dev 0 function 0
pchb0: ServerWorks CMIC_SL Host (rev. 0x32)
pchb1 at pci0 dev 0 function 1
pchb1: ServerWorks CMIC_SL Host (rev. 0x00)
pci1 at pchb1 bus 255
pci1: no spaces enabled!
wm0 at pci0 dev 2 function 0: Intel i82540EM 1000BASE-T Ethernet, rev. 2
wm0: interrupting at irq 10
wm0: Ethernet address 00:c0:9f:25:70:79
makphy0 at wm0 phy 1: Marvell 88E1011 Gigabit PHY, rev. 3
makphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, 1000baseT, 1000baseT-FDX, auto
ohci0 at pci0 dev 4 function 0: NEC USB Host Controller (rev. 0x41)
ohci0: interrupting at irq 5
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1 at pci0 dev 4 function 1: NEC USB Host Controller (rev. 0x41)
ohci1: interrupting at irq 3
ohci1: OHCI version 1.0
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 4 function 2: NEC USB Host Controller (rev. 0x02)
ehci0: interrupting at irq 5
ehci0: EHCI version 0.95
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
uhub2: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
vga1 at pci0 dev 8 function 0: ATI Technologies Rage XL (rev. 0x27)
wsdisplay0 at vga1 kbdmux 1: console (80x25, vt100 emulation)
wsmux1: connecting to wsdisplay0
pciide0 at pci0 dev 14 function 0: ServerWorks product 0x0217 (rev. 0xa0)
pciide0: bus-master DMA support present, used without full driver support
pciide0: primary channel configured to native-PCI mode
pciide0: using irq 11 for native-PCI interrupt
atapibus0 at pciide0 channel 0: 2 targets
cd0 at atapibus0 drive 0: <SAMSUNG CD-ROM  SC-148C, , B105> type 5 cdrom removable
cd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 2 (Ultra/33)
pciide0: secondary channel wired to native-PCI mode
pciide0: secondary channel ignored (not responding; disabled or no drives?)
pciide0:0:0: using DMA data transfers
pchb2 at pci0 dev 15 function 0
pchb2: ServerWorks product 0x0203 (rev. 0xa0)
pciide1 at pci0 dev 15 function 1: ServerWorks product 0x0213 (rev. 0xa0)
pciide1: bus-master DMA support present, used without full driver support
pciide1: primary channel configured to compatibility mode
pciide1: primary channel interrupting at irq 14
wd0 at pciide1 channel 0 drive 0: <ST340016A>
wd0: drive supports 16-sector PIO transfers, LBA addressing
wd0: 38146 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 78125000 sectors
wd0: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
wd1 at pciide1 channel 0 drive 1: <ST340016A>
wd1: drive supports 16-sector PIO transfers, LBA addressing
wd1: 38146 MB, 16383 cyl, 16 head, 63 sec, 512 bytes/sect x 78125000 sectors
wd1: drive supports PIO mode 4, DMA mode 2, Ultra-DMA mode 5 (Ultra/100)
pciide1: secondary channel configured to compatibility mode
pciide1: secondary channel ignored (not responding; disabled or no drives?)
pciide1:0:0: using DMA data transfers
pciide1:0:1: using DMA data transfers
pcib0 at pci0 dev 15 function 3
pcib0: ServerWorks product 0x0227 (rev. 0x00)
isa0 at pcib0
com0 at isa0 port 0x3f8-0x3ff irq 4: ns16550a, working fifo
pckbc0 at isa0 port 0x60-0x64
pckbd0 at pckbc0 (kbd slot)
pckbc0: using irq 1 for kbd slot
wskbd0 at pckbd0: console keyboard, using wsdisplay0
pms0 at pckbc0 (aux slot)
pckbc0: using irq 12 for aux slot
wsmouse0 at pms0 mux 0
lpt0 at isa0 port 0x378-0x37b irq 7
pcppi0 at isa0 port 0x61
sysbeep0 at pcppi0
npx0 at isa0 port 0xf0-0xff: using exception 16
fdc0 at isa0 port 0x3f0-0x3f7 irq 6 drq 2
fd0 at fdc0 drive 0: 1.44MB, 80 cyl, 2 head, 18 sec
biomask eb6d netmask ef6d ttymask ffef
Kernelized RAIDframe activated
IPsec: Initialized Security Association Processing.
RAID autoconfigure
Configuring raid0:
RAIDFRAME: protectedSectors is 64
RAIDFRAME: Configure (RAID Level 1): total number of sectors is 78012416 (38092 MB)
RAIDFRAME(RAID Level 1): Using 6 floating recon bufs with no head sep limit
umass0 at uhub2 port 1 configuration 1 interface 0
umass0: Buslink USB2.0 Hard Drive, rev 2.00/0.01, addr 2
umass0: using SCSI over Bulk-Only
scsibus0 at umass0: 2 targets, 1 luns per target
scsibus0: waiting 2 seconds for devices to settle...
sd0 at scsibus0 target 1 lun 0: <SAMSUNG, SP8004H, QW10> SCSI0 0/direct fixed
sd0: 76351 MB, 76351 cyl, 64 head, 32 sec, 512 bytes/sect x 156368017 sectors
boot device: raid0
root on raid0a dumps on raid0b
IP Filter: v3.4.29 initialized.  Default = pass all, Logging = enabled
wsdisplay0: screen 1 added (80x25, vt100 emulation)
wsdisplay0: screen 2 added (80x25, vt100 emulation)
wsdisplay0: screen 3 added (80x25, vt100 emulation)
wsdisplay0: screen 4 added (80x25, vt100 emulation)

//Jesse Off