diff mbox series

[2/2] usb: serial: option: add Cellient MPL200 card

Message ID 3db5418fe9e516f4b290736c5a199c9796025e3c.1601715478.git.wilken.gottwalt@mailbox.org
State Superseded
Headers show
Series add Cellient MPL200 card | expand

Commit Message

Wilken Gottwalt Oct. 3, 2020, 9:40 a.m. UTC
Add usb ids of the Cellient MPL200 card.

Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
---
 drivers/usb/serial/option.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Johan Hovold Oct. 5, 2020, 8:20 a.m. UTC | #1
On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
> Add usb ids of the Cellient MPL200 card.
> 
> Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
> ---
>  drivers/usb/serial/option.c | 3 +++
>  1 file changed, 3 insertions(+)
> 
> diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> index 0c6f160a214a..a65e620b2277 100644
> --- a/drivers/usb/serial/option.c
> +++ b/drivers/usb/serial/option.c
> @@ -528,6 +528,7 @@ static void option_instat_callback(struct urb *urb);
>  /* Cellient products */
>  #define CELLIENT_VENDOR_ID			0x2692
>  #define CELLIENT_PRODUCT_MEN200			0x9005
> +#define CELLIENT_PRODUCT_MPL200			0x9025
>  
>  /* Hyundai Petatel Inc. products */
>  #define PETATEL_VENDOR_ID			0x1ff4
> @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
>  	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) },
>  	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) },
>  	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
> +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
> +	  .driver_info = RSVD(1) | RSVD(4) },

Would you mind posting the output of "lsusb -v" for this device?

>  	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
>  	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
>  	{ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) },	/* TP-Link LTE Module */

Johan
Wilken Gottwalt Oct. 5, 2020, 11:01 a.m. UTC | #2
On Mon, 5 Oct 2020 10:20:45 +0200
Johan Hovold <johan@kernel.org> wrote:

> On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
> > Add usb ids of the Cellient MPL200 card.
> > 
> > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
> > ---
> >  drivers/usb/serial/option.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
> > index 0c6f160a214a..a65e620b2277 100644
> > --- a/drivers/usb/serial/option.c
> > +++ b/drivers/usb/serial/option.c
> > @@ -528,6 +528,7 @@ static void option_instat_callback(struct urb *urb);
> >  /* Cellient products */
> >  #define CELLIENT_VENDOR_ID			0x2692
> >  #define CELLIENT_PRODUCT_MEN200			0x9005
> > +#define CELLIENT_PRODUCT_MPL200			0x9025
> >  
> >  /* Hyundai Petatel Inc. products */
> >  #define PETATEL_VENDOR_ID			0x1ff4
> > @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff,
> > 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2,
> > 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
> > +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
> > +	  .driver_info = RSVD(1) | RSVD(4) },
> 
> Would you mind posting the output of "lsusb -v" for this device?

I would like to, but unfortunately I lost access to this really rare hardware
about a month ago. It is a Qualcomm device (0x05c6:0x9025) with a slightly
modified firmware to rebrand it as a Cellient product with a different vendor
id. How to proceed here, if I have no access to it anymore? Drop it?

> >  	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
> >  	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
> >  	{ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00,
> > 0x00) },	/* TP-Link LTE Module */
> 
> Johan

greetings,
Will
Johan Hovold Oct. 5, 2020, 11:06 a.m. UTC | #3
On Mon, Oct 05, 2020 at 01:01:34PM +0200, Wilken Gottwalt wrote:
> On Mon, 5 Oct 2020 10:20:45 +0200
> Johan Hovold <johan@kernel.org> wrote:
> 
> > On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
> > > Add usb ids of the Cellient MPL200 card.
> > > 
> > > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
> > > ---

