From patchwork Wed May 18 01:04:10 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?b?Q2FybCBZaW4o5q635byg5oiQKQ==?= X-Patchwork-Id: 12853041 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 C18E9C433F5 for ; Wed, 18 May 2022 01:04:20 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233189AbiERBET (ORCPT ); Tue, 17 May 2022 21:04:19 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53158 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233171AbiERBES (ORCPT ); Tue, 17 May 2022 21:04:18 -0400 Received: from APC01-SG2-obe.outbound.protection.outlook.com (mail-sgaapc01on2055.outbound.protection.outlook.com [40.107.215.55]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EE4685401B; Tue, 17 May 2022 18:04:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gGB/+lWcapJDWBsEO5HAU1QnKhfG/7Zpmu3hCZZbUorLGH7w1CD6tKpyY8yq11Sfp0ctaomcH+VdIsRNfT8d9b2o46tTFGFFt2HpkZ6kDwWYHZRBidzhG1A/vwRs8M889nEcZVna2IFhIWoVO3RU+0PHD/EIKy6+MBlJbYBLlL2s2lkdRgS1nK/IKznHJfN6trp/ZahqsEAKkPhWbPVSPlNXcQqUyMB7I0/H7eInLI+U9RR2MYXZfMeq+8X8IduU0psZaWgDSBB4vpd/pzZHtd1riZ7zaBuTlrZulbmndtBfInC3de5MKa0/WIJOJabgyA/LMh7Rm92AhSNAvGKkdQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=Tbi+uIgfa+VVHE3kSh76mV5lqKvFvUovyCMXAOOQTjQ=; b=mTRNmvbKT7DZSUwHKe80vzdB9YK/F2pg+oP9BFJ5nxh0h0ADBBYQ8s46ag+Z0UE+jNrE79MYelKZ0iPiETgCJj3Xt0NPyorvm0Tqs2buy5kGp/vWab9K6/3Q3AX5qQkxbP4sudjHphmU1Fu0QNPEikH5tWjXKBR3DJ4L0kXFT+1lC4jOAeRyBIuKHaVfHqQbrN3DvAlAnRvGOsPQgsMQWn19EVrywJSsf0hwVgn27AkRIoaoYYmiWy3LU80m2jodVbpdL7M7362X8D66J8vY6KCjWxzHBObB6MLF9/+5ZNBZagahekU9GX3xPW2DD9mT8jxolGCpx7X6T8L7QdeXAQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=quectel.com; dmarc=pass action=none header.from=quectel.com; dkim=pass header.d=quectel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quectel.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Tbi+uIgfa+VVHE3kSh76mV5lqKvFvUovyCMXAOOQTjQ=; b=bWx+7bpa2g6zp0UZqunBcokqPwbF5hHp9xa4h1EX4jQTfqZQPcuvBICyZm0uh4UN1wx8jTwAMT4LnKbeSPQtAgNEAeDPTRxaOPVrEEfRYhrhB4S1tU04KssVI4AdzWkW1U59VSMednUGQQtFBSWIe8GSCV7xXqNB8IjI6Oezjwk= Received: from TYZPR06MB4270.apcprd06.prod.outlook.com (2603:1096:400:88::6) by SG2PR06MB5108.apcprd06.prod.outlook.com (2603:1096:4:1cb::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5250.16; Wed, 18 May 2022 01:04:11 +0000 Received: from TYZPR06MB4270.apcprd06.prod.outlook.com ([fe80::c0e6:3fb5:f84f:244c]) by TYZPR06MB4270.apcprd06.prod.outlook.com ([fe80::c0e6:3fb5:f84f:244c%3]) with mapi id 15.20.5250.018; Wed, 18 May 2022 01:04:10 +0000 From: =?eucgb2312_cn?b?Q2FybCBZaW4o0vPVxbPJKQ==?= To: "johan@kernel.org" , "gregkh@linuxfoundation.org" , "linux-usb@vger.kernel.org" , "linux-kernel@vger.kernel.org" CC: "rspmn@arcor.de" Subject: [PATCH v2] USB: serial: option: add Quectel BG95 modem Thread-Topic: [PATCH v2] USB: serial: option: add Quectel BG95 modem Thread-Index: AdhqUy2knlWyFyBvR6aU03Vuqjc4/A== Date: Wed, 18 May 2022 01:04:10 +0000 Message-ID: Accept-Language: zh-CN, en-US Content-Language: zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=quectel.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f21834e5-2ca7-4c2d-86b7-08da386a510b x-ms-traffictypediagnostic: SG2PR06MB5108:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: mLxwFd0iNGzsVAOMk9iYoNWRkMOqV88eBSPxRU+3CMtESTBAd+nYHHmv/vVCxn6y4EZEYLfE4fQ3I+a7VUBF6t2rRQi4NK6p5JS6T2R7B8ZUO5kor90dRVnyQGOgxVnHfU0t8WCd7zF00/A5TS1xwjL+bbnr0ws/+FKr/OGfays75lKTv+r/an3I/9Jhyvm7GjRXXgFh5RsGuJSqVKtqeajdRwXV6B5mpeNy2YK4fC7d/xhcuh7u09d3+u31DkZrgEfu+jJcg2kioxkpe6UGbjpnV0yxvh829ARcUK2KExsFs89u240+FtmhCU6YM6/al9pv2XF7eyLXfLCR8FTwfK/X72X4irQ/9RjH5HXILUNIJpo4u8ek8C1W1tCd286sMwbnMJWIPFhFSGh7JmusA48nsCPn0X2i250N1M0Kdqj0R6dKqyfMnyXbXc4HjQFT+BdKMNJVcJulybmxiJvSPwtd8V4i0ScxPqd4zF6m/r0nXm55LTyxwfADYcgmJrv2Raf68wzgZb4U9w1o068Dqq+maxYR4FJGsqzk9srKJB8NmvP5hNSDyje85GwrwsO+rCnWgEnmItfP5WUM2J9WSV3+OQUm8c6asc8kbDQiziEL1ExMfBwi6EcufjIcDjQ3sKEZZOZyT2+BRf7vNl+PfyXgBQme6dQsxJEfGxkZmQSEKOzDxlAA47kasm8AMm4mXtovpHFZPTQDou85KlLQpA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYZPR06MB4270.apcprd06.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230001)(4636009)(366004)(5660300002)(6506007)(26005)(66556008)(52536014)(9686003)(8936002)(66946007)(2906002)(66476007)(76116006)(7696005)(122000001)(38070700005)(38100700002)(33656002)(64756008)(186003)(55016003)(85182001)(86362001)(508600001)(71200400001)(8676002)(4326008)(66446008)(316002)(110136005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?eucgb2312_cn?b?YnlyczNLOC80amxVTzJ3Y05C?= =?eucgb2312_cn?b?WUdoRWRqWnhrbUkyUEc4N3QrTzNOOGtmRE96M3FiVVVXRnNlbFZiWFRncXZUTE51?= =?eucgb2312_cn?b?T2FhMXJCQVQvOCtOUDdZeElhZ2J2ZmZ3OUpMY1hYTm80Z3dodStRQjIyUEhaOGp0?= =?eucgb2312_cn?b?TlZuNHlMakI4V1ArZVhyQitta01XZ3lHSGJvblNQSUZzU3dBelA0ZW5PVGpyQlVU?= =?eucgb2312_cn?b?dmhlY3kzVnRpdGpvWFZyYjJNUFVhVGY4Tm9kM1dhQURFTFdQUDdoNWVmak5uRHhG?= =?eucgb2312_cn?b?WEkzK21QZWdHZ2R6Z3FUWjBLN0cvcHNDb3U2bGQzZUVMeGFwdjZiVEh5ZGIzVFFO?= =?eucgb2312_cn?b?NXJtaENjQ21ML1N0RWZOeTM3UEp4dVBLVlBUQm03bUl5S0FMZDR5M2JtTFVWZUVG?= =?eucgb2312_cn?b?NFU0bHFORW9tREFIOEcvL2QyTHpqcTB5ZThUWEpiM3BKSE9yVjlvZmdLdHVJK0Ja?= =?eucgb2312_cn?b?MnpkdUdUbE1neGtFQWpsYkplbzgyVXllaHVENVNnYllpYU5YbGMzK1dDKzJhNmE4?= =?eucgb2312_cn?b?anNmMnJGNUJnZFJRSW9BNE5PYWpKMTBYd0FRTU5JQ21RMTRKVlJOWmQ4SXVKYW1a?= =?eucgb2312_cn?b?WHg3ZzF5N25CdUZUbzBSRnRVSEsra3hSTzVsTWkyVXBoV3A2MEFmN1M5bHE4eERu?= =?eucgb2312_cn?b?dUI3K1VoRjVrVDNpSzRBdU44czZGU0pSZDU0bWNodnk1dUxNTFNTN2pSOGJzaENk?= =?eucgb2312_cn?b?MkRBZnpMVzhvNGRaV0tISjU4MGhqMTFwUmwxcm1GeVJVS2xDTWpSeFk1bktYUGJh?= =?eucgb2312_cn?b?WmVNWFBFUW45OUI2SDFjNUVxT2JDZHlyMDNuV2hpOExUQUk4V0tpUDVkQ25DZWdr?= =?eucgb2312_cn?b?aEdPMElkTzl4d1o1UER5dnJLaGNWTEI5UW02eHNHemVlaXBsVDdIVitmTXA1NDNO?= =?eucgb2312_cn?b?MXNlQ3Uzb0pnVnRzb2NGR3JrdXZsTlpwMVBXSm5VNlpFNWE0ZHEyZndQY1lxZU9w?= =?eucgb2312_cn?b?N0tZYjQ0Q1NtK296aEJ4UWxRUjlmTmcxR05sRDVmcTBEM0hMTjZ6N2NsTzRxSmdz?= =?eucgb2312_cn?b?YUFLMlJ6QjdtQS9KSUZVaHZybGthTUN2ck5WRVorMnFMb3RRcERzRWM2UFl1SE9I?= =?eucgb2312_cn?b?dHFtWDVyeVRpOGk4L1FXcEtFYnB4dnU0MFRIazJOVHRxUGlRM2FYT2h6T3FDVEhV?= =?eucgb2312_cn?b?ajZXcm8vUmNoUU05ZCtUb2gzK2FFQXh6LzB0WVg1UTNUdHhIYlM0MjZ5dWxtbndu?= =?eucgb2312_cn?b?bE5Fcm4wcVFTa2JXNWs4eUVHM3hZVGJnR0RQdWlqdnJYNnJOL01EU3pxWTZKSHdF?= =?eucgb2312_cn?b?NEU3Mm1UZVpFZi9ZZmlBUnF6YWZVTjVHWGZESm5jTERVOFhjeHpSV3NHZVFZMHlI?= =?eucgb2312_cn?b?NG5EUE51WmZWZENqZERKOE5xb3pUSDQ5ZTBoV29ITlFLdjN3MzdENGwxN3ozbitL?= =?eucgb2312_cn?b?bXhkZHlHM0M5MTFOWU1rRG5iYnpNMDZsd2tMK2hGbkFOdzhna0g2bGphcS9UcUJ3?= =?eucgb2312_cn?b?MDVMRUJST1NVcVdHRWFBNlhrQmdDYnFEb0F1Rm9tWGFGWW1oaHcwcnRETGlpc1ZB?= =?eucgb2312_cn?b?di9qazdTdWh2Szc2OC9xR0JwRmEzSEY0WnhybFJWWS9JSmZrUldaYXpZZS9SZTJj?= =?eucgb2312_cn?b?VGdlU3o5RlZDQmlSR2pWSUE0bGVoK3h3akVUY3JUam1hVXhsRSt6Z243dDh2N0NF?= =?eucgb2312_cn?b?Y2dUckF5b0Vvcitsam52dzZ3NzAvTERiRzZLcXo2RzNHUG5PUk1odWR6UDB2OWFD?= =?eucgb2312_cn?b?MXBkUGlaVGs4NiswNnRCMnkyemdaQVJsT0lRZkxYMjFmbGVUMjF1UndSaVh1ZVBU?= =?eucgb2312_cn?b?djJKVEJTa0hRWWVIYnFVbXk4Y2dmck1nd21sWGxuRlBuWndTYzNwSTZWL2hqTW1K?= =?eucgb2312_cn?b?SHFuQXJmUW5CVEVzR0V3SDJKamdCTGsyU0JHdEd2WitoMmNzSUxoakJGU0FnRStz?= =?eucgb2312_cn?b?dm55MERBcW5Ha2ZWK0prN1k1V2VKaFJKbDA4YmRHS1Eya3cvK005WEx6VURGMVVF?= =?eucgb2312_cn?b?Mnk3YktTbHNGZHBySEU5Z1NCSEtpQzFJMmdoOURnemQ4QW5zejFGaUd1RVFINHUw?= =?eucgb2312_cn?b?NEk3SlRFeWo1TzZxdmpJRE80aGQwTGZpb1hkY1Jsd1BiVlV6S01NcVlJN2tqdVk4?= =?eucgb2312_cn?b?K1R0ZXExZ3RLRjRqQStid2U1Ny9rTWxIS0M5b3h3U0duR3dPbzZMUFRPWFNBNE84?= =?eucgb2312_cn?b?bnBkYytpaU9sRDJCNkw5eTNRRjN1c3hNdm1uMVh0V3lOL3Y4eVNMQUU0c1hXMHhT?= =?eucgb2312_cn?b?d1l2OXNQRGdLdFNPN1lJcFJqcWJyK21SVFplaWZzUlFiU2RkUi9QbGh3VGpIMEI5?= =?eucgb2312_cn?b?azhWdz09?= MIME-Version: 1.0 X-OriginatorOrg: quectel.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYZPR06MB4270.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: f21834e5-2ca7-4c2d-86b7-08da386a510b X-MS-Exchange-CrossTenant-originalarrivaltime: 18 May 2022 01:04:10.3432 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 7730d043-e129-480c-b1ba-e5b6a9f476aa X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gMlh+XYycCVuFQMX/7crVb3OWZo4KiePNiBf8n4TA9VLHQW9xTsZRuEfE0xHv0ebtM0xExy4X7yVPiN+vPW/DA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SG2PR06MB5108 Precedence: bulk List-ID: X-Mailing-List: linux-usb@vger.kernel.org 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 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 --- v2: add at+qcfgext="usbnet","rmnet" and RSVD(3) --- drivers/usb/serial/option.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c index 152ad8826..21fb8da43 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -256,6 +256,7 @@ static void option_instat_callback(struct urb *urb); #define QUECTEL_PRODUCT_RM500Q 0x0800 #define QUECTEL_PRODUCT_EC200S_CN 0x6002 #define QUECTEL_PRODUCT_EC200T 0x6026 +#define QUECTEL_PRODUCT_BG95 0x0700 #define CMOTECH_VENDOR_ID 0x16d8 #define CMOTECH_PRODUCT_6001 0x6001 @@ -1143,6 +1144,10 @@ static const struct usb_device_id option_ids[] = { .driver_info = ZLP }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200S_CN, 0xff, 0, 0) }, { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC200T, 0xff, 0, 0) }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG95, 0xff, 0xff, 0xff), + .driver_info = RSVD(3) | ZLP }, + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG95, 0xff, 0xfe, 0xff), + .driver_info = ZLP }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) }, { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },