Subject: Re: usb umass broken for BUSlink?
To: Jesse Off <joff@stchome.com>
From: Lennart Augustsson <lennart@augustsson.net>
List: tech-kern
Date: 07/31/2003 16:54:46
I notice that you're using the EHCI driver, which I make no promises 
about. :)
Does this appear using the OHCI driver as well?  The easiest way to try it
would be to put a hub between the disk and the computer.

    -- Lennart

Jesse Off wrote:

>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
>
>  
>