> > > @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
> > >  	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff,
> > > 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2,
> > > 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
> > > +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
> > > +	  .driver_info = RSVD(1) | RSVD(4) },
> > 
> > Would you mind posting the output of "lsusb -v" for this device?
> 
> I would like to, but unfortunately I lost access to this really rare hardware
> about a month ago. It is a Qualcomm device (0x05c6:0x9025) with a slightly
> modified firmware to rebrand it as a Cellient product with a different vendor
> id. How to proceed here, if I have no access to it anymore? Drop it?

No, that's ok, I've applied the patch now. It's just that in case we
ever need to revisit the handling of quirky devices, it has proven
useful to have a record the descriptors.

Do you remember the interface layout and why you blacklisted interface
1?

Johan
Lars Melin Oct. 5, 2020, 11:36 a.m. UTC | #4
On 10/5/2020 18:06, Johan Hovold wrote:
> On Mon, Oct 05, 2020 at 01:01:34PM +0200, Wilken Gottwalt wrote:
>> On Mon, 5 Oct 2020 10:20:45 +0200
>> Johan Hovold <johan@kernel.org> wrote:
>>
>>> On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
>>>> Add usb ids of the Cellient MPL200 card.
>>>>
>>>> Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
>>>> ---
> 
>>>> @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
>>>>   	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff,
>>>> 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2,
>>>> 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
>>>> +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
>>>> +	  .driver_info = RSVD(1) | RSVD(4) },
>>>
>>> Would you mind posting the output of "lsusb -v" for this device?
>>
>> I would like to, but unfortunately I lost access to this really rare hardware
>> about a month ago. It is a Qualcomm device (0x05c6:0x9025) with a slightly
>> modified firmware to rebrand it as a Cellient product with a different vendor
>> id. How to proceed here, if I have no access to it anymore? Drop it?
> 
> No, that's ok, I've applied the patch now. It's just that in case we
> ever need to revisit the handling of quirky devices, it has proven
> useful to have a record the descriptors.
> 
> Do you remember the interface layout and why you blacklisted interface
> 1?
> 
> Johan
> 

It is very likely that Cellient has replaced the VID with their own and 
kept the PID, it is something other mfgrs has done when buying modules 
from Qualcomm's series of devices with predefined composition.

The MS Windows driver for 05c6:9025 describes the interfaces as:

MI_00 Qualcomm HS-USB Diagnostics 9025
MI_01 Android Composite ADB Interface
MI_02 Qualcomm HS-USB Android Modem 9025
MI_03 Qualcomm HS-USB NMEA 9025
MI_04 Qualcomm Wireless HS-USB Ethernet Adapter 9025
MI_05 USB Mass Storage Device

where the net interface is for QMI/RMNET.
It fully matches the blacklisting Wilken has done for 2692:9025

br
Lars
Wilken Gottwalt Oct. 5, 2020, 12:02 p.m. UTC | #5
On Mon, 5 Oct 2020 13:06:38 +0200
Johan Hovold <johan@kernel.org> wrote:

> On Mon, Oct 05, 2020 at 01:01:34PM +0200, Wilken Gottwalt wrote:
> > On Mon, 5 Oct 2020 10:20:45 +0200
> > Johan Hovold <johan@kernel.org> wrote:
> > 
> > > On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
> > > > Add usb ids of the Cellient MPL200 card.
> > > > 
> > > > Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
> > > > ---
> 
> > > > @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
> > > >  	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2,
> > > > 0xff, 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID,
> > > > MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID,
> > > > CELLIENT_PRODUCT_MEN200) },
> > > > +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
> > > > +	  .driver_info = RSVD(1) | RSVD(4) },
> > > 
> > > Would you mind posting the output of "lsusb -v" for this device?
> > 
> > I would like to, but unfortunately I lost access to this really rare hardware
> > about a month ago. It is a Qualcomm device (0x05c6:0x9025) with a slightly
> > modified firmware to rebrand it as a Cellient product with a different vendor
> > id. How to proceed here, if I have no access to it anymore? Drop it?
> 
> No, that's ok, I've applied the patch now. It's just that in case we
> ever need to revisit the handling of quirky devices, it has proven
> useful to have a record the descriptors.
> 
> Do you remember the interface layout and why you blacklisted interface
> 1?

