Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 30 Aug 2005 18:12:46 -0300
From:      =?UTF-8?B?Sm/Do28gQ2FybG9zIE1lbmRlcyBMdcOtcw==?= <jonny@jonny.eng.br>
To:        "Eygene A. Ryabinkin" <freebsd@rea.mbslab.kiae.ru>
Cc:        hackers@freebsd.org, freebsd-usb@freebsd.org
Subject:   Re: Low umass performance with USB 2.0 ports
Message-ID:  <4314CBCE.7010405@jonny.eng.br>
In-Reply-To: <20050830092818.GD881@rea.mbslab.kiae.ru>
References:  <20050830092818.GD881@rea.mbslab.kiae.ru>

next in thread | previous in thread | raw e-mail | index | archive | help
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.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4314CBCE.7010405>