2023-10-16 07:36:46

by Puliang Lu

[permalink] [raw]
Subject: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL

From: Puliang Lu <[email protected]>

Update the USB serial option driver support for the Fibocom
FM101R-GL
LTE modules as there are actually several different variants.
- VID:PID 413C:8213, FM101R-GL are laptop M.2 cards (with
MBIM interfaces for Linux)
- VID:PID 413C:8215, FM101R-GL ESIM are laptop M.2 cards(with
MBIM interface for Linux)

0x8213: mbim, tty
0x8215: mbim, tty

T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0
D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=413c ProdID=8213 Rev= 5.04
S: Manufacturer=Fibocom Wireless Inc.
S: Product=Fibocom FM101-GL Module
S: SerialNumber=a3b7cbf0
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=896mA
A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 3 Spd=5000 MxCh= 0
D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
P: Vendor=413c ProdID=8215 Rev= 5.04
S: Manufacturer=Fibocom Wireless Inc.
S: Product=Fibocom FM101-GL Module
S: SerialNumber=a3b7cbf0
C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=896mA
A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

Signed-off-by: Puliang Lu <[email protected]>
---
drivers/usb/serial/option.c | 5 +++++
1 file changed, 5 insertions(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 8ac98e60fff5..1dcd1f068f23 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -203,6 +203,9 @@ static void option_instat_callback(struct urb *urb);
#define DELL_PRODUCT_5829E_ESIM 0x81e4
#define DELL_PRODUCT_5829E 0x81e6

+#define DELL_PRODUCT_FM101R 0x8213
+#define DELL_PRODUCT_FM101R_ESIM 0x8215
+
#define KYOCERA_VENDOR_ID 0x0c88
#define KYOCERA_PRODUCT_KPC650 0x17da
#define KYOCERA_PRODUCT_KPC680 0x180a
@@ -1107,6 +1110,8 @@ static const struct usb_device_id option_ids[] = {
.driver_info = RSVD(0) | RSVD(6) },
{ USB_DEVICE(DELL_VENDOR_ID, DELL_PRODUCT_5829E_ESIM),
.driver_info = RSVD(0) | RSVD(6) },
+ { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R, 0xff) },
+ { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R_ESIM, 0xff) },
{ USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_E100A) }, /* ADU-E100, ADU-310 */
{ USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_500A) },
{ USB_DEVICE(ANYDATA_VENDOR_ID, ANYDATA_PRODUCT_ADU_620UW) },
--
2.34.1


2023-10-16 08:24:11

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL

On Mon, Oct 16, 2023 at 03:36:16PM +0800, L-鲁璞亮 wrote:
> From: Puliang Lu <[email protected]>
>
> Update the USB serial option driver support for the Fibocom
> FM101R-GL

> T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0
> D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
> P: Vendor=413c ProdID=8213 Rev= 5.04
> S: Manufacturer=Fibocom Wireless Inc.
> S: Product=Fibocom FM101-GL Module
> S: SerialNumber=a3b7cbf0
> C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=896mA
> A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
> E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
> I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
> E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
> E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
> E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
> E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms

Thanks for resending with the author address fixed.

You did however not answer my question whether there could ever be more
vendor class interfaces (e.g. for adb) so that you should be using a
more specific match for the entries (i.e. USB_DEVICE_AND_INTERFACE_INFO())?

> + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R, 0xff) },
> + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R_ESIM, 0xff) },

Johan

2023-10-16 08:37:06

by Puliang Lu

[permalink] [raw]
Subject: RE: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL


On Mon, Oct 16, 2023 at 03:36:16PM +0800, L-鲁璞亮 wrote:
>> From: Puliang Lu <[email protected]>
>>
>> Update the USB serial option driver support for the Fibocom
>> FM101R-GL
>
>> T: Bus=04 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 Spd=5000 MxCh= 0
>> D: Ver= 3.20 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 9 #Cfgs= 1
>> P: Vendor=413c ProdID=8213 Rev= 5.04
>> S: Manufacturer=Fibocom Wireless Inc.
>> S: Product=Fibocom FM101-GL Module
>> S: SerialNumber=a3b7cbf0
>> C:* #Ifs= 3 Cfg#= 1 Atr=a0 MxPwr=896mA
>> A: FirstIf#= 0 IfCount= 2 Cls=02(comm.) Sub=0e Prot=00
>> I:* If#= 0 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=0e Prot=00 Driver=cdc_mbim
>> E: Ad=81(I) Atr=03(Int.) MxPS= 64 Ivl=32ms
>> I: If#= 1 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
>> I:* If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
>> E: Ad=8e(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
>> E: Ad=0f(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
>> I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=40 Driver=(none)
>> E: Ad=83(I) Atr=03(Int.) MxPS= 10 Ivl=32ms
>> E: Ad=82(I) Atr=02(Bulk) MxPS=1024 Ivl=0ms
>> E: Ad=01(O) Atr=02(Bulk) MxPS=1024 Ivl=0ms
>
> Thanks for resending with the author address fixed.
>
> You did however not answer my question whether there could ever be more
> vendor class interfaces (e.g. for adb) so that you should be using a
> more specific match for the entries (i.e. USB_DEVICE_AND_INTERFACE_INFO())?

0x8213 and 0x8215 have only one mbim and one tty, Thanks.

>
>> + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R, 0xff) },
>> + { USB_DEVICE_INTERFACE_CLASS(DELL_VENDOR_ID, DELL_PRODUCT_FM101R_ESIM, 0xff) },
>
> Johan

2023-10-16 08:41:05

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL

On Mon, Oct 16, 2023 at 08:36:30AM +0000, Puliang Lu(Puliang) wrote:

> > You did however not answer my question whether there could ever be more
> > vendor class interfaces (e.g. for adb) so that you should be using a
> > more specific match for the entries (i.e. USB_DEVICE_AND_INTERFACE_INFO())?
>
> 0x8213 and 0x8215 have only one mbim and one tty, Thanks.

Ok, thanks for confirming.

I've now applied the patch.

Johan

2023-10-24 06:37:26

by Puliang Lu

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL


On Mon, 16 Oct 2023 10:40:05 +0200, Johan Hovold wrote:

> Ok, thanks for confirming.
>
> I've now applied the patch.

Can I still modify my patch now? 0x8213 is an ESIM device, 0x8215 is a NO ESIM
device, but it is written backwards in the commit message, and the define is
also reversed.

Thanks.

2023-10-24 07:24:18

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL

On Tue, Oct 24, 2023 at 06:36:58AM +0000, Puliang Lu(Puliang) wrote:
> On Mon, 16 Oct 2023 10:40:05 +0200, Johan Hovold wrote:

> > I've now applied the patch.
>
> Can I still modify my patch now? 0x8213 is an ESIM device, 0x8215 is a NO ESIM
> device, but it is written backwards in the commit message, and the define is
> also reversed.

No, this patch is already in Linus's tree so that's not possible. But
please do send a follow-up incremental fix.

Johan

2023-10-26 11:45:02

by Puliang Lu

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL


On Tue, 24 Oct 2023 09:24:20 +0200, Johan Hovold wrote:

> No, this patch is already in Linus's tree so that's not possible. But
> please do send a follow-up incremental fix.
>
> Johan

Thank you for your reply.
We have decided not to address this issue because it does not
affect the operation of modem.

2023-10-26 12:07:18

by Johan Hovold

[permalink] [raw]
Subject: Re: [PATCH] USB: serial: option: add Fibocom to DELL custom modem FM101R-GL

On Thu, Oct 26, 2023 at 11:44:37AM +0000, Puliang Lu(Puliang) wrote:
> On Tue, 24 Oct 2023 09:24:20 +0200, Johan Hovold wrote:
>
> > No, this patch is already in Linus's tree so that's not possible. But
> > please do send a follow-up incremental fix.

> Thank you for your reply.
> We have decided not to address this issue because it does not
> affect the operation of modem.

No, that's not the way things work.

Please do send an incremental fix so that this is corrected. Otherwise
I'll just revert your patch.

Johan