Low umass performance with USB 2.0 ports

Eygene A. Ryabinkin freebsd at rea.mbslab.kiae.ru
Tue Aug 30 09:28:21 GMT 2005


  Good day.
 I am observing very low umass performance: when I am trying to move a large
file from/to my USB 2.0 flash that is plugged into the USB 2.0 port: transfer
starts fine at 3.5 Mb/sec, but after some 20 Mbytes it hangs and the process
(dd) stay in the wdrain state. The activity LED on the flash shows no activity.
Operations do continue, but very slow and the most time of the copying process
spends in the wdrain state. All attempts to invoke `sync` or to see the
file state via `ls` are hanging until `dd` leaves the wdrain state.
 It does not matter what flash is used: I tried Apacer and the Kingmax ones --
the result is the same.
 If I plug the flash into the USB 1.1 port and trying to move some data -- it
works fine, no hangs. Speed is 500 Kb/sec.
 Seems like others do have this problem:
  http://lists.freebsd.org/pipermail/freebsd-usb/2005-May/001052.html
 USB 2.0 controller is Promise PCI (NEC chipset), USB 1.1 chipset is onboard
VIA.
 My dmesg output is:
-----
Copyright (c) 1992-2005 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 5.4-STABLE #2: Tue Aug 30 11:34:26 MSD 2005
    XXXXXXXX:/usr/src/sys/i386/compile/GENERIC
