--- a/drivers/net/usb/rndis_host.c +++ b/drivers/net/usb/rndis_host.c @@ -630,6 +630,16 @@ static const struct driver_info zte_rndi .tx_fixup = rndis_tx_fixup, }; +static const struct driver_info asr_rndis_info = { + .description = "Asr RNDIS device", + .flags = FLAG_WWAN | FLAG_POINTTOPOINT | FLAG_FRAMING_RN | FLAG_NO_SETINT | FLAG_NOARP, + .bind = rndis_bind, + .unbind = rndis_unbind, + .status = rndis_status, + .rx_fixup = rndis_rx_fixup, + .tx_fixup = rndis_tx_fixup, +}; + /*-------------------------------------------------------------------------*/ static const struct usb_device_id products [] = { @@ -666,6 +676,36 @@ static const struct usb_device_id produc USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3), .driver_info = (unsigned long) &rndis_info, }, { + /* Quectel EG060V rndis device */ + USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6004, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { + /* Quectel EC200A rndis device */ + USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6005, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { + /* Quectel EC200T rndis device */ + USB_DEVICE_AND_INTERFACE_INFO(0x2c7c, 0x6026, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { + /* Simcom A7906E rndis device */ + USB_DEVICE_AND_INTERFACE_INFO(0x1e0e, 0x9011, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { + /* Meig SLM770A */ + USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d57, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { + /* Meig SLM828 */ + USB_DEVICE_AND_INTERFACE_INFO(0x2dee, 0x4d49, + USB_CLASS_WIRELESS_CONTROLLER, 1, 3), + .driver_info = (unsigned long) &asr_rndis_info, +}, { /* Novatel Verizon USB730L */ USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1), .driver_info = (unsigned long) &rndis_info,