linux-stable/drivers/usb/serial
Carl Yin(殷张成) d4254dc369 USB: serial: option: add Quectel BG95 modem
commit 33b7af2f45 upstream.

The BG95 modem has 3 USB configurations that are configurable via the AT
command AT+QCFGEXT="usbnet",["ecm"|"modem"|"rmnet"] which make the modem
enumerate with the following interfaces, respectively:

"modem": Diag + GNSS + Modem + Modem
"ecm"  : Diag + GNSS + Modem + ECM
"rmnet": Diag + GNSS + Modem + QMI
         Don't support Full QMI messages (e.g WDS_START_NETWORK_INTERFACE)

A detailed description of the USB configuration for each mode follows:

+QCFGEXT: "usbnet","modem"
--------------------------
T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  3 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0700 Rev= 0.00
S:  Manufacturer=Quectel, Incorporated
S:  Product=Quectel LPWA Module
S:  SerialNumber=884328a2
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=fe Prot=ff Driver=option
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

+QCFGEXT: "usbnet","ecm"
------------------------
T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0700 Rev= 0.00
S:  Manufacturer=Quectel, Incorporated
S:  Product=Quectel LPWA Module
S:  SerialNumber=884328a2
C:* #Ifs= 5 Cfg#= 1 Atr=e0 MxPwr=500mA
A:  FirstIf#= 3 IfCount= 2 Cls=02(comm.) Sub=00 Prot=00
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 1 Cls=02(comm.) Sub=06 Prot=00 Driver=cdc_ether
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
I:  If#= 4 Alt= 0 #EPs= 0 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
I:* If#= 4 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

+QCFGEXT: "usbnet","rmnet"
--------------------------
T:  Bus=01 Lev=02 Prnt=02 Port=01 Cnt=01 Dev#=  4 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=2c7c ProdID=0700 Rev= 0.00
S:  Manufacturer=Quectel, Incorporated
S:  Product=Quectel LPWA Module
S:  SerialNumber=884328a2
C:* #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:* If#= 0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=option
E:  Ad=83(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=qmi_wwan
E:  Ad=85(I) Atr=03(Int.) MxPS=  64 Ivl=2ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

Signed-off-by: Carl Yin <carl.yin@quectel.com>
Cc: stable@vger.kernel.org
Signed-off-by: Johan Hovold <johan@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2022-06-09 10:25:14 +02:00
..
aircable.c
ark3116.c
belkin_sa.c
belkin_sa.h
bus.c
ch341.c Revert "USB: serial: ch341: add new Product ID for CH341A" 2022-02-21 09:58:14 +01:00
console.c
cp210x.c USB: serial: cp210x: add PIDs for Kamstrup USB Meter Reader 2022-05-09 09:16:11 +02:00
cyberjack.c
cypress_m8.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
cypress_m8.h
digi_acceleport.c
empeg.c
ezusb_convert.pl
f81232.c USB: serial: f81232: use usb_control_msg_recv() and usb_control_msg_send() 2021-09-21 14:01:14 +02:00
f81534.c
ftdi_sio.c USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320 2022-02-01 11:53:43 +01:00
ftdi_sio.h
ftdi_sio_ids.h USB: serial: ftdi_sio: add support for Brainboxes US-159/235/320 2022-02-01 11:53:43 +01:00
garmin_gps.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
generic.c
io_16654.h
io_edgeport.c
io_edgeport.h
io_ionsp.h
io_ti.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
io_ti.h
io_usbvend.h
ipaq.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
ipw.c
ir-usb.c
iuu_phoenix.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
iuu_phoenix.h
Kconfig USB: serial: simple: add Nokia phone driver 2022-04-08 13:57:12 +02:00
keyspan.c USB: serial: keyspan: fix memleak on probe errors 2021-10-27 15:18:59 +02:00
keyspan_pda.c USB: serial: keyspan_pda: use usb_control_msg_recv() 2021-09-21 14:23:23 +02:00
keyspan_usa26msg.h
keyspan_usa28msg.h
keyspan_usa49msg.h
keyspan_usa67msg.h
keyspan_usa90msg.h
kl5kusb105.c USB: serial: kl5kusb105: drop line-status helper 2021-09-22 09:33:17 +02:00
kl5kusb105.h
kobil_sct.c
kobil_sct.h
Makefile
Makefile-keyspan_pda_fw
mct_u232.c
mct_u232.h
metro-usb.c
mos7720.c
mos7840.c USB: serial: mos7840: remove duplicated 0xac24 device ID 2021-09-20 11:19:55 +02:00
mxuport.c
navman.c
omninet.c
opticon.c
option.c USB: serial: option: add Quectel BG95 modem 2022-06-09 10:25:14 +02:00
oti6858.c
oti6858.h
pl2303.c USB: serial: pl2303: fix type detection for odd device 2022-06-09 10:25:13 +02:00
pl2303.h USB: serial: pl2303: add device id for HP LM930 Display 2022-05-18 10:28:20 +02:00
qcaux.c
qcserial.c USB: serial: qcserial: add support for Sierra Wireless EM7590 2022-05-18 10:28:20 +02:00
quatech2.c
safe_serial.c
sierra.c USB: serial: replace symbolic permissions by octal permissions 2021-08-26 09:38:27 +02:00
spcp8x5.c
ssu100.c
symbolserial.c
ti_usb_3410_5052.c
upd78f0730.c
usb-serial-simple.c USB: serial: simple: add Nokia phone driver 2022-04-08 13:57:12 +02:00
usb-serial.c USB: serial: allow hung up ports to be suspended 2021-09-20 11:49:34 +02:00
usb-wwan.h
usb_debug.c
usb_wwan.c
visor.c
visor.h
whiteheat.c USB: serial: whiteheat: fix heap overflow in WHITEHEAT_GET_DTR_RTS 2022-05-09 09:16:11 +02:00
whiteheat.h
wishbone-serial.c
xr_serial.c
xsens_mt.c