New quirk entry for D-Link DNS-313 in USB mode

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

 



Hello,
as told by unusual_devs.h I send this mail to request the inclusion of a
new quirk for my D-Link DNS-313 NAS I use in USB mass storage mode.
Since linux-3.3 (IIRC), the device didn't work anymore because of the
use of READ_CAPACITY_16 SCSI command. The device prepends its reply with
two bytes that prevents a good size detection. With my patch (or
dynamically with quirks set to "2310:6688:e") it works perfectly.
I hope everything is ok with my patch. I don't have
/proc/bus/usb/devices anymore, so I paste below the output of lsusb -v
and I hope it will be a good replacement.
I also have a wireshark/usbmon dump of the bad exchange between host and
faulty device if you need it.
Regards,
Philippe Valembois

Bus 005 Device 002: ID 2310:6688
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               2.00
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x2310
  idProduct          0x6688
  bcdDevice            2.18
  iManufacturer          16 Faraday inc.
  iProduct               32 USB2.0 Storage Device
  iSerial                48 <serial here>
  bNumConfigurations      1
OTG Descriptor:
  bLength                 3
  bDescriptorType         9
  bmAttributes         0x03
    SRP (Session Request Protocol)
    HNP (Host Negotiation Protocol)
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           35
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xe0
      Self Powered
      Remote Wakeup
    MaxPower                0mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         8 Mass Storage
      bInterfaceSubClass      6 SCSI
      bInterfaceProtocol     80 Bulk-Only
      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     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
Device Status:     0x0001
  Self Powered
--- linux/drivers/usb/storage/unusual_devs.h	2012-06-17 00:12:43.085005471 +0200
+++ linux/drivers/usb/storage/unusual_devs.h	2012-06-17 12:48:54.942837003 +0200
@@ -1961,10 +1961,19 @@
 		"Motorola",
 		"MSnc.",
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
 		US_FL_FIX_INQUIRY | US_FL_FIX_CAPACITY | US_FL_BULK_IGNORE_TAG),
 
+/* Reported by Philippe Valembois <lephilousophe@xxxxxxxxxxxxxxxxxxxxx>
+ * D-Link DNS-313 and maybe others : the READ_CAPACITY_16 reply has two 0 bytes prepended to the real reply
+ */
+UNUSUAL_DEV(  0x2310, 0x6688, 0x0218, 0x0218,
+		"Faraday inc.",
+		"USB2.0 Storage Device",
+		USB_SC_DEVICE, USB_PR_DEVICE, NULL,
+		US_FL_NO_READ_CAPACITY_16),
+
 /* Reported by Radovan Garabik <garabik@xxxxxxxxxxxxxxxxxxxxxxxx> */
 UNUSUAL_DEV(  0x2735, 0x100b, 0x0000, 0x9999,
 		"MPIO",
 		"HS200",
 		USB_SC_DEVICE, USB_PR_DEVICE, NULL,

[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux