diff mbox series

USB: serial: qcserial: add support for Sierra Wireless EM7511

Message ID 20240823183553.2288-1-alon.barlev@gmail.com (mailing list archive)
State New
Headers show
Series USB: serial: qcserial: add support for Sierra Wireless EM7511 | expand

Commit Message

Alon Bar-Lev Aug. 23, 2024, 6:35 p.m. UTC
From: Alon Bar-Lev <alon.barlev@gmail.com>

Add support for Sierra Wireless EM7511 0x90b0/0x90b1 compositions.

Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
---
 drivers/usb/serial/qcserial.c | 2 ++
 1 file changed, 2 insertions(+)

Comments

Reinhard Speyerer Aug. 24, 2024, 5:33 p.m. UTC | #1
On Fri, Aug 23, 2024 at 09:35:53PM +0300, alon.barlev@gmail.com wrote:
> From: Alon Bar-Lev <alon.barlev@gmail.com>
> 
> Add support for Sierra Wireless EM7511 0x90b0/0x90b1 compositions.
> 
> Signed-off-by: Alon Bar-Lev <alon.barlev@gmail.com>
> ---
>  drivers/usb/serial/qcserial.c | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
> index 703a9c563557..4e19536a603c 100644
> --- a/drivers/usb/serial/qcserial.c
> +++ b/drivers/usb/serial/qcserial.c
> @@ -165,6 +165,8 @@ static const struct usb_device_id id_table[] = {
>  	{DEVICE_SWI(0x1199, 0x907b)},	/* Sierra Wireless EM74xx */
>  	{DEVICE_SWI(0x1199, 0x9090)},	/* Sierra Wireless EM7565 QDL */
>  	{DEVICE_SWI(0x1199, 0x9091)},	/* Sierra Wireless EM7565 */
> +	{DEVICE_SWI(0x1199, 0x90b0)},	/* Sierra Wireless EM7511 QDL */
> +	{DEVICE_SWI(0x1199, 0x90b1)},	/* Sierra Wireless EM7511 */

Hi Alon,

the interface layout for the DEVICE_SWI(0x1199, 0x90b1) entry from your patch
disagrees with the usb-devices output from
https://forum.sierrawireless.com/t/em7565-1199-90b1-usbx-qcserial-issue-ubuntu-20-04-mbpl-driver-fail-to-compile/26361
and the Sierra Wireless MBPL_DRIVER_R27_ENG2-usb-src.tar.gz driver attached
to this thread https://forum.sierrawireless.com/t/driver-make-error/30702 .

As a consequence the DIAG interface would not be supported by the mainline
Linux kernel.

Regards,
Reinhard
Alon Bar-Lev Aug. 24, 2024, 10:25 p.m. UTC | #2
On Sat, Aug 24, 2024 at 8:33 PM Reinhard Speyerer <rspmn@arcor.de> wrote:
>
> On Fri, Aug 23, 2024 at 09:35:53PM +0300, alon.barlev@gmail.com wrote:
> > From: Alon Bar-Lev <alon.barlev@gmail.com>
> > +     {DEVICE_SWI(0x1199, 0x90b0)},   /* Sierra Wireless EM7511 QDL */
> > +     {DEVICE_SWI(0x1199, 0x90b1)},   /* Sierra Wireless EM7511 */
>
> Hi Alon,
>
> the interface layout for the DEVICE_SWI(0x1199, 0x90b1) entry from your patch
> disagrees with the usb-devices output from
> https://forum.sierrawireless.com/t/em7565-1199-90b1-usbx-qcserial-issue-ubuntu-20-04-mbpl-driver-fail-to-compile/26361
> and the Sierra Wireless MBPL_DRIVER_R27_ENG2-usb-src.tar.gz driver attached
> to this thread https://forum.sierrawireless.com/t/driver-make-error/30702 .
>
> As a consequence the DIAG interface would not be supported by the mainline
> Linux kernel.
>
> Regards,
> Reinhard

Hi Reinhard,

Thank you for the references.

The push back is regarding hardware specific modification of qcserial
to meet device requirement.
To make it harder, Sierra patches upstream modules and provides as-is
without the ability of side-by-side installation.
I compared the changes of qmi_wwan, usb_wwan most are trivial and
hopefully reach upstream.
I hope they workout and add the options support so this can be
upstreamed eventually.

In order to load firmware it should have been sufficient to have QDL
setup + somehow setup the tty for the AT channel.

    echo $vendor $product $interface >
/sys/bus/usb-serial/drivers/qcserial/new_id

Would have done the trick to be able to use this at least manually
without forcing the device specific nor options at this point, not
sure how simple it is to support this notation.

For now I will keep using the patched version of qcserial as it
actually works :)

Thank you again,
Alon
diff mbox series

Patch

diff --git a/drivers/usb/serial/qcserial.c b/drivers/usb/serial/qcserial.c
index 703a9c563557..4e19536a603c 100644
--- a/drivers/usb/serial/qcserial.c
+++ b/drivers/usb/serial/qcserial.c
@@ -165,6 +165,8 @@  static const struct usb_device_id id_table[] = {
 	{DEVICE_SWI(0x1199, 0x907b)},	/* Sierra Wireless EM74xx */
 	{DEVICE_SWI(0x1199, 0x9090)},	/* Sierra Wireless EM7565 QDL */
 	{DEVICE_SWI(0x1199, 0x9091)},	/* Sierra Wireless EM7565 */
+	{DEVICE_SWI(0x1199, 0x90b0)},	/* Sierra Wireless EM7511 QDL */
+	{DEVICE_SWI(0x1199, 0x90b1)},	/* Sierra Wireless EM7511 */
 	{DEVICE_SWI(0x1199, 0x90d2)},	/* Sierra Wireless EM9191 QDL */
 	{DEVICE_SWI(0x1199, 0xc080)},	/* Sierra Wireless EM7590 QDL */
 	{DEVICE_SWI(0x1199, 0xc081)},	/* Sierra Wireless EM7590 */