If I remember correctly this interface belongs to the GPS data, but the
card itself has no connector for a GPS antenna. The NMEA protocol data
there were bogus values. I'm not sure if there is a hardware revision
which has the connector, but the firmware seems to support it. Interface
4 is the qmi endpoint for sure. The other endpoints are Hayes protocol
and diag.

greetings,
Will
Wilken Gottwalt Oct. 5, 2020, 12:07 p.m. UTC | #6
On Mon, 5 Oct 2020 18:36:36 +0700
Lars Melin <larsm17@gmail.com> wrote:

> On 10/5/2020 18:06, Johan Hovold wrote:
> > On Mon, Oct 05, 2020 at 01:01:34PM +0200, Wilken Gottwalt wrote:
> >> On Mon, 5 Oct 2020 10:20:45 +0200
> >> Johan Hovold <johan@kernel.org> wrote:
> >>
> >>> On Sat, Oct 03, 2020 at 11:40:29AM +0200, Wilken Gottwalt wrote:
> >>>> Add usb ids of the Cellient MPL200 card.
> >>>>
> >>>> Signed-off-by: Wilken Gottwalt <wilken.gottwalt@mailbox.org>
> >>>> ---
> > 
> >>>> @@ -1982,6 +1983,8 @@ static const struct usb_device_id option_ids[] = {
> >>>>   	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2,
> >>>> 0xff, 0x02, 0x01) }, { USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID,
> >>>> MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) }, { USB_DEVICE(CELLIENT_VENDOR_ID,
> >>>> CELLIENT_PRODUCT_MEN200) },
> >>>> +	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
> >>>> +	  .driver_info = RSVD(1) | RSVD(4) },
> >>>
> >>> Would you mind posting the output of "lsusb -v" for this device?
> >>
> >> I would like to, but unfortunately I lost access to this really rare hardware
> >> about a month ago. It is a Qualcomm device (0x05c6:0x9025) with a slightly
> >> modified firmware to rebrand it as a Cellient product with a different vendor
> >> id. How to proceed here, if I have no access to it anymore? Drop it?
> > 
> > No, that's ok, I've applied the patch now. It's just that in case we
> > ever need to revisit the handling of quirky devices, it has proven
> > useful to have a record the descriptors.
> > 
> > Do you remember the interface layout and why you blacklisted interface
> > 1?
> > 
> > Johan
> > 
> 
> It is very likely that Cellient has replaced the VID with their own and 
> kept the PID, it is something other mfgrs has done when buying modules 
> from Qualcomm's series of devices with predefined composition.
> 
> The MS Windows driver for 05c6:9025 describes the interfaces as:
> 
> MI_00 Qualcomm HS-USB Diagnostics 9025
> MI_01 Android Composite ADB Interface
> MI_02 Qualcomm HS-USB Android Modem 9025
> MI_03 Qualcomm HS-USB NMEA 9025
> MI_04 Qualcomm Wireless HS-USB Ethernet Adapter 9025
> MI_05 USB Mass Storage Device
> 
> where the net interface is for QMI/RMNET.
> It fully matches the blacklisting Wilken has done for 2692:9025

Does your device have a GPS connector? Mine had not and I'm not sure
if the description of MI_01 is actually correct. I remember looking at
this port and seeing bogus NMEA data.

greetings,
Will
Johan Hovold Oct. 6, 2020, 7:02 a.m. UTC | #7
On Mon, Oct 05, 2020 at 02:07:23PM +0200, Wilken Gottwalt wrote:
> On Mon, 5 Oct 2020 18:36:36 +0700 Lars Melin <larsm17@gmail.com> wrote:
> > On 10/5/2020 18:06, Johan Hovold wrote:

