From patchwork Mon Dec 26 23:47:49 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081966 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 91C24C3DA79 for ; Mon, 26 Dec 2022 23:51:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232504AbiLZXvM (ORCPT ); Mon, 26 Dec 2022 18:51:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60810 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230088AbiLZXvK (ORCPT ); Mon, 26 Dec 2022 18:51:10 -0500 Received: from cavan.codon.org.uk (irc.codon.org.uk [IPv6:2a00:1098:84:22e::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 64443DDD; Mon, 26 Dec 2022 15:51:05 -0800 (PST) Received: from x2100.. (52-119-115-32.PUBLIC.monkeybrains.net [52.119.115.32]) by cavan.codon.org.uk (Postfix) with ESMTPSA id AF080424AA; Mon, 26 Dec 2022 23:51:02 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett , Matthew Garrett Subject: [PATCH V2 1/3] USB: serial: option: Add generic MDM9207 configurations Date: Mon, 26 Dec 2022 15:47:49 -0800 Message-Id: <20221226234751.444917-2-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221226234751.444917-1-mjg59@srcf.ucam.org> References: <20221226234751.444917-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org 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 --- 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..5025810db8c9 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, 1: modem, 2: AT, 3: NMEA, 4: adb, 5: QMI */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf601), + .driver_info = RSVD(4) | RSVD(5) }, + /* Qualcomm MDM9207 - 0,1: RNDIS, 2: DIAG, 3: modem, 4: AT, 5: NMEA, 6: adb */ + { USB_DEVICE(QUALCOMM_VENDOR_ID, 0xf622), + .driver_info = RSVD(0) | RSVD(1) | RSVD(6) }, /* Quectel products using Qualcomm vendor ID */ { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC15)}, { USB_DEVICE(QUALCOMM_VENDOR_ID, QUECTEL_PRODUCT_UC20), From patchwork Mon Dec 26 23:47:50 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081965 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 1CDE2C5479D for ; Mon, 26 Dec 2022 23:51:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232514AbiLZXvO (ORCPT ); Mon, 26 Dec 2022 18:51:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60812 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229647AbiLZXvK (ORCPT ); Mon, 26 Dec 2022 18:51:10 -0500 Received: from cavan.codon.org.uk (irc.codon.org.uk [IPv6:2a00:1098:84:22e::2]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 413BCDE0; Mon, 26 Dec 2022 15:51:07 -0800 (PST) Received: from x2100.. (52-119-115-32.PUBLIC.monkeybrains.net [52.119.115.32]) by cavan.codon.org.uk (Postfix) with ESMTPSA id 7D4DC424AC; Mon, 26 Dec 2022 23:51:04 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett , Matthew Garrett Subject: [PATCH V2 2/3] net: usb: qmi_wwan: Add generic MDM9207 configuration Date: Mon, 26 Dec 2022 15:47:50 -0800 Message-Id: <20221226234751.444917-3-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221226234751.444917-1-mjg59@srcf.ucam.org> References: <20221226234751.444917-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org 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 Acked-by: Bjørn Mork --- 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 */ From patchwork Mon Dec 26 23:47:51 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Matthew Garrett X-Patchwork-Id: 13081967 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6C410C46467 for ; Mon, 26 Dec 2022 23:51:16 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232524AbiLZXvO (ORCPT ); Mon, 26 Dec 2022 18:51:14 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60824 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232495AbiLZXvL (ORCPT ); Mon, 26 Dec 2022 18:51:11 -0500 Received: from cavan.codon.org.uk (cavan.codon.org.uk [176.126.240.207]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1F244DE7; Mon, 26 Dec 2022 15:51:08 -0800 (PST) Received: from x2100.. (52-119-115-32.PUBLIC.monkeybrains.net [52.119.115.32]) by cavan.codon.org.uk (Postfix) with ESMTPSA id 5429A424AD; Mon, 26 Dec 2022 23:51:06 +0000 (GMT) From: Matthew Garrett To: johan@kernel.org, bjorn@mork.no Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, Matthew Garrett Subject: [PATCH V2 3/3] USB: serial: option: Add Novatel MiFi 8800L diag endpoint Date: Mon, 26 Dec 2022 15:47:51 -0800 Message-Id: <20221226234751.444917-4-mjg59@srcf.ucam.org> X-Mailer: git-send-email 2.38.1 In-Reply-To: <20221226234751.444917-1-mjg59@srcf.ucam.org> References: <20221226234751.444917-1-mjg59@srcf.ucam.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org 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 --- 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 5025810db8c9..40a4ccb888f9 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) },