linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] USB: serial: option: add LongSung M5710 module support
@ 2020-12-27  3:17 Daniel Palmer
  2021-01-04 10:32 ` Johan Hovold
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Palmer @ 2020-12-27  3:17 UTC (permalink / raw)
  To: johan, linux-usb; +Cc: gregkh, linux-kernel, Daniel Palmer

Add a vendor id for LongSung and a product id for the M5710 module.

Signed-off-by: Daniel Palmer <daniel@0x0f.com>
---
 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 2c21e34235bb..2666e061c38d 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -560,6 +560,9 @@ static void option_instat_callback(struct urb *urb);
 #define WETELECOM_PRODUCT_6802			0x6802
 #define WETELECOM_PRODUCT_WMD300		0x6803
 
+/* LongSung */
+#define LONGSUNG_VENDOR_ID			0x2df3
+#define LONGSUNG_PRODUCT_M5710			0x9d03
 
 /* Device flags */
 
@@ -2060,6 +2063,8 @@ static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) },			/* GosunCn GM500 RNDIS */
 	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) },			/* GosunCn GM500 MBIM */
 	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
+	/* LongSung devices */
+	{ USB_DEVICE(LONGSUNG_VENDOR_ID, LONGSUNG_PRODUCT_M5710) },		/* LongSung M5710 */
 	{ } /* Terminating entry */
 };
 MODULE_DEVICE_TABLE(usb, option_ids);
-- 
2.30.0.rc2


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

* Re: [PATCH] USB: serial: option: add LongSung M5710 module support
  2020-12-27  3:17 [PATCH] USB: serial: option: add LongSung M5710 module support Daniel Palmer
@ 2021-01-04 10:32 ` Johan Hovold
  2021-01-04 14:29   ` Daniel Palmer
  0 siblings, 1 reply; 4+ messages in thread
From: Johan Hovold @ 2021-01-04 10:32 UTC (permalink / raw)
  To: Daniel Palmer; +Cc: johan, linux-usb, gregkh, linux-kernel

On Sun, Dec 27, 2020 at 12:17:16PM +0900, Daniel Palmer wrote:
> Add a vendor id for LongSung and a product id for the M5710 module.
> 
> Signed-off-by: Daniel Palmer <daniel@0x0f.com>
> ---
>  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 2c21e34235bb..2666e061c38d 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -560,6 +560,9 @@ static void option_instat_callback(struct urb *urb);
>  #define WETELECOM_PRODUCT_6802			0x6802
>  #define WETELECOM_PRODUCT_WMD300		0x6803
>  
> +/* LongSung */
> +#define LONGSUNG_VENDOR_ID			0x2df3
> +#define LONGSUNG_PRODUCT_M5710			0x9d03

I'm trying to move away from adding such defines for new devices as they
do not really add any value so I dropped them from the patch.
  
>  /* Device flags */
>  
> @@ -2060,6 +2063,8 @@ static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1404, 0xff) },			/* GosunCn GM500 RNDIS */
>  	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1405, 0xff) },			/* GosunCn GM500 MBIM */
>  	{ USB_DEVICE_INTERFACE_CLASS(0x305a, 0x1406, 0xff) },			/* GosunCn GM500 ECM/NCM */
> +	/* LongSung devices */
> +	{ USB_DEVICE(LONGSUNG_VENDOR_ID, LONGSUNG_PRODUCT_M5710) },		/* LongSung M5710 */
>  	{ } /* Terminating entry */
>  };
>  MODULE_DEVICE_TABLE(usb, option_ids);

Also, would you mind posting the "lsusb -v" output for this device for
reference? Do you know what each interface is used for?

I've applied this one locally, but I'll await your reply before pushing
it out.

Johan

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

* Re: [PATCH] USB: serial: option: add LongSung M5710 module support
  2021-01-04 10:32 ` Johan Hovold
@ 2021-01-04 14:29   ` Daniel Palmer
  2021-01-04 15:25     ` Johan Hovold
  0 siblings, 1 reply; 4+ messages in thread
From: Daniel Palmer @ 2021-01-04 14:29 UTC (permalink / raw)
  To: Johan Hovold; +Cc: linux-usb, Greg Kroah-Hartman, Linux Kernel Mailing List

Hi Johan,

On Mon, 4 Jan 2021 at 19:32, Johan Hovold <johan@kernel.org> wrote:

> Also, would you mind posting the "lsusb -v" output for this device for
> reference?

The lsusb from busybox on this system doesn't support the -v option it seems.
Here is the output from /sys/kernel/debug/usb/devices:

T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
P:  Vendor=2df3 ProdID=9d03 Rev= 1.00
S:  Manufacturer=Marvell
S:  Product=Mobile Composite Device Bus
S:  SerialNumber=<snip>
C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=500mA
A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms

I can rebuild my rootfs with the usbutils lsusb tomorrow when I have
physical access to it again if needed.

>Do you know what each interface is used for?

The second tty responds to AT commands. The others don't do anything so far.
The hardware documentation doesn't say much aside that there is a usb interface.

Thanks,

Daniel

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

* Re: [PATCH] USB: serial: option: add LongSung M5710 module support
  2021-01-04 14:29   ` Daniel Palmer
@ 2021-01-04 15:25     ` Johan Hovold
  0 siblings, 0 replies; 4+ messages in thread
From: Johan Hovold @ 2021-01-04 15:25 UTC (permalink / raw)
  To: Daniel Palmer
  Cc: Johan Hovold, linux-usb, Greg Kroah-Hartman, Linux Kernel Mailing List

On Mon, Jan 04, 2021 at 11:29:39PM +0900, Daniel Palmer wrote:
> Hi Johan,
> 
> On Mon, 4 Jan 2021 at 19:32, Johan Hovold <johan@kernel.org> wrote:
> 
> > Also, would you mind posting the "lsusb -v" output for this device for
> > reference?
> 
> The lsusb from busybox on this system doesn't support the -v option it seems.
> Here is the output from /sys/kernel/debug/usb/devices:
> 
> T:  Bus=01 Lev=01 Prnt=01 Port=00 Cnt=01 Dev#=  2 Spd=480  MxCh= 0
> D:  Ver= 2.00 Cls=ef(misc ) Sub=02 Prot=01 MxPS=64 #Cfgs=  1
> P:  Vendor=2df3 ProdID=9d03 Rev= 1.00
> S:  Manufacturer=Marvell
> S:  Product=Mobile Composite Device Bus
> S:  SerialNumber=<snip>
> C:* #Ifs= 5 Cfg#= 1 Atr=c0 MxPwr=500mA
> A:  FirstIf#= 0 IfCount= 2 Cls=e0(wlcon) Sub=01 Prot=03
> I:* If#= 0 Alt= 0 #EPs= 1 Cls=e0(wlcon) Sub=01 Prot=03 Driver=rndis_host
> E:  Ad=87(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
> I:* If#= 1 Alt= 0 #EPs= 2 Cls=0a(data ) Sub=00 Prot=00 Driver=rndis_host
> E:  Ad=83(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0c(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 2 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> E:  Ad=82(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0b(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 4 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> E:  Ad=89(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
> E:  Ad=86(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0f(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> I:* If#= 5 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=00 Prot=00 Driver=option
> E:  Ad=88(I) Atr=03(Int.) MxPS=  64 Ivl=4096ms
> E:  Ad=81(I) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> E:  Ad=0a(O) Atr=02(Bulk) MxPS= 512 Ivl=0ms
> 
> I can rebuild my rootfs with the usbutils lsusb tomorrow when I have
> physical access to it again if needed.

That's ok, the above will do just fine.

It looks like we must not try to bind to the first two interfaces
however:

	{ USB_DEVICE_INTERFACE_CLASS(0x2df3, 0x9d03, 0xff) },			/* LongSung M5710 */

> >Do you know what each interface is used for?
> 
> The second tty responds to AT commands. The others don't do anything so far.
> The hardware documentation doesn't say much aside that there is a usb interface.

Ok, thanks. I'll apply this one with the above change now.

Johan

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

end of thread, other threads:[~2021-01-04 15:26 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-12-27  3:17 [PATCH] USB: serial: option: add LongSung M5710 module support Daniel Palmer
2021-01-04 10:32 ` Johan Hovold
2021-01-04 14:29   ` Daniel Palmer
2021-01-04 15:25     ` Johan Hovold

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).