Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 27 Dec 2011 15:15:24 +0100
From:      =?UTF-8?B?0JzQvtC80YfQuNC7INCY0LLQsNC90L7Qsg==?= <momchil@xaxo.eu>
To:        Hans Petter Selasky <hselasky@c2i.net>
Cc:        freebsd-usb@freebsd.org, Momchil Ivanov <momchil@xaxo.eu>
Subject:   Re: USB problems with 8.2
Message-ID:  <86hb0mw16r.wl%momchil@xaxo.eu>
In-Reply-To: <201112271259.07632.hselasky@c2i.net>
References:  <86ipl3dl5q.wl%momchil@xaxo.eu> <201112271036.24758.hselasky@c2i.net> <86hb0mdyea.wl%momchil@xaxo.eu> <201112271259.07632.hselasky@c2i.net>

next in thread | previous in thread | raw e-mail | index | archive | help

At Tue, 27 Dec 2011 12:59:07 +0100,
Hans Petter Selasky wrote:
> 
> On Tuesday 27 December 2011 12:53:01 Momchil Ivanov wrote:
> > At Tue, 27 Dec 2011 10:36:24 +0100,
> > 
> > Hans Petter Selasky wrote:
> > > Have you tried to use the no-synchronize cache quirk for your drive?
> > 
> > how do I use that?
> > 
> > > Are you using 8-stable?
> > 
> > yes, with sources from about FreeBSD 8.2-STABLE #0: Sat Oct 22 16:07:57
> > CEST 2011.
> 
> Try to update as of today.
> 
> See "usbconfig -h | grep quirk"
> 
> --HPS

I have updated as of today about FreeBSD 8.2-STABLE #1: Tue Dec 27 14:15:28 CET 2011.

here is the relevant output of "lsusb -v" considering the usb drive:

Bus /dev/usb Device /dev/ugen6.2: ID 04fc:0c25 Sunplus Technology Co., Ltd SATALink SPIF225A
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  idVendor           0x04fc Sunplus Technology Co., Ltd
  idProduct          0x0c25 SATALink SPIF225A
  bcdDevice            1.03
  iManufacturer           2 Sunplus Technology Inc.
  iProduct                3 USB to Serial-ATA bridge
  iSerial                 1 Hitachi HT080320BB0F00WDHXNL9A
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           32
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          4 Bulk Only Configuration
    bmAttributes         0xc0
      Self Powered
    MaxPower                2mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk (Zip)
      iInterface              5 Bulk Only Interface
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x81  EP 1 IN
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x02  EP 2 OUT
        bmAttributes            2
          Transfer Type            Bulk
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0200  1x 512 bytes
        bInterval               0
Device Qualifier (for other device speed):
  bLength                10
  bDescriptorType         6
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0 
  bDeviceProtocol         0 
  bMaxPacketSize0        64
  bNumConfigurations      1
can't get debug descriptor: Input/output error
Device Status:     0x0001
  Self Powered


I did the following then:

t61# usbconfig -d ugen6.2 dump_device_quirks | grep -i cache
VID=0x058f PID=0x6387 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x1005 PID=0xb113 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04b4 PID=0x6830 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04cb PID=0x0100 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x05e3 PID=0x0702 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x152d PID=0x2338 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04cf PID=0x8818 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x07c4 PID=0x0400 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x067b PID=0x2506 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x14cd PID=0x6600 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x071b PID=0x3203 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x040d PID=0x6204 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x1058 PID=0x0901 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x0492 PID=0x0140 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x058f PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x090c PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x0bda PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x13fd PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
t61# usbconfig -d ugen6.2 add_quirk UQ_MSC_NO_SYNC_CACHE
t61# usbconfig -d ugen6.2 dump_device_quirks | grep -i cache
VID=0x058f PID=0x6387 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x1005 PID=0xb113 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04b4 PID=0x6830 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04cb PID=0x0100 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x05e3 PID=0x0702 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x152d PID=0x2338 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04cf PID=0x8818 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x07c4 PID=0x0400 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x067b PID=0x2506 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x14cd PID=0x6600 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x071b PID=0x3203 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x040d PID=0x6204 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x1058 PID=0x0901 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x0492 PID=0x0140 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x058f PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x090c PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x0bda PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x13fd PID=0x0000 REVLO=0x0000 REVHI=0xffff QUIRK=UQ_MSC_NO_SYNC_CACHE
VID=0x04fc PID=0x0c25 REVLO=0x0103 REVHI=0x0103 QUIRK=UQ_MSC_NO_SYNC_CACHE


the add_quirk seems to do something since VID=0x04fc appeared at the bottom of the list. But the USB drive stalls again for some seconds after rtorrent hashing about 800MB: the LED on the drive stops blinking, the drive stops making any seek noises, there is no CPU activity and all attempts to "cd" into a directory on the drive get blocked until the device comes back again. As rtorrent continues the hashing after about 4GB of data, the stalls seem to appear more often - every 100-200 MB.

Is there something else I might try?

Note: I was compiling some 100-200 ports last night on the very same drive and that kind of "low speed" load does not seem to make it stall.

Thanks,
Momchil



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?86hb0mw16r.wl%momchil>