usbserial: Add support for VW/Skoda "Carstick LTE"
Subsystems (2)
PATCH 1/1 usbserial: Add support for VW/Skoda "Carstick LTE"
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.
---
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.
drivers/usb/serial/option.c +4 -0
@@ -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) },
Johan Hovold
maintainerQuoted 12 lines · Florian Zumbiehl
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)
Quoted 8 lines
The stick has AT command interfaces on interfaces 1, 2, and 3, and does PPP on interface 3.
Signed-off-by Florian Zumbiehl <[email protected]>---
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).
drivers/usb/serial/option.c static void option_instat_callback(struct urb *urb); · line 410
Quoted 10 lines
drivers/usb/serial/option.c +2
-0@@ -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