Quectel BG96

Reinhard Speyerer rspmn at arcor.de
Tue Nov 14 21:31:18 UTC 2017


On Mon, Nov 13, 2017 at 02:08:36PM +0100, Sebastian Sjoholm wrote:
> Hi again,
> 
> I think I solved this. The Quectel BG96 does not need the QMI_QUIRK as
> EC21/EC25.
> 
> # git diff
> diff --git a/drivers/net/usb/qmi_wwan.c b/drivers/net/usb/qmi_wwan.c
> index 8c37336..4682a93 100644
> --- a/drivers/net/usb/qmi_wwan.c
> +++ b/drivers/net/usb/qmi_wwan.c
> @@ -1238,6 +1238,7 @@ static const struct usb_device_id products[] = {
>         {QMI_FIXED_INTF(0x1e0e, 0x9001, 5)},    /* SIMCom 7230E */
>         {QMI_QUIRK_SET_DTR(0x2c7c, 0x0125, 4)}, /* Quectel EC25, EC20 R2.0
> Mini PCIe */
>         {QMI_QUIRK_SET_DTR(0x2c7c, 0x0121, 4)}, /* Quectel EC21 Mini PCIe */
> +       {QMI_FIXED_INTF(0x2c7c, 0x0296, 4)},    /* Quectel ECBG96 */
> 
>         /* 4. Gobi 1000 devices */
>         {QMI_GOBI1K_DEVICE(0x05c6, 0x9212)},    /* Acer Gobi Modem Device */
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index db3d34c..c0ddfef 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -241,6 +241,7 @@ static void option_instat_callback(struct urb *urb);
>  /* These Quectel products use Quectel's vendor ID */
>  #define QUECTEL_PRODUCT_EC21                   0x0121
>  #define QUECTEL_PRODUCT_EC25                   0x0125
> +#define QUECTEL_PRODUCT_BG96                   0x0296
> 
>  #define CMOTECH_VENDOR_ID                      0x16d8
>  #define CMOTECH_PRODUCT_6001                   0x6001
> @@ -1185,6 +1186,8 @@ static const struct usb_device_id option_ids[] = {
>           .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
>         { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_EC25),
>           .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
> +        { USB_DEVICE(QUECTEL_VENDOR_ID, QUECTEL_PRODUCT_BG96),
> +          .driver_info = (kernel_ulong_t)&net_intf4_blacklist },
>         { 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),
> #
> 

Hi Sebastian,

I am a little bit surprised that the BG96 firmware you have
('BG96MAR02A04M1G  1  [Sep 06 2017 08:00:00]') only works without the
SET_DTR quirk. When using a BG96 with a slighly older firmware
('BG96MAR02A02M1G  1  [Jun 30 2017 04:00:00]') the device responds to
QMI requests for me with both versions of your qmi_wwan patch.

Apart from that, a minor typo ("Quectel ECBG96" instead of "Quectel
BG96") and additional whitespace in the "Quectel EC25" line both
patches look basically OK to me.

Regards,
Reinhard


More information about the libqmi-devel mailing list