netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Add some USB hotspot IDs
@ 2022-12-25 20:52 Matthew Garrett
  2022-12-25 20:52 ` [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Matthew Garrett
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Matthew Garrett @ 2022-12-25 20:52 UTC (permalink / raw)
  To: johan, bjorn; +Cc: netdev, linux-usb

Add a few additional IDs to support a couple of hotspots I had lying around.



^ permalink raw reply	[flat|nested] 8+ messages in thread

* [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations
  2022-12-25 20:52 Add some USB hotspot IDs Matthew Garrett
@ 2022-12-25 20:52 ` Matthew Garrett
  2022-12-26  1:23   ` Lars Melin
  2022-12-25 20:52 ` [PATCH 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration Matthew Garrett
  2022-12-25 20:52 ` [PATCH 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint Matthew Garrett
  2 siblings, 1 reply; 8+ messages in thread
From: Matthew Garrett @ 2022-12-25 20:52 UTC (permalink / raw)
  To: johan, bjorn; +Cc: netdev, linux-usb, Matthew Garrett, Matthew Garrett

The Orbic Speed RC400L presents as a generic MDM9207 device that supports
multiple configurations. Add support for the two that expose a set of serial
ports.

Signed-off-by: Matthew Garrett <mgarrett@aurora.tech>
---
 drivers/usb/serial/option.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index dee79c7d82d5..edbb6054de91 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -1119,6 +1119,12 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
 	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000), /* SIMCom SIM5218 */
 	  .driver_info = NCTRL(0) | NCTRL(1) | NCTRL(2) | NCTRL(3) | RSVD(4) },
+	/* Qualcomm MDM9207 - 0: DIAG, 2: AT, 3: NMEA */
+	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf601),
+	  .driver_info = RSVD(1) | RSVD(4) | RSVD(5) },
+	/* Qualcomm MDM9207 - 2: DIAG, 4: AT, 5: NMEA */
+	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf622),
+	  .driver_info = RSVD(0) | RSVD(1) | RSVD(3) | RSVD(6) },
 	/* Quectel products using Qualcomm vendor ID */
 	{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)},
 	{ USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20),
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration
  2022-12-25 20:52 Add some USB hotspot IDs Matthew Garrett
  2022-12-25 20:52 ` [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Matthew Garrett
@ 2022-12-25 20:52 ` Matthew Garrett
  2022-12-25 20:52 ` [PATCH 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint Matthew Garrett
  2 siblings, 0 replies; 8+ messages in thread
From: Matthew Garrett @ 2022-12-25 20:52 UTC (permalink / raw)
  To: johan, bjorn; +Cc: netdev, linux-usb, Matthew Garrett, Matthew Garrett

The Orbic Speed RC400L presents as a generic MDM9207 device that supports
multiple configurations with different USB IDs. One exposes a QMI interface.
Add the ID for that.

Signed-off-by: Matthew Garrett <mgarrett@aurora.tech>
---
 drivers/net/usb/qmi_wwan.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
index a808d718c012..bf05b7feacc0 100644
--- a/drivers/net/usb/qmi_wwan.c
+++ b/drivers/net/usb/qmi_wwan.c
@@ -1223,6 +1223,7 @@ static const struct usb_device_id products[] = {
 	{QMI_FIXED_INTF(0x05c6, 0x90b2, 3)},    /* ublox R410M */
 	{QMI_FIXED_INTF(0x05c6, 0x920d, 0)},
 	{QMI_FIXED_INTF(0x05c6, 0x920d, 5)},
+	{QMI_FIXED_INTF(0x05c6, 0xf601, 5)},
 	{QMI_QUIRK_SET_DTR(0x05c6, 0x9625, 4)},	/* YUGA CLM920-NC5 */
 	{QMI_FIXED_INTF(0x0846, 0x68a2, 8)},
 	{QMI_FIXED_INTF(0x0846, 0x68d3, 8)},	/* Netgear Aircard 779S */
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* [PATCH 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint
  2022-12-25 20:52 Add some USB hotspot IDs Matthew Garrett
  2022-12-25 20:52 ` [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Matthew Garrett
  2022-12-25 20:52 ` [PATCH 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration Matthew Garrett
@ 2022-12-25 20:52 ` Matthew Garrett
  2 siblings, 0 replies; 8+ messages in thread
From: Matthew Garrett @ 2022-12-25 20:52 UTC (permalink / raw)
  To: johan, bjorn; +Cc: netdev, linux-usb, Matthew Garrett

The Novatel MiFi 8800L can be configured into exposing additional
endpoints by sending four bytes of 0s to the HID endpoint it exposes by
default. One of the additional exposed endpoints is a Qualcomm DIAG protocol
interface. Add the information for that in order to allow it to be used.

Signed-off-by: Matthew Garrett <mjg59@srcf.ucam.org>
---
 drivers/usb/serial/option.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index edbb6054de91..17ea4e48afb7 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -161,6 +161,7 @@ static void option_instat_callback(struct urb *urb);
 #define NOVATELWIRELESS_PRODUCT_U620L		0x9022
 #define NOVATELWIRELESS_PRODUCT_G2		0xA010
 #define NOVATELWIRELESS_PRODUCT_MC551		0xB001
+#define NOVATELWIRELESS_PRODUCT_8800L		0xB023
 
 #define UBLOX_VENDOR_ID				0x1546
 
@@ -1055,6 +1056,7 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E362, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_E371, 0xff, 0xff, 0xff) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_U620L, 0xff, 0x00, 0x00) },
+	{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID, NOVATELWIRELESS_PRODUCT_8800L, 0xff, 0xff, 0xff) },
 
 	{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) },
 	{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },
-- 
2.38.1


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations
  2022-12-25 20:52 ` [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Matthew Garrett
@ 2022-12-26  1:23   ` Lars Melin
  2022-12-26  2:08     ` Matthew Garrett
  0 siblings, 1 reply; 8+ messages in thread
From: Lars Melin @ 2022-12-26  1:23 UTC (permalink / raw)
  To: Matthew Garrett, johan, bjorn; +Cc: netdev, linux-usb, Matthew Garrett

On 12/26/2022 03:52, Matthew Garrett wrote:
> +	/* Qualcomm MDM9207 - 0: DIAG, 2: AT, 3: NMEA */
> +	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf601),
> +	  .driver_info = RSVD(1) | RSVD(4) | RSVD(5) },
> +	/* Qualcomm MDM9207 - 2: DIAG, 4: AT, 5: NMEA */
> +	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf622),
> +	  .driver_info = RSVD(0) | RSVD(1) | RSVD(3) | RSVD(6) },

Please tell what the reserved interfaces are used for and why they 
should be blacklisted.
The generic Qualcomm driver for 05c6:f601 (which is used by at least one 
other brand/reseller) specifies that interface#1 is for USB Modem (ppp 
dial-up).
I assume that you posses this dongle since you add support for it so you 
can easily verify that function which I assume has not been disabled in 
your version.

thanks
Lars


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations
  2022-12-26  1:23   ` Lars Melin
@ 2022-12-26  2:08     ` Matthew Garrett
  2022-12-26  2:43       ` Matthew Garrett
  0 siblings, 1 reply; 8+ messages in thread
From: Matthew Garrett @ 2022-12-26  2:08 UTC (permalink / raw)
  To: Lars Melin; +Cc: johan, bjorn, netdev, linux-usb, Matthew Garrett

On Mon, Dec 26, 2022 at 08:23:34AM +0700, Lars Melin wrote:
> On 12/26/2022 03:52, Matthew Garrett wrote:
> > +	/* Qualcomm MDM9207 - 0: DIAG, 2: AT, 3: NMEA */
> > +	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf601),
> > +	  .driver_info = RSVD(1) | RSVD(4) | RSVD(5) },
> > +	/* Qualcomm MDM9207 - 2: DIAG, 4: AT, 5: NMEA */
> > +	{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf622),
> > +	  .driver_info = RSVD(0) | RSVD(1) | RSVD(3) | RSVD(6) },
> 
> Please tell what the reserved interfaces are used for and why they should be
> blacklisted.

Based on the shipped Windows Qualcomm drivers I have here, for F601 
interface 1 is bound by the qcmdm driver, interface 5 is bound by a QMI 
rmnet, and interfaces 0, 2 and 3 are bound by qcser. That leaves 
interface 4 for adb. For F622, 0 and 1 are RNDIS, 3 is the qcmdm 
interface, 2, 4 and 5 are serial, and 6 is adb. I'm not sure what qcmdm 
does. What format would you like this info in?

> The generic Qualcomm driver for 05c6:f601 (which is used by at least one
> other brand/reseller) specifies that interface#1 is for USB Modem (ppp
> dial-up).

Do you have a pointer to that driver? That seems consistent with the 
Windows drivers, but I have no experience with that.

> I assume that you posses this dongle since you add support for it so you can
> easily verify that function which I assume has not been disabled in your
> version.

Yup, I can check that once I know what it's supposed to be speaking :)

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations
  2022-12-26  2:08     ` Matthew Garrett
@ 2022-12-26  2:43       ` Matthew Garrett
  2022-12-26  5:38         ` Lars Melin
  0 siblings, 1 reply; 8+ messages in thread
From: Matthew Garrett @ 2022-12-26  2:43 UTC (permalink / raw)
  To: Lars Melin; +Cc: johan, bjorn, netdev, linux-usb, Matthew Garrett

On Mon, Dec 26, 2022 at 02:08:23AM +0000, Matthew Garrett wrote:

> Do you have a pointer to that driver? That seems consistent with the 
> Windows drivers, but I have no experience with that.

Ah, it looks like the qcmdm driver is actually just an alias for the 
serial interface, so including that here seems reasonable. I've only 
included devices I can verify, but if you like I can just turn the whole 
.inf data into IDs here?

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations
  2022-12-26  2:43       ` Matthew Garrett
@ 2022-12-26  5:38         ` Lars Melin
  0 siblings, 0 replies; 8+ messages in thread
From: Lars Melin @ 2022-12-26  5:38 UTC (permalink / raw)
  To: Matthew Garrett; +Cc: johan, bjorn, netdev, linux-usb, Matthew Garrett

On 12/26/2022 09:43, Matthew Garrett wrote:
> On Mon, Dec 26, 2022 at 02:08:23AM +0000, Matthew Garrett wrote:
> 
> Ah, it looks like the qcmdm driver is actually just an alias for the
> serial interface, so including that here seems reasonable. I've only
> included devices I can verify, but if you like I can just turn the whole
> .inf data into IDs here?

Yes the WIN qcmdm driver is a serial driver but with dial-up support, in 
linux we use the option driver and ModemManager will handle the dial-up.
So for your v2 of the patch you only need to remove the blacklisting of 
interfaces #1 and #3 respectively and all should be good.







^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-12-26  5:38 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-12-25 20:52 Add some USB hotspot IDs Matthew Garrett
2022-12-25 20:52 ` [PATCH 1/3] USB: serial: option: Add generic MDM9207 configurations Matthew Garrett
2022-12-26  1:23   ` Lars Melin
2022-12-26  2:08     ` Matthew Garrett
2022-12-26  2:43       ` Matthew Garrett
2022-12-26  5:38         ` Lars Melin
2022-12-25 20:52 ` [PATCH 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration Matthew Garrett
2022-12-25 20:52 ` [PATCH 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint Matthew Garrett

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).