> > > Do you remember the interface layout and why you blacklisted interface
> > > 1?

> > It is very likely that Cellient has replaced the VID with their own and 
> > kept the PID, it is something other mfgrs has done when buying modules 
> > from Qualcomm's series of devices with predefined composition.
> > 
> > The MS Windows driver for 05c6:9025 describes the interfaces as:
> > 
> > MI_00 Qualcomm HS-USB Diagnostics 9025
> > MI_01 Android Composite ADB Interface
> > MI_02 Qualcomm HS-USB Android Modem 9025
> > MI_03 Qualcomm HS-USB NMEA 9025
> > MI_04 Qualcomm Wireless HS-USB Ethernet Adapter 9025
> > MI_05 USB Mass Storage Device
> > 
> > where the net interface is for QMI/RMNET.
> > It fully matches the blacklisting Wilken has done for 2692:9025
> 
> Does your device have a GPS connector? Mine had not and I'm not sure
> if the description of MI_01 is actually correct. I remember looking at
> this port and seeing bogus NMEA data.

Well if it's NMEA then the interface shouldn't be blacklisted (even if
the values are bogus on your device), but if it's ADB it should be as
that is handled by userspace.

Here's some lsusb output from a Cellient MPL200 that still uses the
Qualcomm VID:

	https://www.mail-archive.com/modemmanager-devel@lists.freedesktop.org/msg04523.html

which gives some support to Lars's hypothesis. I guess we'll just keep
the first interface reserved.

Johan
Wilken Gottwalt Oct. 8, 2020, 6:47 a.m. UTC | #8
On Tue, 6 Oct 2020 09:02:01 +0200
Johan Hovold <johan@kernel.org> wrote:

> On Mon, Oct 05, 2020 at 02:07:23PM +0200, Wilken Gottwalt wrote:
> > On Mon, 5 Oct 2020 18:36:36 +0700 Lars Melin <larsm17@gmail.com> wrote:
> > > On 10/5/2020 18:06, Johan Hovold wrote:
> 
> > > > Do you remember the interface layout and why you blacklisted interface
> > > > 1?
> 
> > > It is very likely that Cellient has replaced the VID with their own and 
> > > kept the PID, it is something other mfgrs has done when buying modules 
> > > from Qualcomm's series of devices with predefined composition.
> > > 
> > > The MS Windows driver for 05c6:9025 describes the interfaces as:
> > > 
> > > MI_00 Qualcomm HS-USB Diagnostics 9025
> > > MI_01 Android Composite ADB Interface
> > > MI_02 Qualcomm HS-USB Android Modem 9025
> > > MI_03 Qualcomm HS-USB NMEA 9025
> > > MI_04 Qualcomm Wireless HS-USB Ethernet Adapter 9025
> > > MI_05 USB Mass Storage Device
> > > 
> > > where the net interface is for QMI/RMNET.
> > > It fully matches the blacklisting Wilken has done for 2692:9025
> > 
> > Does your device have a GPS connector? Mine had not and I'm not sure
> > if the description of MI_01 is actually correct. I remember looking at
> > this port and seeing bogus NMEA data.
> 
> Well if it's NMEA then the interface shouldn't be blacklisted (even if
> the values are bogus on your device), but if it's ADB it should be as
> that is handled by userspace.
> 
> Here's some lsusb output from a Cellient MPL200 that still uses the
> Qualcomm VID:
> 
> 	https://www.mail-archive.com/modemmanager-devel@lists.freedesktop.org/msg04523.html
> 
> which gives some support to Lars's hypothesis. I guess we'll just keep
> the first interface reserved.

Lars and Johan are right here. I found an older external Gobi driver
where I actually added comments saying interface 1 is ADB and interface 3
is NMEA delivering only zeroed values because of the missing antenna
connector, at least for the models I had access to.

