Phil,
Thank you for accept the unusual_devs.h portion of the previous patch.
Greg,
This is the updated patch, please check it.
best wishes
Linlei
Huawei Technologies
Wireless Terminal R&D Dept
This patch make the HUAWEI E220 device to map out three ports instead of only
one virtural cd port.
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
CC: [EMAIL PROTECTED]
CC: fangxiaozhi <[EMAIL PROTECTED]>
Signed-off-by: fangxiaozhi <fangxiaozhi60675.huawei.com>
----------------------------------------
diff -urN -X linux-2.6.21.1-vanilla/Documentation/dontdiff
linux-2.6.21.1-vanilla/drivers/usb/storage/initializers.c
linux-2.6.21.1/drivers/usb/storage/initializers.c
--- linux-2.6.21.1-vanilla/drivers/usb/storage/initializers.c 2007-04-28
05:49:26.000000000 +0800
+++ linux-2.6.21.1/drivers/usb/storage/initializers.c 2007-06-26
23:43:54.000000000 +0800
@@ -90,3 +90,16 @@
return (res ? -1 : 0);
}
+
+/* This places the HUAWEI E220 devices in multi-port mode */
+int usb_stor_switch_ports_init(struct us_data *us)
+{
+ int result = 0;
+ us->iobuf[0] = 0x1;
+ result = usb_control_msg(us->pusb_dev, usb_sndctrlpipe(us->pusb_dev, 0),
+ USB_REQ_SET_FEATURE, USB_TYPE_STANDARD | USB_RECIP_DEVICE,
+ 0x01, 0x0, us->iobuf, 0x1, 1000);
+ US_DEBUGP("usb_control_msg performing result is %d\n", result);
+ return (result ? 0 : -1);
+}
+
diff -urN -X linux-2.6.21.1-vanilla/Documentation/dontdiff
linux-2.6.21.1-vanilla/drivers/usb/storage/initializers.h
linux-2.6.21.1/drivers/usb/storage/initializers.h
--- linux-2.6.21.1-vanilla/drivers/usb/storage/initializers.h 2007-04-28
05:49:26.000000000 +0800
+++ linux-2.6.21.1/drivers/usb/storage/initializers.h 2007-06-25
23:01:18.000000000 +0800
@@ -47,3 +47,6 @@
/* This function is required to activate all four slots on the UCR-61S2B
* flash reader */
int usb_stor_ucr61s2b_init(struct us_data *us);
+
+/* This places the HUAWEI E220 devices in multi-port mode */
+int usb_stor_switch_ports_init(struct us_data *us);
diff -urN -X linux-2.6.21.1-vanilla/Documentation/dontdiff
linux-2.6.21.1-vanilla/drivers/usb/storage/unusual_devs.h
linux-2.6.21.1/drivers/usb/storage/unusual_devs.h
--- linux-2.6.21.1-vanilla/drivers/usb/storage/unusual_devs.h 2007-04-28
05:49:26.000000000 +0800
+++ linux-2.6.21.1/drivers/usb/storage/unusual_devs.h 2007-06-25
23:01:18.000000000 +0800
@@ -1371,14 +1371,15 @@
US_SC_DEVICE, US_PR_DEVICE, NULL,
US_FL_IGNORE_RESIDUE ),
-/* This prevents the kernel from detecting the virtual cd-drive with the
- * Windows drivers. <[EMAIL PROTECTED]>
+/* This tells the usb driver to place the HUAWEI E220 devices into multi-port
mode
+ * Reported by fangxiaozhi <[EMAIL PROTECTED]>
+ * and by linlei <[EMAIL PROTECTED]>
*/
-UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0xffff,
+UNUSUAL_DEV( 0x12d1, 0x1003, 0x0000, 0x0000,
"HUAWEI",
- "E220 USB-UMTS Install",
- US_SC_DEVICE, US_PR_DEVICE, NULL,
- US_FL_IGNORE_DEVICE),
+ "HUAWEI MOBILE Mass Storage",
+ US_SC_DEVICE, US_PR_DEVICE, usb_stor_switch_ports_init,
+ 0),
/* Reported by Vilius Bilinkevicius <vilisas AT xxx DOT lt) */
UNUSUAL_DEV( 0x132b, 0x000b, 0x0001, 0x0001,
linlei 60022748 wrote:
> Hi there,
> This patch make the HUAWEI E220 device to map out three ports instead of only
> one virtural cd port.
> See the patch for the full explanation, CC's, and sign-off. And please apply.
Short of Greg's point that the return status of usb_control_msg() isn't
checked, the patch looks good to me. Or, more specifically, I'm signing off
on the unusual_devs.h portion of it.
So when ya'll send an updated version, I'll add my Signed-off-by.
--
Phil Dibowitz [EMAIL PROTECTED]
Open Source software and tech docs Insanity Palace of Metallica
http://www.phildev.net/ http://www.ipom.com/
"Never write it in C if you can do it in 'awk';
Never do it in 'awk' if 'sed' can handle it;
Never use 'sed' when 'tr' can do the job;
Never invoke 'tr' when 'cat' is sufficient;
Avoid using 'cat' whenever possible" -- Taylor's Laws of Programming
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
linux-usb-devel@lists.sourceforge.net
To unsubscribe, use the last form field at:
https://lists.sourceforge.net/lists/listinfo/linux-usb-devel