Bug 98343

Summary: [boot] BBB reset failed errors with Creative Muvo MP3 player; can't boot with external USB 2.0 drive powered up
Product: Base System Reporter: William Denton <wtd>
Component: usbAssignee: freebsd-usb (Nobody) <usb>
Status: Open ---    
Severity: Affects Only Me    
Priority: Normal    
Version: 6.1-STABLE   
Hardware: Any   
OS: Any   

Description William Denton 2006-06-02 03:00:31 UTC
(I sent this to freebsd-stable then realized it should be PR.)

I recently got a new motherboard and now I have trouble with USB.  I had no
problems with my two USB drives before, but now a) I can't boot with my
external USB hard drive connected and powered on, and b) moving files onto
my Creative MP3 player causes that file system to hang.  This second problem
seems to be the same as was mentioned on freebsd-stable
<http://docs.FreeBSD.org/cgi/mid.cgi?iiuui3-q31.ln1> and also PR usb/89087.

The new motherboard is an ASUS P5S800-VM and the BIOS is right up to date.
It comes with USB 2.0 built in.  I'm running FreeBSD 6.1-STABLE, and built a
new world on 6 May, after I got this new mobo home.  A healthy dmesg is at
the bottom of this message.

I saw some talk on mailing lists about ACPI being related to this kind of
thing, so I tried booting without it (with "unset acpi_load" at the boot
prompt) and it panicked, which wasn't helpful.

a) Timeouts and failures when booting with external USB hard drive plugged
in and turned on.

I have a Maxtor drive in an external USB 2.0 enclosure.  When it's connected
and turned on, I cannot boot. The different bits from dmesg look like this:

[same stuff as usual up to this point; see below]
uhub3: 8 ports with 8 removable, self powered
[ten-second or so delay, which I don't see on a normal boot]
atapci1: <SiS 181 SATA150 controller> port
0xeff0-0xeff7,0xefe4-0xefe7,0xefa8-0xefaf,0xefe0-0xefe3,0xef90-0xef9f,0xe480
-0xe4ff irq 17 at device 5.0 on pci0
[continues as normal until ...]
ad0: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata0-master UDMA133
ad1: 19092MB <WDC WD200BB-00CAA0 16.06V16> at ata0-slave UDMA100
acd0: CDRW <HL-DT-ST GCE-8526B/1.03> at ata1-master UDMA33
pcm0: ac97 link rate calibration timed out after 1952041 us
ad0: TIMEOUT - READ_DMA retrying (1 retry left) LBA=0
ad0: TIMEOUT - READ_DMA retrying (0 retries left) LBA=0
ad0: TIMEOUT - FAILURE [something]
ad1: TIMEOUT - READ_DMA retrying (1 retry left) LBA=0
ad1: TIMEOUT - READ_DMA retrying (0 retries left) LBA=0
ad1: TIMEOUT - FAILUER [someting]
[repeats two more times]
acd0: TIMEOUT - READ_BIG retrying (1 retry left)
[acd0 TIMEOUTs and FAILURES repeated many times]

I usually don't see that pcm0 warning.  Finally after lots of errors I have
to power cycle it.  I can boot with the USB hard drive turned off, and then
turn it on and mount it normally, in which case I see:

umass0: vendor 0x04b4 USB Mass Storage Device, rev 2.00/2.40, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <Maxtor 6 L160P0 0000> Fixed Direct Access SCSI-0 device
da0: 40.000MB/s transfers
da0: 156334MB (320173056 512 byte sectors: 255H 63S/T 19929C)

I have no trouble moving files on or off the drive after that, so it's
annoying that I have to worry about it when I boot, but it's still usable.

b) USB Creative Muvo TX FM hangs: BBB reset failed, TIMEOUT

I have an MP3 player that has a 1 GB flash drive, and it is no longer usable
on this box.  Here's what it is:

umass0: CREATIVE MuVo TX FM, rev 2.00/11.91, addr 2
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <CREATIVE MuVo TX FM 1191> Removable Direct Access SCSI-4 device
da0: 40.000MB/s transfers
da0: 993MB (2035456 512 byte sectors: 64H 32S/T 993C)

When I mount the file and moves some files onto it, after a couple of files,
it stops and hangs. I can't access the file system any more, and get these
errors:

umass0: BBB reset failed, TIMEOUT
umass0: BBB bulk-in clear stall failed, TIMEOUT
umass0: BBB bulk-out clear stall failed, IOERROR
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR
umass0: BBB reset failed, IOERROR
umass0: BBB bulk-in clear stall failed, IOERROR
umass0: BBB bulk-out clear stall failed, IOERROR

That continues on and I have to reboot, at which point I see scores of
errors like this:

g_vfs_done():da0[WRITE(offset=995237848, length=4096)]error = 5

Then I get more BBB reset failed messages, and I have to power cycle.

As I said, I used to be able to use this just fine with my old mobo, and my
other FreeBSD 6.1-STABLE box can handle it without trouble.



