diff --git a/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch new file mode 100644 index 0000000000..eccfbe5612 --- /dev/null +++ b/target/linux/generic/backport-4.14/030-USB-serial-option-fix-dwm-158-3g-modem-interface.patch @@ -0,0 +1,42 @@ +From ebe37f322acbb95966094cb2b0fff6e44b5893a6 Mon Sep 17 00:00:00 2001 +From: Giuseppe Lippolis +Date: Mon, 23 Apr 2018 09:03:06 +0200 +Subject: [PATCH] USB: serial: option: fix dwm-158 3g modem interface + +The dwm-158 interface 4 and 5 doesn't answer to the AT commands +and doesn't appears a option interface. +Tested on openwrt distribution (kernel 4.14 using the old blacklist +definitions). + +Lars Melin also writes: + + Blacklisting interface 4 and 5 is correct because: + + MI_00 D-Link Mobile Broadband Device (cdc_ether) + MI_02 D-Link HSPA+DataCard Diagnostics Interface (also ppp modem) + MI_03 D-Link HSPA+DataCard NMEA Device + MI_04 D-Link HSPA+DataCard Speech Port + MI_05 D-Link HSPA+DataCard Debug Port + MI_06 USB Mass Storage Device + +Signed-off-by: Giuseppe Lippolis +[ johan: add Lars's comment on the interface layout ] +Cc: Lars Melin +Cc: stable # c3a65808f04a +Signed-off-by: Johan Hovold +--- + drivers/usb/serial/option.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +--- a/drivers/usb/serial/option.c ++++ b/drivers/usb/serial/option.c +@@ -2046,7 +2046,8 @@ static const struct usb_device_id option + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d01, 0xff) }, /* D-Link DWM-156 (variant) */ + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d02, 0xff) }, + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d03, 0xff) }, +- { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff) }, /* D-Link DWM-158 */ ++ { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d04, 0xff), /* D-Link DWM-158 */ ++ .driver_info = (kernel_ulong_t)&cinterion_rmnet2_blacklist }, + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7d0e, 0xff) }, /* D-Link DWM-157 C1 */ + { USB_DEVICE_INTERFACE_CLASS(0x2001, 0x7e19, 0xff), /* D-Link DWM-221 B1 */ + .driver_info = (kernel_ulong_t)&net_intf4_blacklist },