usb:serial: add Quectel EC20 and HUAWEI ME9090s LTE module
Quectel EC20CFD-512-STD HUAWEI ME909s-821
This commit is contained in:
@ -1175,6 +1175,8 @@ static const struct usb_device_id option_ids[] = {
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x6613)}, /* Onda H600/ZTE MF330 */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x0023)}, /* ONYX 3G device */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9000)}, /* SIMCom SIM5218 */
|
||||
{ USB_DEVICE(QUALCOMM_VENDOR_ID, 0x9215)}, /* Quectel EC20CD-256 */
|
||||
{ USB_DEVICE(0x2C7C, 0x0125)}, /* Quectel EC20CFD-512 */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x68c0, 0xff),
|
||||
.driver_info = (kernel_ulong_t)&sierra_mc73xx_blacklist }, /* MC73xx */
|
||||
{ USB_DEVICE_INTERFACE_CLASS(SIERRA_VENDOR_ID, 0x9041, 0xff),
|
||||
@ -2066,6 +2068,7 @@ static struct usb_serial_driver option_1port_device = {
|
||||
#ifdef CONFIG_PM
|
||||
.suspend = usb_wwan_suspend,
|
||||
.resume = usb_wwan_resume,
|
||||
.reset_resume = usb_wwan_resume,
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
@ -92,7 +92,7 @@ static const struct usb_device_id id_table[] = {
|
||||
{USB_DEVICE(0x03f0, 0x241d)}, /* HP Gobi 2000 QDL device (VP412) */
|
||||
{USB_DEVICE(0x03f0, 0x251d)}, /* HP Gobi 2000 Modem device (VP412) */
|
||||
{USB_DEVICE(0x05c6, 0x9214)}, /* Acer Gobi 2000 QDL device (VP413) */
|
||||
{USB_DEVICE(0x05c6, 0x9215)}, /* Acer Gobi 2000 Modem device (VP413) */
|
||||
/*{USB_DEVICE(0x05c6, 0x9215)}, Acer Gobi 2000 Modem device (VP413) */
|
||||
{USB_DEVICE(0x05c6, 0x9264)}, /* Asus Gobi 2000 QDL device (VR305) */
|
||||
{USB_DEVICE(0x05c6, 0x9265)}, /* Asus Gobi 2000 Modem device (VR305) */
|
||||
{USB_DEVICE(0x05c6, 0x9234)}, /* Top Global Gobi 2000 QDL device (VR306) */
|
||||
|
||||
@ -471,6 +471,15 @@ static struct urb *usb_wwan_setup_urb(struct usb_serial_port *port,
|
||||
usb_sndbulkpipe(serial->dev, endpoint) | dir,
|
||||
buf, len, callback, ctx);
|
||||
|
||||
/* for Quectel EC20 4G module */
|
||||
if (dir == USB_DIR_OUT) {
|
||||
struct usb_device_descriptor *desc = &serial->dev->descriptor;
|
||||
|
||||
if (desc->idVendor == 0x05C6 && (desc->idProduct == 0x9003 || desc->idProduct ==
|
||||
0x9090 || desc->idProduct == 0x9215))
|
||||
urb->transfer_flags |= URB_ZERO_PACKET;
|
||||
}
|
||||
|
||||
return urb;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user