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