1.fix Vodafone K4505 3G dongle USB switch faild
authorxxh <xxh@rock-chips.com>
Tue, 7 May 2013 12:35:01 +0000 (20:35 +0800)
committerxxh <xxh@rock-chips.com>
Tue, 7 May 2013 12:35:01 +0000 (20:35 +0800)
       2.Add more VID PID for option driver

drivers/base/devices_filter.h
drivers/usb/serial/option.c
drivers/usb/storage/initializers.c
drivers/usb/storage/initializers.h
drivers/usb/storage/unusual_devs.h

index bfc13bcf139d1485c1a99e775a7f8067f86e2eeb..006fe3dca3f928a809d0a62b674111f6c7a8b01c 100644 (file)
@@ -80,7 +80,8 @@ static usb_parameter skip_device_list[] = {
 
        {0x0685, 0x7000, NULL, NULL, NULL},
 
-//     {0x20A6, 0xF00E, NULL, NULL, NULL},
+       {0x20A6, 0xF00E, NULL, NULL, NULL},
+       {0x20A6, 0x1105, NULL, NULL, NULL},
        {0x1614, 0x0800, NULL, NULL, NULL},
        //begain add by xxh
         {0x1A8D, 0x2000, NULL, NULL, NULL},
@@ -104,7 +105,17 @@ static usb_parameter skip_device_list[] = {
            {0x19d2, 0x1216, NULL, NULL, NULL},         
                {0x19d2, 0x1218, NULL, NULL, NULL},
                {0x05c6, 0x9000, NULL, NULL, NULL},
-   //end xxh            
+               {0x19d2, 0x0016, NULL, NULL, NULL},//MF110
+               {0x1C9E, 0x9914, NULL, NULL, NULL},//SMART BRO WM66E
+               {0x2077, 0xF000, NULL, NULL, NULL},
+        {0x2077, 0xA000, NULL, NULL, NULL},//beyond
+           {0x12d1, 0x140b, NULL, NULL, NULL},//EC122 India
+           {0x19D2, 0x1266, NULL, NULL, NULL},//MF190U
+           {0x19D2, 0x1514, NULL, NULL, NULL},
+        {0x19D2, 0x1515, NULL, NULL, NULL},//MF195
+               {0x1bbb, 0xf017, NULL, NULL, NULL},
+               {0x19d2, 0x0117, NULL, NULL, NULL},
+               //end xxh
 };
 
 /* 1 - match
index bccaea8aa696b74f30bd7a29f31055617913c701..e24a7794c79277fa35121cf04f764db1811d0339 100755 (executable)
@@ -1371,6 +1371,9 @@ static const struct usb_device_id option_ids[] = {
    { USB_DEVICE(0x0421,0x0612)},
    { USB_DEVICE(0x19d2,0x1218)},
    { USB_DEVICE(HAIER_VENDOR_ID, HAIER_PRODUCT_IE701)},
+   { USB_DEVICE(0x1C9E,0x9914)},
+   { USB_DEVICE(0x19d2,0x1515)},
+   { USB_DEVICE(0x1bbb,0x0012)},
 //xxh end
 
 
index 16b0bf055eeb08427436841fc784b07554dd27cc..56f607f1d874617d1c4e7854c74f63ff5b54c900 100644 (file)
@@ -176,3 +176,18 @@ int usb_stor_huawei_init(struct us_data *us)
        }
        return result;
 }
+
+int usb_stor_zte_k4505_init(struct us_data *us)
+ {
+               int result = 0;
+               int act_len = 0;
+               unsigned char cmd[32] = {
+                                0x55,0x53,0x42,0x43,0x12,0x34,0x56,0x78,
+                                0x00,0x00,0x00,0x00,0x00,0x00,0x06,0x1b,
+                                0x00,0x00,0x00,0x02,0x00,0x00,0x00,0x00,
+                                0x00,0x00,0x00,0x00,0x00,0x00,0x00
+                                };
+               result = usb_stor_bulk_transfer_buf (us, us->send_bulk_pipe, cmd, 31,&act_len);
+           printk("usb_stor_bulk_transfer_buf performing result is %d, transfer the actual length=%d\n", result, act_len);
+               return (result ? 0 : -ENODEV);
+}
index 5376d4fc76f04c25092244765237f94f44456ba1..87ea5bc302ec0a131c14c941c06380f5a9db12dd 100644 (file)
@@ -48,3 +48,5 @@ int usb_stor_ucr61s2b_init(struct us_data *us);
 
 /* This places the HUAWEI usb dongles in multi-port mode */
 int usb_stor_huawei_init(struct us_data *us);
+
+int usb_stor_zte_k4505_init(struct us_data *us);
index 12640efcf82dd986c0b8b6e92bbf680c305b7f74..a6c3f5c0cd8df1730c19ac96f8415244ecfc0026 100644 (file)
@@ -1521,6 +1521,22 @@ UNUSUAL_VENDOR_INTF(0x12d1, 0x08, 0x06, 0x50,
                USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_huawei_init,
                0),
 
+UNUSUAL_DEV(0x19d2, 0x1007, 0x0000, 0xffff,
+         "ZTE EJECT CDROM",
+         "USB MMC Storage",
+         USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_zte_k4505_init,
+        0),
+UNUSUAL_DEV(0x19d2, 0x1175, 0x0000, 0xffff,
+          "ZTE EJECT CDROM",
+          "USB MMC Storage",
+          USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_zte_k4505_init,
+         0),
+UNUSUAL_DEV(0x19d2, 0x0101, 0x0000, 0xffff,
+          "ZTE EJECT CDROM",
+                 "USB MMC Storage",
+          USB_SC_DEVICE, USB_PR_DEVICE, usb_stor_zte_k4505_init,
+         0),
+
 /* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
 UNUSUAL_DEV(  0x132b, 0x000b, 0x0001, 0x0001,
                "Minolta",