usb/149934: Transcend JetFlash V85 poor performance

Hans Petter Selasky hselasky at c2i.net
Tue Aug 24 15:20:03 UTC 2010


The following reply was made to PR usb/149934; it has been noted by GNATS.

From: Hans Petter Selasky <hselasky at c2i.net>
To: freebsd-usb at freebsd.org
Cc: Volodymyr Kostyrko <c.kworr at gmail.com>,
 freebsd-gnats-submit at freebsd.org
Subject: Re: usb/149934: Transcend JetFlash V85 poor performance
Date: Tue, 24 Aug 2010 17:11:59 +0200

 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 at 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


More information about the freebsd-usb mailing list