Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 24 Aug 2010 17:11:59 +0200
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        freebsd-usb@freebsd.org
Cc:        Volodymyr Kostyrko <c.kworr@gmail.com>, freebsd-gnats-submit@freebsd.org
Subject:   Re: usb/149934: Transcend JetFlash V85 poor performance
Message-ID:  <201008241712.00077.hselasky@c2i.net>
In-Reply-To: <201008241139.o7OBdUO6018203@www.freebsd.org>
References:  <201008241139.o7OBdUO6018203@www.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Tuesday 24 August 2010 13:39:30 Volodymyr Kostyrko wrote:
> >Number:         149934
> >Category:       usb
> >Synopsis:       Transcend JetFlash V85 poor performance
> >Confidential:   no
> >Severity:       non-critical
> >Priority:       low
> >Responsible:    freebsd-usb
> >State:          open
> >Quarter:
> >Keywords:
> >Date-Required:
> >Class:          change-request
> >Submitter-Id:   current-users
> >Arrival-Date:   Tue Aug 24 11:40:02 UTC 2010
> >Closed-Date:
> >Last-Modified:
> >Originator:     Volodymyr Kostyrko
> >Release:        RELENG_8
> >Organization:
> 
> >Environment:
> FreeBSD limbo.lan 8.1-STABLE FreeBSD 8.1-STABLE #0 r211717M: Tue Aug 24
> 12:56:24 EEST 2010     arcade@limbo.lan:/usr/obj/usr/src/sys/MINIMAL_8 
> i386
> 
> >Description:
> When attaching device kernel reports this:
> 
> Aug 21 22:46:15 limbo root: Unknown USB device: vendor 0x058f product
> 0x6387 bus uhub3 Aug 21 22:46:15 limbo kernel: umass1: <JetFlash Mass
> Storage Device, class 0/0, rev 2.00/1.00, addr 3> on usbus3 Aug 21
> 22:46:15 limbo kernel: umass1:  SCSI over Bulk-Only; quirks = 0x0100 Aug
> 21 22:46:16 limbo kernel: umass1:2:1:-1: Attached to scbus2
> Aug 21 22:46:16 limbo kernel: (probe0:umass-sim1:1:0:0): TEST UNIT READY.
> CDB: 0 0 0 0 0 0 Aug 21 22:46:16 limbo kernel: (probe0:umass-sim1:1:0:0):
> CAM status: SCSI Status Error Aug 21 22:46:16 limbo kernel:
> (probe0:umass-sim1:1:0:0): SCSI status: Check Condition Aug 21 22:46:16
> limbo kernel: (probe0:umass-sim1:1:0:0): SCSI sense: UNIT ATTENTION
> asc:28,0 (Not ready to ready change, medium may have changed) Aug 21
> 22:46:16 limbo kernel: da4 at umass-sim1 bus 1 scbus2 target 0 lun 0 Aug
> 21 22:46:16 limbo kernel: da4: <JetFlash TS4GJFV85 8.07> Removable Direct
> Access SCSI-2 device Aug 21 22:46:16 limbo kernel: da4: 40.000MB/s
> transfers
> Aug 21 22:46:16 limbo kernel: da4: 3900MB (7987200 512 byte sectors: 255H
> 63S/T 497C) Aug 21 22:46:24 limbo kernel: (da4:umass-sim1:1:0:0):
> SYNCHRONIZE CACHE(10). CDB: 35 0 0 0 0 0 0 0 0 0 Aug 21 22:46:24 limbo
> kernel: (da4:umass-sim1:1:0:0): CAM status: SCSI Status Error Aug 21
> 22:46:24 limbo kernel: (da4:umass-sim1:1:0:0): SCSI status: Check
> Condition Aug 21 22:46:24 limbo kernel: (da4:umass-sim1:1:0:0): SCSI
> sense: ILLEGAL REQUEST asc:26,0 (Invalid field in parameter list)
> 
> After that any time SYNCHRONIZE CACHE command is issued writing to device
> stops for some time and kernel reports bad command.
> 
> >How-To-Repeat:
> Attaching the device and trying to work with it should suffice.
> 
> >Fix:
> Apply the following patch.
> 
> Patch attached with submission follows:
> 
> Index: sys/dev/usb/quirk/usb_quirk.c
> ===================================================================
> --- sys/dev/usb/quirk/usb_quirk.c	(revision 211717)
> +++ sys/dev/usb/quirk/usb_quirk.c	(working copy)
> @@ -159,6 +159,9 @@
>  	USB_QUIRK(ALCOR, AU6390, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
>  	USB_QUIRK(ALCOR, UMCR_9361, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
>  	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN),
> +	USB_QUIRK(ALCOR, TRANSCEND, 0x0100, 0x0100, UQ_MSC_FORCE_WIRE_BBB,
> +	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN, UQ_MSC_NO_SYNC_CACHE,
> +	    UQ_MSC_NO_TEST_UNIT_READY),
>  	USB_QUIRK(ALCOR, TRANSCEND, 0x0142, 0x0142, UQ_MSC_FORCE_WIRE_BBB,
>  	    UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN, UQ_MSC_NO_SYNC_CACHE),
>  	USB_QUIRK(ALCOR, TRANSCEND, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
> 
> >Release-Note:
> >Audit-Trail:
> 
> >Unformatted:

Can you test this patch instead:

--- sys/dev/usb/quirk/usb_quirk.c      2010-08-10 16:03:19.000000000 0000
+++ sys/dev/usb/quirk/usb_quirk.c   2010-08-10 16:03:19.000000000 0000
@@ -160,10 +160,8 @@
        USB_QUIRK(ALCOR, AU6390, 0x0000, 0xffff, UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(ALCOR, UMCR_9361, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
            UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN),
-       USB_QUIRK(ALCOR, TRANSCEND, 0x0142, 0x0142, UQ_MSC_FORCE_WIRE_BBB,
-           UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN, 
UQ_MSC_NO_SYNC_CACHE),
-       USB_QUIRK(ALCOR, TRANSCEND, 0x0000, 0xffff, UQ_MSC_FORCE_WIRE_BBB,
-           UQ_MSC_FORCE_PROTO_SCSI, UQ_MSC_NO_GETMAXLUN),
+       USB_QUIRK(ALCOR, TRANSCEND, 0x0000, 0xffff, UQ_MSC_NO_GETMAXLUN,
+           UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(APACER, HT202, 0x0000, 0xffff, UQ_MSC_NO_TEST_UNIT_READY,
            UQ_MSC_NO_SYNC_CACHE),
        USB_QUIRK(ASAHIOPTICAL, OPTIO230, 0x0000, 0xffff, 
UQ_MSC_FORCE_WIRE_BBB,

Please also dump device and configuration descriptor using usbconfig.

--HPS



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