Will
Johan Hovold Oct. 8, 2020, 7:16 a.m. UTC | #9
On Thu, Oct 08, 2020 at 08:47:33AM +0200, Wilken Gottwalt wrote:
> On Tue, 6 Oct 2020 09:02:01 +0200
> Johan Hovold <johan@kernel.org> wrote:
> 
> > On Mon, Oct 05, 2020 at 02:07:23PM +0200, Wilken Gottwalt wrote:
> > > On Mon, 5 Oct 2020 18:36:36 +0700 Lars Melin <larsm17@gmail.com> wrote:

> > > > It is very likely that Cellient has replaced the VID with their own and 
> > > > kept the PID, it is something other mfgrs has done when buying modules 
> > > > from Qualcomm's series of devices with predefined composition.
> > > > 
> > > > The MS Windows driver for 05c6:9025 describes the interfaces as:
> > > > 
> > > > MI_00 Qualcomm HS-USB Diagnostics 9025
> > > > MI_01 Android Composite ADB Interface
> > > > MI_02 Qualcomm HS-USB Android Modem 9025
> > > > MI_03 Qualcomm HS-USB NMEA 9025
> > > > MI_04 Qualcomm Wireless HS-USB Ethernet Adapter 9025
> > > > MI_05 USB Mass Storage Device
> > > > 
> > > > where the net interface is for QMI/RMNET.
> > > > It fully matches the blacklisting Wilken has done for 2692:9025
> > > 
> > > Does your device have a GPS connector? Mine had not and I'm not sure
> > > if the description of MI_01 is actually correct. I remember looking at
> > > this port and seeing bogus NMEA data.
> > 
> > Well if it's NMEA then the interface shouldn't be blacklisted (even if
> > the values are bogus on your device), but if it's ADB it should be as
> > that is handled by userspace.
> > 
> > Here's some lsusb output from a Cellient MPL200 that still uses the
> > Qualcomm VID:
> > 
> > 	https://www.mail-archive.com/modemmanager-devel@lists.freedesktop.org/msg04523.html
> > 
> > which gives some support to Lars's hypothesis. I guess we'll just keep
> > the first interface reserved.
> 
> Lars and Johan are right here. I found an older external Gobi driver
> where I actually added comments saying interface 1 is ADB and interface 3
> is NMEA delivering only zeroed values because of the missing antenna
> connector, at least for the models I had access to.

Great, thanks for confirming.

Johan
diff mbox series

Patch

diff --git a/drivers/usb/serial/option.c b/drivers/usb/serial/option.c
index 0c6f160a214a..a65e620b2277 100644
--- a/drivers/usb/serial/option.c
+++ b/drivers/usb/serial/option.c
@@ -528,6 +528,7 @@  static void option_instat_callback(struct urb *urb);
 /* Cellient products */
 #define CELLIENT_VENDOR_ID			0x2692
 #define CELLIENT_PRODUCT_MEN200			0x9005
+#define CELLIENT_PRODUCT_MPL200			0x9025
 
 /* Hyundai Petatel Inc. products */
 #define PETATEL_VENDOR_ID			0x1ff4
@@ -1982,6 +1983,8 @@  static const struct usb_device_id option_ids[] = {
 	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x02, 0x01) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(MEDIATEK_VENDOR_ID, MEDIATEK_PRODUCT_DC_4COM2, 0xff, 0x00, 0x00) },
 	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MEN200) },
+	{ USB_DEVICE(CELLIENT_VENDOR_ID, CELLIENT_PRODUCT_MPL200),
+	  .driver_info = RSVD(1) | RSVD(4) },
 	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600A) },
 	{ USB_DEVICE(PETATEL_VENDOR_ID, PETATEL_PRODUCT_NP10T_600E) },
 	{ USB_DEVICE_AND_INTERFACE_INFO(TPLINK_VENDOR_ID, TPLINK_PRODUCT_LTE, 0xff, 0x00, 0x00) },	/* TP-Link LTE Module */