Message ID | 20220930152344.7877-1-davide.tronchin.94@gmail.com (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | USB: serial: option: the patch is meant to support LARA-R6 Cat 1 and LARA-L6 CAT 4 module family. | expand |
On Fri, Sep 30, 2022 at 05:23:44PM +0200, Davide Tronchin wrote: > The LARA-R6 module has the following USB identifiers: > Vendor ID: 0x05c6 > Product ID: 0x908b > > The USB composition exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parser/alternative functions > > The LARA-L6 module can be configured in three different USB modes: > * Default mode (Vendor ID: 0x1546 Product ID: 0x1341) with 4 serial > interfaces > * RmNet mode (Vendor ID: 0x1546 Product ID: 0x1342) with 4 serial > interfaces and 1 RmNet virtual network interface > * CDC-ECM mode (Vendor ID: 0x1546 Product ID: 0x1343) with 4 serial > interface and 1 CDC-ECM virtual network interface > > > In default mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parser/alternative functions > > In RmNet mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parset/alternative functions > If 4: RMNET interface > > In CDC-ECM mode LARA-L6 exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parset/alternative functions > If 4: CDC-ECM interface > > Signed-off-by: Davide Tronchin <davide.tronchin.94@gmail.com> > --- > drivers/usb/serial/option.c | 17 ++++++++++++++--- > 1 file changed, 14 insertions(+), 3 deletions(-) > > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c > index 697683e3f..fc0403891 100644 > --- a/drivers/usb/serial/option.c > +++ b/drivers/usb/serial/option.c > @@ -240,7 +240,7 @@ static void option_instat_callback(struct urb *urb); > #define QUECTEL_PRODUCT_UC15 0x9090 > /* These u-blox products use Qualcomm's vendor ID */ > #define UBLOX_PRODUCT_R410M 0x90b2 > -#define UBLOX_PRODUCT_R6XX 0x90fa > +#define UBLOX_PRODUCT_LARA_R6 0x908b That is not in sorted order :( > /* These Yuga products use Qualcomm's vendor ID */ > #define YUGA_PRODUCT_CLM920_NC5 0x9625 > > @@ -581,6 +581,11 @@ static void option_instat_callback(struct urb *urb); > #define OPPO_VENDOR_ID 0x22d9 > #define OPPO_PRODUCT_R11 0x276c > > +/* These u-blox products use u-blox's vendor ID */ > +#define UBLOX_VENDOR_ID 0x1546 > +#define UBLOX_PRODUCT_LARA_L6 0x1341 > +#define UBLOX_PRODUCT_LARA_L6_RMNET 0x1342 > +#define UBLOX_PRODUCT_LARA_L6_ECM 0x1343 > > /* Device flags */ > > @@ -1124,8 +1129,14 @@ static const struct usb_device_id option_ids[] = { > /* u-blox products using Qualcomm vendor ID */ > { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R410M), > .driver_info = RSVD(1) | RSVD(3) }, > - { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R6XX), > - .driver_info = RSVD(3) }, Why did you delete this device from the driver and not mention it at all in the changelog text? thanks, greg k-h
On 9/30/2022 22:23, Davide Tronchin wrote: > The LARA-R6 module has the following USB identifiers: > Vendor ID: 0x05c6 > Product ID: 0x908b > > The USB composition exposes the following interfaces: > If 0: Diagnostic > If 1: AT parser > If 2: AT parser > If 3: AT parser/alternative functions The USB Id 05c6:908b belongs to Qualcomm and is not reserved for Ublox - it is used by other companies, Simtech is one of them. The generic Windows driver from Qualcomm and the same driver from Simtech defines the interfaces as: MI_00 Qualcomm HS-USB MSM Diagnostics 908B MI_01 Qualcomm HS-USB NMEA 908B MI_02 Qualcomm HS-USB Modem 908B-2 MI_03 Qualcomm HS-USB Modem 908B-3 MI_04 Qualcomm HS-USB WWAN Adapter 908B MI_00 Simtech Wireless HS-USB MSM Diagnostics 908B MI_01 Simtech Wireless HS-USB NMEA 908B MI_02 Simtech Wireless HS-USB Modem 908B-2 MI_03 Simtech Wireless HS-USB Modem 908B-3 MI_04 Simtech Wireless HS-USB WWAN Adapter 908B The net interface in both cases is a QMI interface which has to be blacklisted in the option driver. Please provide a v2 of your patch reflecting this. thanks Lars
diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 697683e3f..fc0403891 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -240,7 +240,7 @@ static void option_instat_callback(struct urb *urb); #define QUECTEL_PRODUCT_UC15 0x9090 /* These u-blox products use Qualcomm's vendor ID */ #define UBLOX_PRODUCT_R410M 0x90b2 -#define UBLOX_PRODUCT_R6XX 0x90fa +#define UBLOX_PRODUCT_LARA_R6 0x908b /* These Yuga products use Qualcomm's vendor ID */ #define YUGA_PRODUCT_CLM920_NC5 0x9625 @@ -581,6 +581,11 @@ static void option_instat_callback(struct urb *urb); #define OPPO_VENDOR_ID 0x22d9 #define OPPO_PRODUCT_R11 0x276c +/* These u-blox products use u-blox's vendor ID */ +#define UBLOX_VENDOR_ID 0x1546 +#define UBLOX_PRODUCT_LARA_L6 0x1341 +#define UBLOX_PRODUCT_LARA_L6_RMNET 0x1342 +#define UBLOX_PRODUCT_LARA_L6_ECM 0x1343 /* Device flags */ @@ -1124,8 +1129,14 @@ static const struct usb_device_id option_ids[] = { /* u-blox products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R410M), .driver_info = RSVD(1) | RSVD(3) }, - { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_R6XX), - .driver_info = RSVD(3) }, + { USB_DEVICE(QUALCOMM_VENDOR_ID, UBLOX_PRODUCT_LARA_R6) }, + /* u-blox products using u-blox vendor ID */ + { USB_DEVICE(UBLOX_VENDOR_ID, UBLOX_PRODUCT_LARA_L6), + .driver_info = RSVD(4) }, + { USB_DEVICE(UBLOX_VENDOR_ID, UBLOX_PRODUCT_LARA_L6_RMNET), + .driver_info = RSVD(4) }, + { USB_DEVICE(UBLOX_VENDOR_ID, UBLOX_PRODUCT_LARA_L6_ECM), + .driver_info = RSVD(4) }, /* Quectel products using Quectel vendor ID */ { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC21, 0xff, 0xff, 0xff), .driver_info = NUMEP2 },
The LARA-R6 module has the following USB identifiers: Vendor ID: 0x05c6 Product ID: 0x908b The USB composition exposes the following interfaces: If 0: Diagnostic If 1: AT parser If 2: AT parser If 3: AT parser/alternative functions The LARA-L6 module can be configured in three different USB modes: * Default mode (Vendor ID: 0x1546 Product ID: 0x1341) with 4 serial interfaces * RmNet mode (Vendor ID: 0x1546 Product ID: 0x1342) with 4 serial interfaces and 1 RmNet virtual network interface * CDC-ECM mode (Vendor ID: 0x1546 Product ID: 0x1343) with 4 serial interface and 1 CDC-ECM virtual network interface In default mode LARA-L6 exposes the following interfaces: If 0: Diagnostic If 1: AT parser If 2: AT parser If 3: AT parser/alternative functions In RmNet mode LARA-L6 exposes the following interfaces: If 0: Diagnostic If 1: AT parser If 2: AT parser If 3: AT parset/alternative functions If 4: RMNET interface In CDC-ECM mode LARA-L6 exposes the following interfaces: If 0: Diagnostic If 1: AT parser If 2: AT parser If 3: AT parset/alternative functions If 4: CDC-ECM interface Signed-off-by: Davide Tronchin <davide.tronchin.94@gmail.com> --- drivers/usb/serial/option.c | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-)