USB: Mass Storage: Add MediaTek MT6276M device entry
Subsystems (2)
PATCH 1/1 USB: Mass Storage: Add MediaTek MT6276M device entry
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in unusual_devs.h
2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
---
drivers/usb/storage/initializers.c | 27 +++++++++++++++++++++++++++ drivers/usb/storage/initializers.h | 3 +++ drivers/usb/storage/unusual_devs.h | 9 +++++++++ 3 files changed, 39 insertions(+), 0 deletions(-)
drivers/usb/storage/initializers.c +27 -0
@@ -104,3 +104,30 @@ int usb_stor_huawei_e220_init(struct us_data *us)US_DEBUGP ("Huawei mode set result is %d\n" , result);return 0 ; } + +/* switch MediaTek MT6276M to COM port mode */ +int usb_stor_mediatek_mt6276m_init (struct us_data *us) +{ +const unsigned char rezero_msg[] = { +0x55 ,0x53 ,0x42 ,0x43 ,0x78 ,0x56 ,0x34 ,0x12 , +0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x06 ,0xf0 , +0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , +0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 + }; +char *buffer; +int result; + +US_DEBUGP ("Initializing mediatek USB device...\n" ); + + buffer =kzalloc (32 ,GFP_KERNEL ); +if (buffer ==NULL ) +return USB_STOR_TRANSPORT_ERROR ; + +memcpy (buffer, rezero_msg,sizeof (rezero_msg)); + result =usb_stor_bulk_transfer_buf (us, + us->send_bulk_pipe, + buffer,sizeof (rezero_msg),NULL ); + +kfree (buffer); +return result; +}
drivers/usb/storage/initializers.h +3 -0
@@ -48,3 +48,6 @@ int usb_stor_ucr61s2b_init(struct us_data *us);/* This places the HUAWEI E220 devices in multi-port mode */ int usb_stor_huawei_e220_init (struct us_data *us); + +/* switch MediaTek MT6276M to COM port mode */ +int usb_stor_mediatek_mt6276m_init (struct us_data *us);
drivers/usb/storage/unusual_devs.h +9 -0
@@ -1356,6 +1356,15 @@ UNUSUAL_DEV( 0x0e21, 0x0520, 0x0100, 0x0100, USB_SC_DEVICE, USB_PR_BULK, NULL, US_FL_NEED_OVERRIDE ), +/* Reported by Meng Zhang <[email protected]> +* switch mediatek USB devices into COM port mode +*/ +UNUSUAL_DEV (0x0e8d ,0x0002 ,0x0000 ,0x0300 , +"MediaTek Inc." , +"MT6276M" , +USB_SC_DEVICE ,USB_PR_DEVICE , + usb_stor_mediatek_mt6276m_init,0 ), +/* Submitted by Antoine Mairesse <[email protected]> */ UNUSUAL_DEV( 0x0ed1, 0x6660, 0x0100, 0x0300, "USB",
Hello.
Quoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0e8d ProdID=00a1 Rev=02.00
S: Manufacturer=MediaTek Inc
S: Product=Product
C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
Quoted 2 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
This information (4) should be under the --- tear line.
Quoted 1 line
Signed-off-by Meng Zhang <[email protected]>
[...]
Quoted 6 lines
drivers/usb/storage/initializers.c +0
-0
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 111
Quoted 8 lines
drivers/usb/storage/initializers.c +5
-0@@ -104,3 +104,30 @@ int usb_stor_huawei_e220_init(struct us_data *us)US_DEBUGP ("Huawei mode set result is %d\n" , result);return 0 ; } + +/* switch MediaTek MT6276M to COM port mode */ +int usb_stor_mediatek_mt6276m_init (struct us_data *us) +{ +const unsigned char rezero_msg[] = {
Unfortunately, when I reply to messages with "format=flowed", source
formatting is spoiled. :-(
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 112
Quoted 1 line
drivers/usb/storage/initializers.c +1
-0+ 0x55, 0x53, 0x42, 0x43, 0x78, 0x56, 0x34, 0x12,
All indentation here should be done with tabs, not tab and two spaces.
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 116
Quoted 4 lines
drivers/usb/storage/initializers.c +4
-0+0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x06 ,0xf0 , +0x01 ,0x03 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , +0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 + };
WBR, Sergei
Hi, about the indentation I saw in initializers.c is also tab with 2 spaces.. should I change this to 2 tabs manually?
Thanks!
BR.
Meng Zhang
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Sergei Shtylyov
Sent: Tuesday, February 28, 2012 7:39 PM
To: Meng Zhang (张萌)
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entry
Hello.
Quoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0e8d ProdID=00a1 Rev=02.00
S: Manufacturer=MediaTek Inc
S: Product=Product
C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
Quoted 2 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
This information (4) should be under the --- tear line.
Quoted 1 line
Signed-off-by Meng Zhang <[email protected]>
[...]
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 108
Quoted 11 lines
drivers/usb/storage/initializers.c +4
-0@@ -104,3 +104,30 @@ int usb_stor_huawei_e220_init(struct us_data *us)US_DEBUGP ("Huawei mode set result is %d\n" , result);return 0 ; } + +/* switch MediaTek MT6276M to COM port mode */ int +usb_stor_mediatek_mt6276m_init (struct us_data *us) {const unsigned +char rezero_msg[] = {
Unfortunately, when I reply to messages with "format=flowed", source formatting is spoiled. :-(
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 112
Quoted 1 line
drivers/usb/storage/initializers.c +1
-0+ 0x55, 0x53, 0x42, 0x43, 0x78, 0x56, 0x34, 0x12,
All indentation here should be done with tabs, not tab and two spaces.
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 112
Quoted 3 lines
drivers/usb/storage/initializers.c +3
-0+0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x06 ,0xf0 ,0x01 ,0x03 ,0x00 , +0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , + 0x00 };
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
�翳簕.n�+壏煯壄�+%娝�遍荻w�簕.n�+壏{炳G珴�妠ay�蕠跈�,jf"穐殢飦�戧鐉_璁(殠娸"濟�m���G珴�⒏?櫒璀�&x忈秈O曟瑉窔v豝�m����鹅�⒏?朓�
Dear Sergei,
Sorry I misunderstand it. I'll correct the format and re-submit soon.
Thanks.
BR.
Meng Zhang
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Meng Zhang (张萌)
Sent: Tuesday, February 28, 2012 8:00 PM
To: Sergei Shtylyov
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: RE: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entry
Hi, about the indentation I saw in initializers.c is also tab with 2 spaces.. should I change this to 2 tabs manually?
Thanks!
BR.
Meng Zhang
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Sergei Shtylyov
Sent: Tuesday, February 28, 2012 7:39 PM
To: Meng Zhang (张萌)
Cc: [email protected]; [email protected]; [email protected]; [email protected]; [email protected]; [email protected]
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entry
Hello.
Quoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
P: Vendor=0e8d ProdID=00a1 Rev=02.00
S: Manufacturer=MediaTek Inc
S: Product=Product
C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA
I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option
I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
Quoted 2 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
This information (4) should be under the --- tear line.
Quoted 1 line
Signed-off-by Meng Zhang <[email protected]>
[...]
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 108
Quoted 11 lines
drivers/usb/storage/initializers.c +4
-0@@ -104,3 +104,30 @@ int usb_stor_huawei_e220_init(struct us_data *us)US_DEBUGP ("Huawei mode set result is %d\n" , result);return 0 ; } + +/* switch MediaTek MT6276M to COM port mode */ int +usb_stor_mediatek_mt6276m_init (struct us_data *us) {const unsigned +char rezero_msg[] = {
Unfortunately, when I reply to messages with "format=flowed", source formatting is spoiled. :-(
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 112
Quoted 1 line
drivers/usb/storage/initializers.c +1
-0+ 0x55, 0x53, 0x42, 0x43, 0x78, 0x56, 0x34, 0x12,
All indentation here should be done with tabs, not tab and two spaces.
drivers/usb/storage/initializers.c int usb_stor_huawei_e220_init(struct us_data *us) · line 112
Quoted 3 lines
drivers/usb/storage/initializers.c +3
-0+0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x06 ,0xf0 ,0x01 ,0x03 ,0x00 , +0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 ,0x00 , + 0x00 };
WBR, Sergei
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
韬{.n?壏煯壄?%娝lzwm呴b濍Р骒r笡zXЩ琻)韰骅w*jg?秹殠娸/侁鋤罐枈?娹櫒璀??摺玜囤瓽珴閔?鎗:+v墾妛鑶佶 ���{.n�+�������+%�����ݶ��w��{.n�+����{��G�����{ay�ʇڙ�,j��f���h��������z_�(�階�ݢj"���m������G������?����&���~��iO��z��v�^�m����������?�I�
Alan Stern
maintainerQuoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
Quoted 5 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitSigned-off-by Meng Zhang <[email protected]>
Nowadays, aren't such things handled in userspace by the usb_modeswitch program rather than in the kernel driver?
Alan Stern
Hi Alan,
As far as I know, many other devices used this init function in unusual_devs.h for their "ZeroCD" feature, and I think this is more convenient than let device user install utilities like usb_modeswitch and input command manually.
Thanks.
BR.
Meng Zhang
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alan Stern
Sent: Tuesday, February 28, 2012 11:31 PM
To: Meng Zhang (张萌)
Cc: Josua Dietze; Matthew Dharm; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entry
Quoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
Quoted 5 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitSigned-off-by Meng Zhang <[email protected]>
Nowadays, aren't such things handled in userspace by the usb_modeswitch program rather than in the kernel driver?
Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
�翳簕.n�+壏煯壄�+%娝�遍荻w�簕.n�+壏{炳G珴�妠ay�蕠跈�,jf"穐殢飦�戧鐉_璁(殠娸"濟�m���G珴�⒏?櫒璀�&x忈秈O曟瑉窔v豝�m����鹅�⒏?朓�
Devices should not be added to unusual_devs.h unless the device CANNOT use the usb_modeswitch method. This most commonly applies when the device's usb-storage emulation is poor, and the probing commands sent by usb-storage cause the device to crash.
It is much more convenient for users to just upgrade their usb_modeswitch utility than it is for them to upgrade a kernel, which is much more difficult and much more rare. As for 'input command manually', that is what udev scripts are for.
If this can be handled from userspace by usb_modeswitch, then that is where it should be done.
Matt
2012/2/28 Meng Zhang (张萌) <[email protected]>:
Quoted 47 lines
Hi Alan,
As far as I know, many other devices used this init function in
unusual_devs.hfor their "ZeroCD" feature, and I think this is more convenient than let device user install utilities likeusb_modeswitchand input command manually.Thanks.
BR.
Meng Zhang-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alan Stern
Sent: Tuesday, February 28, 2012 11:31 PM
To: Meng Zhang (张萌)
Cc: Josua Dietze; Matthew Dharm; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entryQuoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=optionQuoted 5 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitSigned-off-by Meng Zhang <[email protected]>Nowadays, aren't such things handled in userspace by the
usb_modeswitchprogram rather than in the kernel driver?Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
Signature · 2 lines
Matthew Dharm Maintainer, USB Mass Storage driver for Linux
Hi Matthew,
Thanks for your comment, I've tested some other products and found their entries in /lib/udev/rules.d/40-usb_modeswitch.rules. So, does usb_modeswitch comes with latest distributions by default?
Thanks!
BR.
Meng Zhang
-----Original Message-----
From: Matthew Dharm [mailto:[email protected]]
Sent: Wednesday, February 29, 2012 12:08 PM
To: Meng Zhang (张萌)
Cc: Alan Stern; Josua Dietze; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entry
Devices should not be added to unusual_devs.h unless the device CANNOT use the usb_modeswitch method. This most commonly applies when the device's usb-storage emulation is poor, and the probing commands sent by usb-storage cause the device to crash.
It is much more convenient for users to just upgrade their usb_modeswitch utility than it is for them to upgrade a kernel, which is much more difficult and much more rare. As for 'input command manually', that is what udev scripts are for.
If this can be handled from userspace by usb_modeswitch, then that is where it should be done.
Matt
2012/2/28 Meng Zhang (张萌) <[email protected]>:
Quoted 45 lines
Hi Alan,
As far as I know, many other devices used this init function in
unusual_devs.hfor their "ZeroCD" feature, and I think this is more convenient than let device user install utilities likeusb_modeswitchand input command manually.Thanks.
BR.
Meng Zhang-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alan Stern
Sent: Tuesday, February 28, 2012 11:31 PM
To: Meng Zhang (张萌)
Cc: Josua Dietze; Matthew Dharm; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entryQuoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=optionQuoted 6 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitSigned-off-by Meng Zhang <[email protected]>
Quoted 8 lines
Nowadays, aren't such things handled in userspace by the
usb_modeswitchprogram rather than in the kernel driver?Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Matthew Dharm
Maintainer, USB Mass Storage driver for Linux �翳簕.n�+壏煯壄�+%娝�遍荻w�簕.n�+壏{炳G珴�妠ay�蕠跈�,jf"穐殢飦�戧鐉_璁(殠娸"濟�m���G珴�⒏?櫒璀�&x忈秈O曟瑉窔v豝�m����鹅�⒏?朓�
My understanding is that usb_modeswitch is part of most distributions, but that is really a question for the distro guys...
Matt
2012/2/28 Meng Zhang (张萌) <[email protected]>:
Quoted 86 lines
Hi Matthew,
Thanks for your comment, I've tested some other products and found their entries in
/lib/udev/rules.d/40-usb_modeswitch.rules. So, doesusb_modeswitchcomes with latest distributions by default?Thanks!
BR.
Meng Zhang-----Original Message-----
From: Matthew Dharm [mailto:[email protected]]
Sent: Wednesday, February 29, 2012 12:08 PM
To: Meng Zhang (张萌)
Cc: Alan Stern; Josua Dietze; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entryDevices should not be added to
unusual_devs.hunless the device CANNOT use theusb_modeswitchmethod. This most commonly applies when the device's usb-storage emulation is poor, and the probing commands sent by usb-storage cause the device to crash.It is much more convenient for users to just upgrade their
usb_modeswitchutility than it is for them to upgrade a kernel, which is much more difficult and much more rare. As for 'input command manually', that is what udev scripts are for.If this can be handled from userspace by
usb_modeswitch, then that is where it should be done.Matt
2012/2/28 Meng Zhang (张萌) <[email protected]>:
Quoted 45 lines
Hi Alan,
As far as I know, many other devices used this init function in
unusual_devs.hfor their "ZeroCD" feature, and I think this is more convenient than let device user install utilities likeusb_modeswitchand input command manually.Thanks.
BR.
Meng Zhang-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Alan Stern
Sent: Tuesday, February 28, 2012 11:31 PM
To: Meng Zhang (张萌)
Cc: Josua Dietze; Matthew Dharm; Phil Dibowitz; USB list; USB Storage list; Kernel development list
Subject: Re: [PATCH] USB: Mass Storage: Add MediaTek MT6276M device entryQuoted 17 lines · Meng Zhang
from: Meng Zhang <[email protected]>
1. Add entrys for mediatek MT6276M in
unusual_devs.h2. Add init function for mediatek MT6276M to switch to COM port mode
3. usb-devices outputs after running with this patch:
T: Bus=02 Lev=01 Prnt=01 Port=05 Cnt=01 Dev#= 48 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=0e8d ProdID=00a1 Rev=02.00 S: Manufacturer=MediaTek Inc S: Product=Product C: #Ifs= 3 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=02 Prot=01 Driver=option I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option I: If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=optionQuoted 6 lines
4. patch based on branch:
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.gitSigned-off-by Meng Zhang <[email protected]>Quoted 8 lines
Nowadays, aren't such things handled in userspace by the
usb_modeswitchprogram rather than in the kernel driver?Alan Stern
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html--
Matthew Dharm
Maintainer, USB Mass Storage driver for Linux
Signature · 2 lines
Matthew Dharm Maintainer, USB Mass Storage driver for Linux
Am 29.02.2012 07:03, schrieb Meng Zhang:
Quoted 3 lines
Thanks for your comment, I've tested some other products and found their entries in
/lib/udev/rules.d/40-usb_modeswitch.rules. So, doesusb_modeswitchcomes with latest distributions by default?
Yes, it does. In most cases it is a prerequisite of Network Manager AFAIK.
The most-used mode switch entry in unusual_devs.h is there for historical reasons, from a time when usb_modeswitch was not included with distributions yet. I'm talking about "usb_stor_huawei_e220_init".
If people want to access the installer drive for some reason, it's not possible if the kernel does the mode switch without giving a choice. With usb_modeswitch, it's a matter of a small configuration edit.
Josua Dietze