USB problems with 8.2
Hans Petter Selasky
hselasky at c2i.net
Tue Dec 27 14:20:10 UTC 2011
On Tuesday 27 December 2011 15:15:24 Момчил Иванов wrote:
> 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?
Did you check for errors in dmesg?
Also have you tried setting:
hw.usb.ehci.lostintrbug=1
in /boot/loader.conf
?
--HPS
More information about the freebsd-usb
mailing list