Copyright (c) 1992-2006 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
        The Regents of the University of California. All rights reserved.
FreeBSD 6.1-STABLE #4: Sat May  6 22:18:56 EDT 2006
    buff@sherlock.miskatonic.org:/usr/obj/usr/src/sys/SHERLOCK
ACPI APIC Table: <A M I  OEMAPIC >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel(R) Pentium(R) 4 CPU 2.66GHz (2653.54-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0xf49  Stepping = 9
  Features=0xbfebfbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,M
CA,CMOV,PAT,PSE36,CLFLUSH,DTS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE>
  Features2=0x651d<SSE3,RSVD2,MON,DS_CPL,TM2,CNTX-ID,CX16,<b14>>
  AMD Features=0x20000000<LM>
  AMD Features2=0x1<LAHF>
real memory  = 1576730624 (1503 MB)
avail memory = 1535930368 (1464 MB)
ioapic0 <Version 1.1> irqs 0-23 on motherboard
acpi0: <A M I OEMXSDT> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0x808-0x80b on acpi0
cpu0: <ACPI CPU> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <SiS 661 host to AGP bridge> mem 0xe0000000-0xe3ffffff at device 0.0
on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
pci1: <display, VGA> at device 0.0 (no driver attached)
isab0: <PCI-ISA bridge> at device 2.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <SiS 964 UDMA133 controller> port
0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xffa0-0xffaf at device 2.5 on pci0
ata0: <ATA channel 0> on atapci0
ata1: <ATA channel 1> on atapci0
pcm0: <SiS 7012> port 0xe800-0xe8ff,0xec00-0xec7f irq 18 at device 2.7 on
pci0
pcm0: <Avance Logic ALC655 AC97 Codec>
ohci0: <SiS 5571 USB controller> mem 0xdfff4000-0xdfff4fff irq 20 at device
3.0 on pci0
ohci0: [GIANT-LOCKED]
usb0: OHCI version 1.0, legacy support
usb0: <SiS 5571 USB controller> on ohci0
usb0: USB revision 1.0
uhub0: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1: <SiS 5571 USB controller> mem 0xdfff5000-0xdfff5fff irq 21 at device
3.1 on pci0
ohci1: [GIANT-LOCKED]
usb1: OHCI version 1.0, legacy support
usb1: <SiS 5571 USB controller> on ohci1
usb1: USB revision 1.0
uhub1: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 3 ports with 3 removable, self powered
ohci2: <SiS 5571 USB controller> mem 0xdfff6000-0xdfff6fff irq 22 at device
3.2 on pci0
ohci2: [GIANT-LOCKED]
usb2: OHCI version 1.0, legacy support
usb2: <SiS 5571 USB controller> on ohci2
usb2: USB revision 1.0
uhub2: SiS OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub2: 2 ports with 2 removable, self powered
ehci0: <EHCI (generic) USB 2.0 controller> mem 0xdfff7000-0xdfff7fff irq 23
at device 3.3 on pci0
ehci0: [GIANT-LOCKED]
usb3: EHCI version 1.0
usb3: companion controllers, 3 ports each: usb0 usb1 usb2
usb3: <EHCI (generic) USB 2.0 controller> on ehci0
usb3: USB revision 2.0
uhub3: SiS EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub3: 8 ports with 8 removable, self powered
atapci1: <SiS 181 SATA150 controller> port
0xeff0-0xeff7,0xefe4-0xefe7,0xefa8-0xefaf,0xefe0-0xefe3,0xef90-0xef9f,0xe480
-0xe4ff irq 17 at device 5.0 on pci0
ata2: <ATA channel 0> on atapci1
ata3: <ATA channel 1> on atapci1
rl0: <RealTek 8139 10/100BaseTX> port 0xe000-0xe0ff mem
0xdfff3800-0xdfff38ff irq 19 at device 11.0 on pci0
miibus0: <MII bus> on rl0
rlphy0: <RealTek internal media interface> on miibus0
rlphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
rl0: Ethernet address: 00:15:f2:5b:d3:d5
acpi_button0: <Power Button> on acpi0
atkbdc0: <Keyboard controller (i8042)> port 0x60,0x64 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
atkbd0: [GIANT-LOCKED]
psm0: <PS/2 Mouse> flags 0x200 irq 12 on atkbdc0
psm0: [GIANT-LOCKED]
psm0: model Generic PS/2 mouse, device ID 0
fdc0: <floppy drive controller (FDE)> port 0x3f0-0x3f5,0x3f7 irq 6 drq 2 on
acpi0
fdc0: [FAST]
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
ppc0: <ECP parallel printer port> port 0x378-0x37f,0x778-0x77b irq 7 drq 3
on acpi0
ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode
ppc0: FIFO with 16/16/9 bytes threshold
ppbus0: <Parallel port bus> on ppc0
ppbus0: IEEE1284 device found /NIBBLE/PS2/ECP
Probing for PnP devices on ppbus0:
ppbus0: <Brother HL-2040 series> PRINTER PJL,HBP
plip0: <PLIP network interface> on ppbus0
lpt0: <Printer> on ppbus0
lpt0: Interrupt-driven port
ppi0: <Parallel I/O> on ppbus0
sio0: <16550A-compatible COM port> port 0x3f8-0x3ff irq 4 flags 0x10 on
acpi0
sio0: type 16550A
sio1: <16550A-compatible COM port> port 0x2f8-0x2ff irq 3 on acpi0
sio1: type 16550A
pmtimer0 on isa0
orm0: <ISA Option ROM> at iomem 0xc0000-0xc7fff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x300>
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
Timecounter "TSC" frequency 2653536680 Hz quality 800
Timecounters tick every 1.000 msec
ad0: 39205MB <Maxtor 6E040L0 NAR61HA0> at ata0-master UDMA133
ad1: 19092MB <WDC WD200BB-00CAA0 16.06V16> at ata0-slave UDMA100
acd0: CDRW <HL-DT-ST GCE-8526B/1.03> at ata1-master UDMA33
Trying to mount root from ufs:/dev/ad0s2a

How-To-Repeat: Sit at my computer and try to boot with the external hard drive powered
up, or try to move files on and off the Creative MP3 player.  It seems to
be something about my motherboard and devices.
Comment 1 mah 2009-01-13 20:14:28 UTC
I tried 7.0 Release and 7.1 Release and here as well, writing to pen
drives is unreliable enough to be unusable.


How to repeat:

- Insert a pen drive formatted to UFS2 [*].

- Mount it.

- Write files. dd, cp, scp, whatever.

[*] To format the drive I had to format a disk image an dd' this out to
the drive on Linux.


What happens:

Typically after 2 or 3 MB, write operations hang. Looking at system
messages (dmsg), I get:

umass1: BBB reset failed, TIMEOUT
(null): at uhub0 port 2 (addr 2) disconnected
umass1: BBB reset failed, TIMEOUT
umass1: BBB reset failed, TIMEOUT
umass1: BBB reset failed, TIMEOUT
umass1: BBB reset failed, TIMEOUT
g_vfs_done():da1s1[WRITE(offset=65536, length=2048)]error = 5
g_vfs_done():da1s1[WRITE(offset=6144000, length=2048)]error = 5
g_vfs_done():da1s1[WRITE(offset=963479552, length=8192)]error = 5
g_vfs_done():da1s1[WRITE(offset=963487744, length=2048)]error = 5
g_vfs_done():da1s1[WRITE(offset=963489792, length=2048)]error = 5
[... repeated more often]


Additional infos:

The drive works flawlessly on several other computers, including Linux
and Mac OS X.

I'd be glad to debug this, but I need a few hints on how to do this.



My system (custom kernel):

FreeBSD 7.0-RELEASE #0: Tue Jan 13 19:49:33 GMT-2 2009
    root@freebsdfortinybsd.jump-ing.de:/usr/obj/usr/src/sys/TINYBSD
Timecounter "i8254" frequency 1193124 Hz quality 0
CPU: Geode(TM) Integrated Processor by AMD PCS (498.03-MHz 586-class
CPU)
  Origin = "AuthenticAMD"  Id = 0x5a2  Stepping = 2
  Features=0x88a93d<FPU,DE,PSE,TSC,MSR,CX8,SEP,PGE,CMOV,CLFLUSH,MMX>
  AMD Features=0xc0400000<MMX+,3DNow!+,3DNow!>
real memory  = 469434368 (447 MB)
avail memory = 437276672 (417 MB)
K6-family MTRR support enabled (2 registers)
[...]
da1 at umass-sim1 bus 1 target 0 lun 0
da1: < USB DISK 30X PMAP> Removable Direct Access SCSI-0 device 
da1: 40.000MB/s transfers
da1: 1968MB (4030464 512 byte sectors: 255H 63S/T 250C)
[...]
Comment 2 mah 2009-02-15 11:04:45 UTC
All my USB pen drive trouble disappeared after installing (parts of)  
Hans Petter Selasky's i4b package (which is currently introduced as  
usb2 into Current/8):

cd /usr
svn --username anonsvn --password anonsvn \
       checkout svn://svn.turbocat.net/i4b/trunk/i4b
cd i4b/FreeBSD.usb2
make S=../src package
make install

Then build a new kernel (same kernel config), install it and you  
should be done. I've tested OHCI and EHCI, both didn't show a single  
mistake after an hour of formatting and shuffling hundreds of  
megabytes of files around. Thanks a lot to Hans Petter.
Comment 3 Eitan Adler freebsd_committer freebsd_triage 2017-12-31 08:00:39 UTC
For bugs matching the following criteria:

Status: In Progress Changed: (is less than) 2014-06-01

Reset to default assignee and clear in-progress tags.

Mail being skipped