Low umass performance with USB 2.0 ports

João Carlos Mendes Luís jonny at jonny.eng.br
Tue Aug 30 21:13:17 GMT 2005


Eygene A. Ryabinkin wrote:
>   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:
...
> 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

     I had exactly this problem with Kingston Data Traveler II+, and 
apparently completely solved it by adding a kludge to disallow Cache 
Syncronization.  Try it yourself.


More information about the freebsd-hackers mailing list