Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e5c0e560 authored by Vincent Palatin's avatar Vincent Palatin Committed by Greg Kroah-Hartman
Browse files

USB: serial: option: add Fibocom NL668 variants



commit 5e4d659b10fde14403adb2e215df4a3168fe8465 upstream.

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: default avatarVincent Palatin <vpalatin@chromium.org>
Cc: stable@vger.kernel.org
Signed-off-by: default avatarJohan Hovold <johan@kernel.org>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 6245f3fd
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -2046,12 +2046,13 @@ static const struct usb_device_id option_ids[] = {
	  .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
	  .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
	{ USB_DEVICE(0x0489, 0xe0b5),						/* Foxconn T77W968 ESIM */
	{ USB_DEVICE(0x0489, 0xe0b5),						/* Foxconn T77W968 ESIM */
	  .driver_info = RSVD(0) | RSVD(1) | RSVD(6) },
	  .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) },
	  .driver_info = RSVD(4) | RSVD(5) | RSVD(6) },
	{ USB_DEVICE(0x2cb7, 0x0104),						/* Fibocom NL678 series */
	{ USB_DEVICE(0x2cb7, 0x0104),						/* Fibocom NL678 series */
	  .driver_info = RSVD(4) | RSVD(5) },
	  .driver_info = RSVD(4) | RSVD(5) },
	{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff),			/* Fibocom NL678 series */
	{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x0105, 0xff),			/* Fibocom NL678 series */
	  .driver_info = RSVD(6) },
	  .driver_info = RSVD(6) },
	{ USB_DEVICE_INTERFACE_CLASS(0x2cb7, 0x01a0, 0xff) },			/* Fibocom NL668-AM/NL652-EU (laptop MBIM) */
	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) },			/* GosunCn GM500 RNDIS */
	{ 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, 0x1405, 0xff) },			/* GosunCn GM500 MBIM */
	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */