mirror of
https://github.com/FUjr/gl-infra-builder.git
synced 2025-12-17 17:44:06 +00:00
70 lines
2.6 KiB
Diff
70 lines
2.6 KiB
Diff
From 312017d0884366a9862abcc1e1df06acc8e7cf69 Mon Sep 17 00:00:00 2001
|
|
From: Jianhui Zhao <jianhui.zhao@gl-inet.com>
|
|
Date: Tue, 12 Jul 2022 12:23:17 +0800
|
|
Subject: [PATCH] ipq807x: add support novatel rndis
|
|
|
|
Signed-off-by: Jianhui Zhao <jianhui.zhao@gl-inet.com>
|
|
---
|
|
.../205-add-support-novatel-rndis.patch | 49 +++++++++++++++++++
|
|
1 file changed, 49 insertions(+)
|
|
create mode 100644 feeds/ipq807x/ipq807x/patches/205-add-support-novatel-rndis.patch
|
|
|
|
diff --git a/feeds/ipq807x/ipq807x/patches/205-add-support-novatel-rndis.patch b/feeds/ipq807x/ipq807x/patches/205-add-support-novatel-rndis.patch
|
|
new file mode 100644
|
|
index 00000000..23145826
|
|
--- /dev/null
|
|
+++ b/feeds/ipq807x/ipq807x/patches/205-add-support-novatel-rndis.patch
|
|
@@ -0,0 +1,49 @@
|
|
+Index: linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/net/usb/cdc_ether.c
|
|
+===================================================================
|
|
+--- linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016.orig/drivers/net/usb/cdc_ether.c
|
|
++++ linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/net/usb/cdc_ether.c
|
|
+@@ -54,11 +54,19 @@ static int is_wireless_rndis(struct usb_
|
|
+ desc->bInterfaceProtocol == 3);
|
|
+ }
|
|
+
|
|
++static int is_novatel_rndis(struct usb_interface_descriptor *desc)
|
|
++{
|
|
++ return (desc->bInterfaceClass == USB_CLASS_MISC &&
|
|
++ desc->bInterfaceSubClass == 4 &&
|
|
++ desc->bInterfaceProtocol == 1);
|
|
++}
|
|
++
|
|
+ #else
|
|
+
|
|
+ #define is_rndis(desc) 0
|
|
+ #define is_activesync(desc) 0
|
|
+ #define is_wireless_rndis(desc) 0
|
|
++#define is_novatel_rndis(desc) 0
|
|
+
|
|
+ #endif
|
|
+
|
|
+@@ -150,7 +158,8 @@ int usbnet_generic_cdc_bind(struct usbne
|
|
+ */
|
|
+ rndis = (is_rndis(&intf->cur_altsetting->desc) ||
|
|
+ is_activesync(&intf->cur_altsetting->desc) ||
|
|
+- is_wireless_rndis(&intf->cur_altsetting->desc));
|
|
++ is_wireless_rndis(&intf->cur_altsetting->desc) ||
|
|
++ is_novatel_rndis(&intf->cur_altsetting->desc));
|
|
+
|
|
+ memset(info, 0, sizeof(*info));
|
|
+ info->control = intf;
|
|
+Index: linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/net/usb/rndis_host.c
|
|
+===================================================================
|
|
+--- linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016.orig/drivers/net/usb/rndis_host.c
|
|
++++ linux-4.4.60-qsdk-11f09717303ecd83c3a64e9efe23f25921dc1016/drivers/net/usb/rndis_host.c
|
|
+@@ -627,6 +627,10 @@ static const struct usb_device_id produc
|
|
+ /* RNDIS for tethering */
|
|
+ USB_INTERFACE_INFO(USB_CLASS_WIRELESS_CONTROLLER, 1, 3),
|
|
+ .driver_info = (unsigned long) &rndis_info,
|
|
++}, {
|
|
++ /* Novatel Verizon USB730L */
|
|
++ USB_INTERFACE_INFO(USB_CLASS_MISC, 4, 1),
|
|
++ .driver_info = (unsigned long) &rndis_info,
|
|
+ },
|
|
+ { }, // END
|
|
+ };
|
|
--
|
|
2.25.1
|
|
|