* [PATCH] USB: option: add support for SIM7100E
@ 2017-06-04 10:33 Ilya Ledvich
2017-06-04 11:57 ` Johan Hovold
0 siblings, 1 reply; 4+ messages in thread
From: Ilya Ledvich @ 2017-06-04 10:33 UTC (permalink / raw)
To: Igor Grinberg; +Cc: Andrey Skvortsov, stable, Johan Hovold
From: Andrey Skvortsov <andrej.skvortzov@gmail.com>
$ lsusb:
Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
$ usb-devices:
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=1e0e ProdID=9001 Rev= 2.32
S: Manufacturer=SimTech, Incorporated
S: Product=SimTech, Incorporated
S: SerialNumber=0123456789ABCDEF
C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
The last interface (6) is used for Android Composite ADB interface.
Serial port layout:
0: QCDM/DIAG
1: NMEA
2: AT
3: AT/PPP
4: audio
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Johan Hovold <johan@kernel.org>
---
drivers/usb/serial/option.c | 7 +++++++
1 file changed, 7 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index db86e51..e7eb08d 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -315,6 +315,7 @@ static int option_probe(struct usb_serial *serial,
#define TOSHIBA_PRODUCT_G450 0x0d45
#define ALINK_VENDOR_ID 0x1e0e
+#define SIMCOM_PRODUCT_SIM7100E 0x9001 /* Yes, ALINK_VENDOR_ID */
#define ALINK_PRODUCT_PH300 0x9100
#define ALINK_PRODUCT_3GU 0x9200
@@ -607,6 +608,10 @@ struct option_blacklist_info {
.reserved = BIT(3) | BIT(4),
};
+static const struct option_blacklist_info simcom_sim7100e_blacklist = {
+ .reserved = BIT(5) | BIT(6),
+};
+
static const struct option_blacklist_info telit_le910_blacklist = {
.sendsetup = BIT(0),
.reserved = BIT(1) | BIT(2),
@@ -1645,6 +1650,8 @@ struct option_blacklist_info {
{ USB_DEVICE(ALINK_VENDOR_ID, 0x9000) },
{ USB_DEVICE(ALINK_VENDOR_ID, ALINK_PRODUCT_PH300) },
{ USB_DEVICE_AND_INTERFACE_INFO(ALINK_VENDOR_ID, ALINK_PRODUCT_3GU, 0xff, 0xff, 0xff) },
+ { USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
+ .driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },
{ USB_DEVICE(ALCATEL_VENDOR_ID, ALCATEL_PRODUCT_X060S_X200),
.driver_info = (kernel_ulong_t)&alcatel_x200_blacklist
},
--
1.9.1
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] USB: option: add support for SIM7100E
2017-06-04 10:33 [PATCH] USB: option: add support for SIM7100E Ilya Ledvich
@ 2017-06-04 11:57 ` Johan Hovold
0 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2017-06-04 11:57 UTC (permalink / raw)
To: Ilya Ledvich; +Cc: Igor Grinberg, Andrey Skvortsov, stable, Johan Hovold
On Sun, Jun 04, 2017 at 01:33:10PM +0300, Ilya Ledvich wrote:
> From: Andrey Skvortsov <andrej.skvortzov@gmail.com>
>
> $ lsusb:
> Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
>
> $ usb-devices:
> T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480 MxCh= 0
> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
> P: Vendor=1e0e ProdID=9001 Rev= 2.32
> S: Manufacturer=SimTech, Incorporated
> S: Product=SimTech, Incorporated
> S: SerialNumber=0123456789ABCDEF
> C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
> I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
> I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
>
> The last interface (6) is used for Android Composite ADB interface.
>
> Serial port layout:
> 0: QCDM/DIAG
> 1: NMEA
> 2: AT
> 3: AT/PPP
> 4: audio
>
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
> Cc: stable <stable@vger.kernel.org>
> Signed-off-by: Johan Hovold <johan@kernel.org>
I'm assuming you did not intend to CC neither Andrey, stable or me on
this old patch (which is already upstream).
Take a look at git-send-email's --suppress-cc switch.
Johan
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH] USB: option: add support for SIM7100E
@ 2016-01-20 12:05 Andrey Skvortsov
2016-01-25 11:10 ` Johan Hovold
0 siblings, 1 reply; 4+ messages in thread
From: Andrey Skvortsov @ 2016-01-20 12:05 UTC (permalink / raw)
To: Johan Hovold, Greg Kroah-Hartman, linux-usb, linux-kernel
Cc: Andrey Skvortsov
$ lsusb:
Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
$ usb-devices:
T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480 MxCh= 0
D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
P: Vendor=1e0e ProdID=9001 Rev= 2.32
S: Manufacturer=SimTech, Incorporated
S: Product=SimTech, Incorporated
S: SerialNumber=0123456789ABCDEF
C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
The last interface (6) is used for Android Composite ADB interface.
Serial port layout:
0: QCDM/DIAG
1: NMEA
2: AT
3: AT/PPP
4: audio
Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
---
drivers/usb/serial/option.c | 9 +++++++++
1 file changed, 9 insertions(+)
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index f228060..2366f8a 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -510,6 +510,9 @@ static void option_instat_callback(struct urb *urb);
#define VIATELECOM_VENDOR_ID 0x15eb
#define VIATELECOM_PRODUCT_CDS7 0x0001
+/* SIMCom Wireless Solutions products */
+#define SIMCOM_PRODUCT_SIM7100E 0x9001
+
struct option_blacklist_info {
/* bitmask of interface numbers blacklisted for send_setup */
const unsigned long sendsetup;
@@ -615,6 +618,10 @@ static const struct option_blacklist_info telit_le920_blacklist = {
.reserved = BIT(1) | BIT(5),
};
+static const struct option_blacklist_info simcom_sim7100e_blacklist = {
+ .reserved = BIT(5) | BIT(6),
+};
+
static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
{ USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
@@ -1619,6 +1626,8 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) },
{ USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */
{ USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5A) },
+ { USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
+ .driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },
{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) },
{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) },
{ USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) },
--
2.6.4
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH] USB: option: add support for SIM7100E
2016-01-20 12:05 Andrey Skvortsov
@ 2016-01-25 11:10 ` Johan Hovold
0 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2016-01-25 11:10 UTC (permalink / raw)
To: Andrey Skvortsov
Cc: Johan Hovold, Greg Kroah-Hartman, linux-usb, linux-kernel
On Wed, Jan 20, 2016 at 03:05:56PM +0300, Andrey Skvortsov wrote:
> $ lsusb:
> Bus 001 Device 101: ID 1e0e:9001 Qualcomm / Option
>
> $ usb-devices:
> T: Bus=01 Lev=02 Prnt=02 Port=00 Cnt=01 Dev#=101 Spd=480 MxCh= 0
> D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 2
> P: Vendor=1e0e ProdID=9001 Rev= 2.32
> S: Manufacturer=SimTech, Incorporated
> S: Product=SimTech, Incorporated
> S: SerialNumber=0123456789ABCDEF
> C:* #Ifs= 7 Cfg#= 1 Atr=80 MxPwr=500mA
> I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
> I:* If#= 1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
> I:* If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
>
> The last interface (6) is used for Android Composite ADB interface.
>
> Serial port layout:
> 0: QCDM/DIAG
> 1: NMEA
> 2: AT
> 3: AT/PPP
> 4: audio
>
> Signed-off-by: Andrey Skvortsov <andrej.skvortzov@gmail.com>
This one no longer applies to my tree due to some recent changes to the
option driver. Would you mind respinning it?
git://git.kernel.org/pub/scm/linux/kernel/git/johan/usb-serial.git
> ---
> drivers/usb/serial/option.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index f228060..2366f8a 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -510,6 +510,9 @@ static void option_instat_callback(struct urb *urb);
> #define VIATELECOM_VENDOR_ID 0x15eb
> #define VIATELECOM_PRODUCT_CDS7 0x0001
>
> +/* SIMCom Wireless Solutions products */
> +#define SIMCOM_PRODUCT_SIM7100E 0x9001
> +
Please also place this one under the ALINK section and mention that
that's the VID that is used.
> struct option_blacklist_info {
> /* bitmask of interface numbers blacklisted for send_setup */
> const unsigned long sendsetup;
> @@ -615,6 +618,10 @@ static const struct option_blacklist_info telit_le920_blacklist = {
> .reserved = BIT(1) | BIT(5),
> };
>
> +static const struct option_blacklist_info simcom_sim7100e_blacklist = {
> + .reserved = BIT(5) | BIT(6),
> +};
> +
> static const struct usb_device_id option_ids[] = {
> { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_COLT) },
> { USB_DEVICE(OPTION_VENDOR_ID, OPTION_PRODUCT_RICOLA) },
> @@ -1619,6 +1626,8 @@ static const struct usb_device_id option_ids[] = {
> { USB_DEVICE(DLINK_VENDOR_ID, DLINK_PRODUCT_DWM_652) },
> { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5) }, /* Yes, ALINK_VENDOR_ID */
> { USB_DEVICE(ALINK_VENDOR_ID, DLINK_PRODUCT_DWM_652_U5A) },
> + { USB_DEVICE(ALINK_VENDOR_ID, SIMCOM_PRODUCT_SIM7100E),
> + .driver_info = (kernel_ulong_t)&simcom_sim7100e_blacklist },
And perhaps you should put this one after the other ALINK entries
(including PID 0x9000) instead of with the DLINK ones.
> { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4512) },
> { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H21_4523) },
> { USB_DEVICE(QISDA_VENDOR_ID, QISDA_PRODUCT_H20_4515) },
Thanks,
Johan
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2017-06-04 11:57 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-06-04 10:33 [PATCH] USB: option: add support for SIM7100E Ilya Ledvich
2017-06-04 11:57 ` Johan Hovold
-- strict thread matches above, loose matches on Subject: below --
2016-01-20 12:05 Andrey Skvortsov
2016-01-25 11:10 ` Johan Hovold
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.