USB: serial: option: add Fibocom NL668 series
Subsystems (2)
Added USB serial option driver support for Fibocom NL668 series cellular modules. Reserved USB endpoints 4, 5 and 6 for network + ADB interface.
---
Thanks for feedback!
Changes:
Removed name declarations for VID/PID
Added reserved endpoint for ADB interface
usb-devices
T: Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#= 7 Spd=480 MxCh= 0 D: Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1508 ProdID=1001 Rev=03.18 S: Manufacturer=Nodecom NL668 Modem S: Product=Nodecom NL668-CN Modem S: SerialNumber=5ced6a52 C: #Ifs= 7 Cfg#= 1 Atr=a0 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= 1 Cls=02(commc) Sub=06 Prot=00 Driver=cdc_ether I: If#= 5 Alt= 1 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=cdc_ether I: If#= 6 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=42 Prot=01 Driver=(none)
drivers/usb/serial/option.c | 2 ++ 1 file changed, 2 insertions(+)
Den Mon, 10 Dec 2018 09:34:06 +0100
skrev Re: [PATCH] USB: serial: option: add Fibocom NL668 series (fixed line break issue):
Quoted 49 lines · Lars Melin
Quoted 24 lines · Jörgen Storvist
Quoted 23 lines
Added USB serial option driver support for Fibocom NL668 series cellular module. Reserved USB endpoints 4 and 5 for network interfaces.
Signed-off-by Jörgen Storvist <[email protected]>
drivers/usb/serial/option.c| 5 +++++1 file changed, 5 insertions(+)drivers/usb/serial/option.c +3
-0@@ -552,6 +552,9 @@ static void option_instat_callback(struct urb *urb);#define WETELECOM_PRODUCT_6802 0x6802#define WETELECOM_PRODUCT_WMD300 0x6803 +/* Fibocom products */ +#define FIBOCOM_VENDOR_ID 0x1508 +#define FIBOCOM_PRODUCT_NL668 0x1001/* Device flags */ Quoted 16 lines
drivers/usb/serial/option.c static const struct usb_device_id option_ids[] = { · line 1951
Quoted 9 lines
drivers/usb/serial/option.c +2
-0@@ -1941,6 +1944,8 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */ + { USB_DEVICE(FIBOCOM_VENDOR_ID, FIBOCOM_PRODUCT_NL668), /* Fibocom NL668 series */ + .driver_info = RSVD(4) | RSVD(5) }, { } /* Terminating entry */ };MODULE_DEVICE_TABLE (usb, option_ids);Listed owner of the
0x1508VID is "MAATEL" which probably is a customer or subsidiary of FIBOCOM (which has the VID0x2cb7).
Please don't do this value-to-name conversion, it is completely useless and in this case most likely wrong as well.
Just skip the declaration part and use the VID and PID values directly in the device structure list.Checkpatch also detects some white space issues, but that should be taken care of by the above.
Please also move your changelog comment to after a so called cut-off line (---, underneath your sign-off); it doesn't belong in the commit summary (Subject).
Quoted 5 lines
And please provide the output of usb-devices (or lsusb -v) for reference.
Thanks,
Johan
drivers/usb/serial/option.c +2 -0
@@ -1941,6 +1941,8 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_6802, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(WETELECOM_VENDOR_ID, WETELECOM_PRODUCT_WMD300, 0xff, 0xff, 0xff) }, { USB_DEVICE_AND_INTERFACE_INFO(0x03f0, 0x421d, 0xff, 0xff, 0xff) }, /* HP lt2523 (Novatel E371) */ + { USB_DEVICE(0x1508, 0x1001), /* Fibocom NL668 series */ + .driver_info = RSVD(4) | RSVD(5) | RSVD(6) }, { } /* Terminating entry */ };MODULE_DEVICE_TABLE (usb, option_ids);