From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-wm1-f44.google.com (mail-wm1-f44.google.com [209.85.128.44]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E99C03BD246 for ; Sun, 17 May 2026 15:32:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.128.44 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779031976; cv=none; b=OLIdUl2NtEh+tZ9XAeU0pI0eBlcHo2aBcyRSo/8lhGFc/JWEdIEki1Nr5p0HqCGc27n8uLkCVpOSr0nOmGe7PBZG0gMFopcbgnqcYOQp07X9hW5IGY4f4W3QtNkgv+PIYpamOoG6mJNFZ1M+stWgDdqFC7q3cL0H40dMB75QYFM= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779031976; c=relaxed/simple; bh=F8ZDoSnCINZyu/mFQFWUW2g/btpcv0l033mkPJlFbII=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DgsQdYmXn9vIKr48UH0qsNmgFDjznvYQd3Dav45vgnbnuiMnAZy8jbX18CyKUc5ldkbAmSTIglH7t6xAYueAvHYqjrrDKVljPf/qdY/JF9iC8+ha4ttGQLh2xDUbR1CEhZKoDJ6u36d15nMKMLjYCP9qZAJkXHBfI0TOGrDKzvI= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=dvB/g4ig; arc=none smtp.client-ip=209.85.128.44 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="dvB/g4ig" Received: by mail-wm1-f44.google.com with SMTP id 5b1f17b1804b1-488d2079582so13169345e9.2 for ; Sun, 17 May 2026 08:32:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1779031973; x=1779636773; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=1Uiz8xiJvwo/H75PhbU5mDS73mUbtuTKV11ZSEnTPoo=; b=dvB/g4ig1HxN0rvotHW2pFuJQ6SR9k604WPT43EWEnzi4PDd+drNEpBU0MX5T4EeaR dI0raPcQ+MdcptCiSwGwKJmKMPzPw43mZ/6v/s8Pxvj3D/KNeNY/9rtwgrAr4zHcUYCF We7Wm3yBmww4pkEFhxv91SATS/YhXh1cePmElcxpNiEU1Rwg8fSePeZLG7AqkPbSIEPK 2DNWDWoMSYkhIkuo+wg3S1JtZ4EGen0Q+7IrX4cBRiUzVKYjjyk3X07bG6cqPJyMjHTA uau+YcEdI61fbi/2ppXoqZ/1tpbVyp6o3Ej2GrcnWeaBbrMbydXBPVYwKQ9J5EZybvWD kT2Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779031973; x=1779636773; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=1Uiz8xiJvwo/H75PhbU5mDS73mUbtuTKV11ZSEnTPoo=; b=DT3x1VEASkYgi5TwYZT2jFigTBuiWRpIeibAkQOkRRmtVhzZwaguMVA8pmRM//zaoS WK1Us7To2FDw+7tEiyyAa5NvoWvX1zkz+bVSHg/v7/ax1mjhmJcopix5zsScj7MgXaRA MWsQjE410TvZCoudWGDK9TfXxk16rr1xc+FONFG0UqJo88MW7XbOYzl94ineUZG/NWI3 D/3Fi0ylbqjvqg43yEJMXAgVgfvNHfTUxgZV+sIU5lH6gO52HgX72Mb7Reh9JaBI3qzI KRC+YA2uE2nsdKj56kGjIwn4s/cwxVkXiwMqGg5nW1sS/Fp6Yo4sEUZrL3UGG0QHiH9h V9zg== X-Forwarded-Encrypted: i=1; AFNElJ/yvBvG+RuJbY9cuVKwY/vYKz6jUe+5F1YkRzR8nj6e/eqgjU/rcbgiFJJ2vHFadwWjxQmqKxUsOrY6Qs8=@vger.kernel.org X-Gm-Message-State: AOJu0YwNF8U5dfpR3wfOGTV93zxQek58bpN329k5JbC4TZNhBDs68gL4 P76UEEJy7Zfhf1pI3k4F+Xp0CB+GMZlvDnXDhpmj6WBhV42H+zPHbiA= X-Gm-Gg: Acq92OH67xHuwOREZQsJJx9BNjPX/Uwuvcc/ahI6dd5iU90kt3yxzzbPi07lEycgqZB jxq17CqiBYPg6ciIhI4qO7c2FfFVlQTcXfBjhGsgRSlW8Bo6hY9ShmEA05+bNyvRUBniVxHflCF 7sGO0jclXPmOqcJtmUDu2lDGabqncJ1W6x4hWtDp8D3t97wcstt32K7kMeBGd0y0DUsOMgWBryz qpEZiN6vSUeiW9jg0oM5JqWDODxK38PlgWO4oIJl1IsqHK8SfZVIBQSjvPwbZ9vKxpNZQ7gKDFq Jm4m0JatI3lKkUVkmEM455VY5dyPZdWqa45ZKXEIo7ae6Dr5voSrZLv8kI7505g7VNRh7KjdRP6 Sb7xrJfYfJs3TZN8rkLkfiE0HSuX9Mcq+xriVy2v58v9+7NLlB24Ix9LwrbsDA5jp8SuEi3mC31 eHVAtOjQocH6gOnAuY6r+NZiMHD+TtvNC9rV6jx8adDokijrYcu/d7MG7uWunTYL7dGyO9ihjA0 yNYVelBVw== X-Received: by 2002:a05:600c:3104:b0:48d:35e:82cb with SMTP id 5b1f17b1804b1-48fe651b2a9mr159990145e9.28.1779031973241; Sun, 17 May 2026 08:32:53 -0700 (PDT) Received: from kestro-laptop-linux.kestro.home (94-224-231-213.access.telenet.be. [94.224.231.213]) by smtp.gmail.com with ESMTPSA id 5b1f17b1804b1-48feab290e1sm95307395e9.2.2026.05.17.08.32.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sun, 17 May 2026 08:32:52 -0700 (PDT) From: Jan Volckaert To: bjorn@mork.no, johan@kernel.org, gregkh@linuxfoundation.org Cc: netdev@vger.kernel.org, linux-usb@vger.kernel.org, linux-kernel@vger.kernel.org, Jan Volckaert Subject: [PATCH v2 2/2] USB: serial: option: add MeiG SRM813Q Date: Sun, 17 May 2026 17:32:37 +0200 Message-ID: <20260517153237.55995-3-janvolck@gmail.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <20260517153237.55995-1-janvolck@gmail.com> References: <20260517153237.55995-1-janvolck@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Add support for the Qualcomm Technology Snapdragon X35-based MeiG SRM813Q module. The module can be put in different modes via AT commands to enable/disable GPS functionality: MODEM - PPP mode(2dee:4d63): AT+SER=1,1 If#= 0: RMNET If#= 1: DIAG/ADB If#= 2: MODEM If#= 3: AT P: Vendor=2dee ProdID=4d63 Rev=05.15 S: Manufacturer=MEIG S: Product=LTE-A Module S: SerialNumber=1bd51f0e C: #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms NMEA mode(2dee:4d64): AT+SER=51,1 If#= 0: RMNET If#= 1: DIAG/ADB If#= 2: NMEA If#= 3: AT P: Vendor=2dee ProdID=4d64 Rev=05.15 S: Manufacturer=MEIG S: Product=LTE-A Module S: SerialNumber=1bd51f0e C: #Ifs= 4 Cfg#= 1 Atr=80 MxPwr=500mA I: If#= 0 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=50 Driver=qmi_wwan E: Ad=01(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=82(I) Atr=03(Int.) MxPS= 8 Ivl=32ms I: If#= 1 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=30 Driver=option E: Ad=02(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms I: If#= 2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=60 Driver=option E: Ad=03(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=84(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=85(I) Atr=03(Int.) MxPS= 10 Ivl=32ms I: If#= 3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=40 Driver=option E: Ad=04(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms E: Ad=87(I) Atr=03(Int.) MxPS= 10 Ivl=32ms Signed-off-by: Jan Volckaert --- 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 c71461893d20..e3827b1e4f27 100644 --- a/drivers/usb/serial/option.c +++ b/drivers/usb/serial/option.c @@ -2446,6 +2446,12 @@ static const struct usb_device_id option_ids[] = { { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d38, 0xff, 0xff, 0x30) }, /* MeiG Smart SRM825WN (Diag) */ { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d38, 0xff, 0xff, 0x40) }, /* MeiG Smart SRM825WN (AT) */ { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d38, 0xff, 0xff, 0x60) }, /* MeiG Smart SRM825WN (NMEA) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d63, 0xff, 0xff, 0x30) }, /* MeiG SRM813Q (Diag) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d63, 0xff, 0xff, 0x40) }, /* MeiG SRM813Q (AT) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d64, 0xff, 0xff, 0x30) }, /* MeiG SRM813Q (Diag) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d64, 0xff, 0xff, 0x40) }, /* MeiG SRM813Q (AT) */ + { USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d64, 0xff, 0xff, 0x60) }, /* MeiG SRM813Q (NMEA) */ + { USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) }, /* LongSung M5710 */ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) }, /* GosunCn GM500 RNDIS */ { USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) }, /* GosunCn GM500 MBIM */ -- 2.43.0