diff mbox series

usbserial: Add support for VW/Skoda "Carstick LTE"

Message ID 20230206010428.GF23822@florz.florz.de (mailing list archive)
State New, archived
Headers show
Series usbserial: Add support for VW/Skoda "Carstick LTE" | expand

Commit Message

Florian Zumbiehl Feb. 6, 2023, 1:04 a.m. UTC
Add support for VW/Skoda "Carstick LTE"

D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=1c9e ProdID=7605 Rev=02.00
S:  Manufacturer=USB Modem
S:  Product=USB Modem
C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)

The stick has AT command interfaces on interfaces 1, 2, and 3, and does PPP
on interface 3.

Signed-off-by: Florian Zumbiehl <florz@florz.de>
---
Note that the patch is untested, I hope that it's trivial enough. I have
the device running on a Debian kernel 4.19 by dynamically binding the USB
device ID to the option driver.

Comments

Johan Hovold Feb. 6, 2023, 8:20 a.m. UTC | #1
On Mon, Feb 06, 2023 at 02:04:28AM +0100, Florian Zumbiehl wrote:
> Add support for VW/Skoda "Carstick LTE"
> 
> D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
> P:  Vendor=1c9e ProdID=7605 Rev=02.00
> S:  Manufacturer=USB Modem
> S:  Product=USB Modem
> C:  #Ifs= 4 Cfg#= 1 Atr=e0 MxPwr=500mA
> I:  If#=0x0 Alt= 0 #EPs= 2 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> I:  If#=0x1 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> I:  If#=0x2 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> I:  If#=0x3 Alt= 0 #EPs= 3 Cls=ff(vend.) Sub=ff Prot=ff Driver=(none)
> 
> The stick has AT command interfaces on interfaces 1, 2, and 3, and does PPP
> on interface 3.
> 
> Signed-off-by: Florian Zumbiehl <florz@florz.de>
> ---
> Note that the patch is untested, I hope that it's trivial enough. I have
> the device running on a Debian kernel 4.19 by dynamically binding the USB
> device ID to the option driver.

Thanks for the patch. Looks good.

I've applied it now with an updated patch prefix:

	USB: serial: option: add support for VW/Skoda "Carstick LTE"

and after moving the new define above the other FOUR_G defines to
maintain the sort order (by PID).

> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index ee5ac4e..61b4a46 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -406,6 +406,8 @@ static void option_instat_callback(struct urb *urb);
>   * It seems to contain a Qualcomm QSC6240/6290 chipset            */
>  #define FOUR_G_SYSTEMS_PRODUCT_W14		0x9603
>  #define FOUR_G_SYSTEMS_PRODUCT_W100		0x9b01
> +/* This one was sold as the VW and Skoda "Carstick LTE" */
> +#define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE	0x7605

Johan
diff mbox series

Patch

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index ee5ac4e..61b4a46 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -406,6 +406,8 @@  static void option_instat_callback(struct urb *urb);
  * It seems to contain a Qualcomm QSC6240/6290 chipset            */
 #define FOUR_G_SYSTEMS_PRODUCT_W14		0x9603
 #define FOUR_G_SYSTEMS_PRODUCT_W100		0x9b01
+/* This one was sold as the VW and Skoda "Carstick LTE" */
+#define FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE	0x7605
 
 /* Fujisoft products */
 #define FUJISOFT_PRODUCT_FS040U			0x9b02
@@ -1980,6 +1982,8 @@  static const struct usb_device_id option_ids[] = {
 	  .driver_info = NCTRL(0) | NCTRL(1) },
 	{ USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_W100),
 	  .driver_info = NCTRL(1) | NCTRL(2) | RSVD(3) },
+	{ USB_DEVICE(LONGCHEER_VENDOR_ID, FOUR_G_SYSTEMS_PRODUCT_CARSTICK_LTE),
+	  .driver_info = RSVD(0) },
 	{USB_DEVICE(LONGCHEER_VENDOR_ID, FUJISOFT_PRODUCT_FS040U),
 	 .driver_info = RSVD(3)},
 	{ USB_DEVICE_INTERFACE_CLASS(LONGCHEER_VENDOR_ID, SPEEDUP_PRODUCT_SU9800, 0xff) },