ACPI APIC Table: <ASUS   CUV4X-D >
Timecounter "i8254" frequency 1193182 Hz quality 0
CPU: Intel Pentium III (1004.52-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 2147467264 (2047 MB)
avail memory = 2096017408 (1998 MB)
FreeBSD/SMP: Multiprocessor System Detected: 2 CPUs
 cpu0 (BSP): APIC ID:  3
 cpu1 (AP): APIC ID:  0
ioapic0 <Version 1.1> irqs 0-23 on motherboard
acpi0: <ASUS CUV4X-D> on motherboard
acpi0: Power Button (fixed)
Timecounter "ACPI-fast" frequency 3579545 Hz quality 1000
acpi_timer0: <24-bit timer at 3.579545MHz> port 0xe408-0xe40b on acpi0
cpu0: <ACPI CPU> on acpi0
cpu1: <ACPI CPU> on acpi0
acpi_button0: <Power Button> on acpi0
pcib0: <ACPI Host-PCI bridge> port 0xcf8-0xcff on acpi0
pci0: <ACPI PCI bus> on pcib0
agp0: <VIA 82C691 (Apollo Pro) host to PCI bridge> mem 0xfe000000-0xfe7fffff at device 0.0 on pci0
pcib1: <ACPI PCI-PCI bridge> at device 1.0 on pci0
pci1: <ACPI PCI bus> on pcib1
drm0: <ATI Radeon If R250 9000> port 0xd800-0xd8ff mem 0xdf000000-0xdf00ffff,0xf0000000-0xf7ffffff irq 16 at device 0.0 on pci1
info: [drm] AGP at 0xfe000000 8MB
info: [drm] Initialized radeon 1.11.0 20020828 on minor 0
pci1: <display> at device 0.1 (no driver attached)
isab0: <PCI-ISA bridge> at device 4.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <VIA 82C686B UDMA100 controller> port 0xb800-0xb80f,0x376,0x170-0x177,0x3f6,0x1f0-0x1f7 at device 4.1 on pci0
ata0: channel #0 on atapci0
ata1: channel #1 on atapci0
uhci0: <VIA 83C572 USB controller> port 0xb400-0xb41f irq 5 at device 4.2 on pci0
usb0: <VIA 83C572 USB controller> on uhci0
usb0: USB revision 1.0
uhub0: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
uhci1: <VIA 83C572 USB controller> port 0xb000-0xb01f irq 5 at device 4.3 on pci0
usb1: <VIA 83C572 USB controller> on uhci1
usb1: USB revision 1.0
uhub1: VIA UHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
pcm0: <Creative Audigy 2 (EMU10K2)> port 0xa800-0xa83f irq 19 at device 9.0 on pci0
pcm0: <SigmaTel STAC9750/51 AC97 Codec>
pci0: <serial bus, FireWire> at device 9.2 (no driver attached)
pci0: <serial bus, USB> at device 10.0 (no driver attached)
pci0: <serial bus, USB> at device 10.1 (no driver attached)
ehci0: <NEC uPD 720100 USB 2.0 controller> mem 0xdc000000-0xdc0000ff irq 16 at device 10.2 on pci0
usb2: EHCI version 1.0
usb2: wrong number of companions (2 != 0)
usb2: <NEC uPD 720100 USB 2.0 controller> on ehci0
usb2: USB revision 2.0
uhub2: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
umass0: vendor 0x1005 USB FLASH DRIVE, rev 2.00/0.84, addr 2
em0: <Intel(R) PRO/1000 Network Connection, Version - 1.7.35> port 0xa000-0xa03f mem 0xdb000000-0xdb01ffff,0xdb800000-0xdb81ffff irq 17 at device 11.0 on pci0
em0: Ethernet address: 00:07:e9:09:5a:82
em0:  Speed:N/A  Duplex:N/A
atapci1: <Promise PDC20375 SATA150 controller> port 0x9000-0x907f,0x9400-0x940f,0x9800-0x983f mem 0xda000000-0xda01ffff,0xda800000-0xda800fff irq 19 at device 13.0 on pci0
atapci1: failed: rid 0x20 is memory, requested 4
ata2: channel #0 on atapci1
ata3: channel #1 on atapci1
ata4: channel #2 on atapci1
fdc0: <floppy drive controller> port 0x3f7,0x3f2-0x3f5 irq 6 drq 2 on acpi0
fd0: <1440-KB 3.5" drive> on fdc0 drive 0
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
atkbdc0: <Keyboard controller (i8042)> port 0x64,0x60 irq 1 on acpi0
atkbd0: <AT Keyboard> irq 1 on atkbdc0
kbd0 at atkbd0
psm0: <PS/2 Mouse> irq 12 on atkbdc0
psm0: model IntelliMouse, device ID 3
npx0: <math processor> on motherboard
npx0: INT 16 interface
orm0: <ISA Option ROMs> at iomem 0xcc000-0xcd7ff,0xc0000-0xcafff on isa0
pmtimer0 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
fb0 at vga0
ulpt0: Xerox Corporation Xerox Phaser 3130, rev 2.00/1.00, addr 2, iclass 7/1
ulpt0: using bi-directional mode
Timecounters tick every 1.000 msec
ipfw2 initialized, divert disabled, rule-based forwarding disabled, default to deny, logging limited to 1000 packets/entry by default
ad0: 76319MB <ST380011A/3.54> [155061/16/63] at ata0-master UDMA100
acd0: DVDR <PIONEER DVD-RW DVR-108/1.14> at ata0-slave PIO4
ad2: 114498MB <SAMSUNG SP1213N/TL100-24> [232632/16/63] at ata1-master UDMA100
ad4: 114498MB <SAMSUNG SP1213C/SV100-30> [232632/16/63] at ata2-master SATA150
SMP: AP CPU #1 Launched!
da0 at umass-sim0 bus 0 target 0 lun 0
da0: <USB FLASH DRIVE \\000\\000\\000?> Removable Direct Access SCSI-0 device 
da0: 40.000MB/s transfers
da0: 247MB (506880 512 byte sectors: 64H 32S/T 247C)
cd0 at ata0 bus 0 target 1 lun 0
cd0: <PIONEER DVD-RW  DVR-108 1.14> Removable CD-ROM SCSI-0 device 
cd0: 16.000MB/s transfers
cd0: Attempt to query device size failed: NOT READY, Medium not present
umass0: Phase Error, residue = 0
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
umass0: Phase Error, residue = 0
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
umass0: Phase Error, residue = 0
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
umass0: Phase Error, residue = 0
(da0:umass-sim0:0:0:0): Synchronize cache failed, status == 0x4, scsi status == 0x0
Mounting root from ufs:/dev/ad0s1a
em0: Link is up 100 Mbps Full Duplex
info: [drm] Loading R200 Microcode
-----
-- 
 rea


More information about the freebsd-hackers mailing list