On Sat, Mar 02, 2019 at 01:35:53PM +0100, Kristian Evensen wrote:
> The Quectel EM12 is a Cat. 12 LTE modem. It behaves in the exactly the
> same way as the EP06 (including the dynamic configuration behavior), so
> the same checkes on reserved interfaces, etc. are needed.
>
> Signed-off-by: Kristian Evensen <[email protected]>
> ---
> drivers/usb/serial/option.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index aef15497ff31..cc8932658e72 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -246,6 +246,7 @@ static void option_instat_callback(struct urb *urb);
> #define QUECTEL_PRODUCT_EC25 0x0125
> #define QUECTEL_PRODUCT_BG96 0x0296
> #define QUECTEL_PRODUCT_EP06 0x0306
> +#define QUECTEL_PRODUCT_EM12 0x0512
>
> #define CMOTECH_VENDOR_ID 0x16d8
> #define CMOTECH_PRODUCT_6001 0x6001
> @@ -1086,7 +1087,10 @@ static const struct usb_device_id option_ids[] = {
> .driver_info = RSVD(4) },
> { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID,
> QUECTEL_PRODUCT_EP06, 0xff, 0xff, 0xff),
> .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
> + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID,
> QUECTEL_PRODUCT_EM12, 0xff, 0xff, 0xff),
> + .driver_info = RSVD(1) | RSVD(2) | RSVD(3) | RSVD(4) | NUMEP2 },
> { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID,
> QUECTEL_PRODUCT_EP06, 0xff, 0, 0) },
> + { USB_DEVICE_AND_INTERFACE_INFO(QUECTEL_VENDOR_ID,
> QUECTEL_PRODUCT_EM12, 0xff, 0, 0) },
I think we should keep both entries together, so reordered above.
> { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6001) },
> { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_CMU_300) },
> { USB_DEVICE(CMOTECH_VENDOR_ID, CMOTECH_PRODUCT_6003),
Now applied, but could you please post the output of usb-devices (with
all interfaces enabled) for this device for reference?
Thanks,
Johan