Re: [PATCH] usb: serial: option: add Fibocom NL668 variants

From: Vincent Palatin
Date: Fri Nov 20 2020 - 04:14:49 EST


On Fri, Nov 20, 2020 at 10:01 AM <vpalatin@xxxxxxxxxxxx> wrote:
>
> From: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
>
> Update the USB serial option driver support for the Fibocom NL668 Cat.4
> LTE modules as there are actually several different variants.
> Got clarifications from Fibocom, there are distinct products:
> - VID:PID 1508:1001, NL668 for IOT (no MBIM interface)
> - VID:PID 2cb7:01a0, NL668-AM and NL652-EU are laptop M.2 cards (with
> MBIM interfaces for Windows/Linux/Chrome OS), respectively for Americas
> and Europe.
>
> usb-devices output for the laptop M.2 cards:
> T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 4 Spd=480 MxCh= 0
> D: Ver= 2.00 Cls=ef(misc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1
> P: Vendor=2cb7 ProdID=01a0 Rev=03.18
> S: Manufacturer=Fibocom Wireless Inc.
> S: Product=Fibocom NL652-EU Modem
> S: SerialNumber=0123456789ABCDEF
> C: #Ifs= 5 Cfg#= 1 Atr=a0 MxPwr=500mA
> I: If#= 0 Alt= 0 #EPs= 1 Cls=02(commc) Sub=0e Prot=00 Driver=cdc_mbim
> I: If#= 1 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=02 Driver=cdc_mbim
> I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
> I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=(none)
> I: If#= 4 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
>
> Signed-off-by: Vincent Palatin <vpalatin@xxxxxxxxxxxx>
> ---
> drivers/usb/serial/option.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 54ca85cc920d..2a6d59bc0201 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -2046,12 +2046,13 @@ static const struct usb_device_id option_ids[] = {
> .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
> { USB_DEVICE(0x0489, 0xe0b5), /* Foxconn T77W968 ESIM */
> .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
> - { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 */
> + { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 (IOT version) */
> .driver_info = RSVD(4) | RSVD(5) | RSVD(6) },
> { USB_DEVICE(0x2cb7, 0x0104), /* Fibocom NL678 series */
> .driver_info = RSVD(4) | RSVD(5) },
> { USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff), /* Fibocom NL678 series */
> .driver_info = RSVD(6) },
> + { USB_DEVICE(0x2cb7, 0x01a0, 0xff) }, /* Fibocom NL668-AM/NL652-EU (laptop MBIM) */


I obviously screw up here. Wrong version of the patch with the wrong macro name
I will send the updated one.

>
> { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) }, /* GosunCn GM500 RNDIS */
> { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) }, /* GosunCn GM500 MBIM */
> { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) }, /* GosunCn GM500 ECM/NCM */
> --
> 2.26.2
>