Re: [linux-sunxi] Re: [PATCH] uas: ignore UAS for Norelsys NS1068(X) chips

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




于 2018年1月7日 GMT+08:00 上午6:12:57, Hans de Goede <hdegoede@xxxxxxxxxx> 写到:
>Hi,
>
>On 05-01-18 17:56, Icenowy Zheng wrote:
>> The UAS mode of Norelsys NS1068(X) is reported to fail to work on
>> several platforms with the following error message:
>> 
>> xhci-hcd xhci-hcd.0.auto: ERROR Transfer event for unknown stream
>ring slot 1 ep 8
>> xhci-hcd xhci-hcd.0.auto: @00000000bf04a400 00000000 00000000
>1b000000 01098001
>> 
>> And when trying to mount a partition on the disk the disk will
>> disconnect from the USB controller, then after re-connecting the
>device
>> will be offlined and not working at all.
>> 
>> Falling back to USB mass storage can solve this problem, so ignore
>UAS
>> function of this chip.
>> 
>> Cc: stable@xxxxxxxxxxxxxxx
>> Signed-off-by: Icenowy Zheng <icenowy@xxxxxxx>
>
>A quick internet search shows various problems with this device even
>under
>Windows, so yes this seems like a good idea:
>
>Acked-by: Hans de Goede <hdegoede@xxxxxxxxxx>
>
>> The NS1066 chip from the same vendor seems to also suffer from this
>> problem (its USB ID is 2537:1066) according to the report of Armbian
>> community. However I don't have such device (I have a USB HDD
>enclosure
>> with USB ID 2537:1066, but it doesn't report UAS function at all; as
>> it's
>
>If it has been reported to not work in uas mode then I think adding
>the same quirk for the 1066 device-id is a good idea, can you please
>submit a patch for that?

I don't have such devices, although as Armbian suggests
the 1066 device needs also to be blacklisted.

Maybe we can wait for an unforunate NS1066 user
to add the 1066 ID.

>
>Regards,
>
>Hans
>
>
>
>> 
>> The `lsusb -v` result of my NS1068X is shown below:
>> 
>> Bus 004 Device 002: ID 2537:1068
>> Device Descriptor:
>>    bLength                18
>>    bDescriptorType         1
>>    bcdUSB               3.00
>>    bDeviceClass            0
>>    bDeviceSubClass         0
>>    bDeviceProtocol         0
>>    bMaxPacketSize0         9
>>    idVendor           0x2537
>>    idProduct          0x1068
>>    bcdDevice            1.00
>>    iManufacturer           1 Norelsys
>>    iProduct                2 NS1068
>>    iSerial                 3 0123456789ABCDE
>>    bNumConfigurations      1
>>    Configuration Descriptor:
>>      bLength                 9
>>      bDescriptorType         2
>>      wTotalLength          121
>>      bNumInterfaces          1
>>      bConfigurationValue     1
>>      iConfiguration          0
>>      bmAttributes         0xc0
>>        Self Powered
>>      MaxPower                2mA
>>      Interface Descriptor:
>>        bLength                 9
>>        bDescriptorType         4
>>        bInterfaceNumber        0
>>        bAlternateSetting       0
>>        bNumEndpoints           2
>>        bInterfaceClass         8
>>        bInterfaceSubClass      6
>>        bInterfaceProtocol     80
>>        iInterface              0
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x81  EP 1 IN
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x02  EP 2 OUT
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>      Interface Descriptor:
>>        bLength                 9
>>        bDescriptorType         4
>>        bInterfaceNumber        0
>>        bAlternateSetting       1
>>        bNumEndpoints           4
>>        bInterfaceClass         8
>>        bInterfaceSubClass      6
>>        bInterfaceProtocol     98
>>        iInterface              0
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x83  EP 3 IN
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>          MaxStreams              8
>>          Status pipe (0x02)
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x06  EP 6 OUT
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>          Command pipe (0x01)
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x84  EP 4 IN
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>          MaxStreams              8
>>          Data-in pipe (0x03)
>>        Endpoint Descriptor:
>>          bLength                 7
>>          bDescriptorType         5
>>          bEndpointAddress     0x05  EP 5 OUT
>>          bmAttributes            2
>>            Transfer Type            Bulk
>>            Synch Type               None
>>            Usage Type               Data
>>          wMaxPacketSize     0x0400  1x 1024 bytes
>>          bInterval               0
>>          bMaxBurst              15
>>          MaxStreams              8
>>          Data-out pipe (0x04)
>> Binary Object Store Descriptor:
>>    bLength                 5
>>    bDescriptorType        15
>>    wTotalLength           22
>>    bNumDeviceCaps          2
>>    USB 2.0 Extension Device Capability:
>>      bLength                 7
>>      bDescriptorType        16
>>      bDevCapabilityType      2
>>      bmAttributes   0x00000002
>>        HIRD Link Power Management (LPM) Supported
>>    SuperSpeed USB Device Capability:
>>      bLength                10
>>      bDescriptorType        16
>>      bDevCapabilityType      3
>>      bmAttributes         0x00
>>      wSpeedsSupported   0x000e
>>        Device can operate at Full Speed (12Mbps)
>>        Device can operate at High Speed (480Mbps)
>>        Device can operate at SuperSpeed (5Gbps)
>>      bFunctionalitySupport   1
>>        Lowest fully-functional device speed is Full Speed (12Mbps)
>>      bU1DevExitLat          10 micro seconds
>>      bU2DevExitLat        2047 micro seconds
>> can't get debug descriptor: Resource temporarily unavailable
>> Device Status:     0x0001
>>    Self Powered
>> 
>>   drivers/usb/storage/unusual_uas.h | 7 +++++++
>>   1 file changed, 7 insertions(+)
>> 
>> diff --git a/drivers/usb/storage/unusual_uas.h
>b/drivers/usb/storage/unusual_uas.h
>> index 9c2ee55ad32e..38434d88954a 100644
>> --- a/drivers/usb/storage/unusual_uas.h
>> +++ b/drivers/usb/storage/unusual_uas.h
>> @@ -80,6 +80,13 @@ UNUSUAL_DEV(0x2109, 0x0711, 0x0000, 0x9999,
>>   		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>>   		US_FL_NO_ATA_1X),
>>   
>> +/* Reported-by: Icenowy Zheng <icenowy@xxxxxxx> */
>> +UNUSUAL_DEV(0x2537, 0x1068, 0x0000, 0x9999,
>> +		"Norelsys",
>> +		"NS1068X",
>> +		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
>> +		US_FL_IGNORE_UAS),
>> +
>>   /* Reported-by: Takeo Nakayama <javhera@xxxxxxx> */
>>   UNUSUAL_DEV(0x357d, 0x7788, 0x0000, 0x9999,
>>   		"JMicron",
>> 



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]