usb/149934: Transcend JetFlash V85 poor performance

Volodymyr Kostyrko c.kworr at gmail.com
Tue Aug 24 21:50:06 UTC 2010


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

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

 24.08.2010 18:11, Hans Petter Selasky wrote:
 > 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
 
 This one results in:
 
 Aug 25 00:10:17 limbo root: Unknown USB device: vendor 0x058f product 
 0x6387 bus uhub3
 Aug 25 00:10:17 limbo kernel: ugen3.3: <JetFlash> at usbus3
 Aug 25 00:10:17 limbo kernel: umass1: <JetFlash Mass Storage Device, 
 class 0/0, rev 2.00/1.00, addr 3> on usbus3
 Aug 25 00:10:17 limbo kernel: umass1:  SCSI over Bulk-Only; quirks = 0x4100
 Aug 25 00:10:18 limbo kernel: umass1:2:1:-1: Attached to scbus2
 Aug 25 00:10:18 limbo kernel: (probe0:umass-sim1:1:0:0): TEST UNIT 
 READY. CDB: 0 0 0 0 0 0
 Aug 25 00:10:18 limbo kernel: (probe0:umass-sim1:1:0:0): CAM status: 
 SCSI Status Error
 Aug 25 00:10:18 limbo kernel: (probe0:umass-sim1:1:0:0): SCSI status: 
 Check Condition
 Aug 25 00:10:18 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 25 00:10:18 limbo kernel: da4 at umass-sim1 bus 1 scbus2 target 0 lun 0
 Aug 25 00:10:18 limbo kernel: da4: <JetFlash TS4GJFV85 8.07> Removable 
 Direct Access SCSI-2 device
 Aug 25 00:10:18 limbo kernel: da4: 40.000MB/s transfers
 Aug 25 00:10:18 limbo kernel: da4: 3900MB (7987200 512 byte sectors: 
 255H 63S/T 497C)
 
 So how about UQ_MSC_NO_TEST_UNIT_READY?
 
 # usbconfig -d 3.3 dump_device_desc
 ugen3.3: <Mass Storage Device JetFlash> at usbus3, cfg=0 md=HOST 
 spd=HIGH (480Mbps) pwr=ON
 
    bLength = 0x0012
    bDescriptorType = 0x0001
    bcdUSB = 0x0200
    bDeviceClass = 0x0000
    bDeviceSubClass = 0x0000
    bDeviceProtocol = 0x0000
    bMaxPacketSize0 = 0x0040
    idVendor = 0x058f
    idProduct = 0x6387
    bcdDevice = 0x0100
    iManufacturer = 0x0001  <JetFlash>
    iProduct = 0x0002  <Mass Storage Device>
    iSerialNumber = 0x0003  <SZR04MNI>
    bNumConfigurations = 0x0001
 
 # usbconfig -d 3.3 dump_all_config_desc
 ugen3.3: <Mass Storage Device JetFlash> at usbus3, cfg=0 md=HOST 
 spd=HIGH (480Mbps) pwr=ON
 
 
   Configuration index 0
 
      bLength = 0x0009
      bDescriptorType = 0x0002
      wTotalLength = 0x0020
      bNumInterfaces = 0x0001
      bConfigurationValue = 0x0001
      iConfiguration = 0x0000  <no string>
      bmAttributes = 0x0080
      bMaxPower = 0x0032
 
      Interface 0
        bLength = 0x0009
        bDescriptorType = 0x0004
        bInterfaceNumber = 0x0000
        bAlternateSetting = 0x0000
        bNumEndpoints = 0x0002
        bInterfaceClass = 0x0008
        bInterfaceSubClass = 0x0006
        bInterfaceProtocol = 0x0050
        iInterface = 0x0000  <no string>
 
       Endpoint 0
          bLength = 0x0007
          bDescriptorType = 0x0005
          bEndpointAddress = 0x0001  <OUT>
          bmAttributes = 0x0002  <BULK>
          wMaxPacketSize = 0x0200
          bInterval = 0x0000
          bRefresh = 0x0000
          bSynchAddress = 0x0000
 
       Endpoint 1
          bLength = 0x0007
          bDescriptorType = 0x0005
          bEndpointAddress = 0x0082  <IN>
          bmAttributes = 0x0002  <BULK>
          wMaxPacketSize = 0x0200
          bInterval = 0x0000
          bRefresh = 0x0000
          bSynchAddress = 0x0000
 
 -- 
 Sphinx of black quartz judge my vow.


More information about the freebsd-usb mailing list