The option driver is compiled as a module.
The option driver patch, and other related patches are listed within
my previous email:
> On 24/10/17 00:56, Gal Shalif wrote:
The following was used to switch the Novatel USB730L from user mode
(product ID 0x9030) into enterprise mode (product ID 0x9032):
* Tested with Linux kernel 3.14.15 on a 32bit ARM machine (kernel is
compiled without IPV6) and with static HID driver
* Kernel patches 1: ignore HID interface of Novatel USB730L modem to
allow a USB modeswitch when the HID driver is statically compiled into
the kernel.
$ git show HEAD
commit 23231636db13c8c47d64aaa75347b3c184dd6387
Author: Gal Shalif <gals@xxx>
Date: Thu Oct 19 17:28:13 2017 +0300
HID: ignore Novatel USB730L modem
Ignore the Novatel USB730L modem - otherwise,
a kernel that is compile with a static HID driver
will not allow a USB mode switch of the modem from the default
user mode (product ID: 9030) into enterprise mode (producr ID: 9032).
diff --git drivers/hid/hid-core.c drivers/hid/hid-core.c
index 9bc9116..08be36d7b 100644
--- drivers/hid/hid-core.c
+++ drivers/hid/hid-core.c
@@ -2772,6 +2772,9 @@ static const struct hid_device_idhid_ignore_list[] = {
{ HID_USB_DEVICE(USB_VENDOR_ID_SYNAPTICS,
USB_DEVICE_ID_SYNAPTICS_DPAD) },
#endif
{ HID_USB_DEVICE(USB_VENDOR_ID_YEALINK,
USB_DEVICE_ID_YEALINK_P1K_P4K_B2K) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_NOVATEL,
USB_DEVICE_ID_NOVATEL_USB730L_USER_MODE) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_NOVATEL,
USB_DEVICE_ID_NOVATEL_USB730L_ENTERPRISE_MODE) },
+
{ }
};
diff --git drivers/hid/hid-ids.h drivers/hid/hid-ids.h
index a989191..b6908d0 100644
--- drivers/hid/hid-ids.h
+++ drivers/hid/hid-ids.h
@@ -1145,6 +1145,10 @@
#define USB_DEVICE_ID_PRIMAX_MOUSE_4D22 0x4d22
#define USB_DEVICE_ID_PRIMAX_KEYBOARD 0x4e05
+#define USB_VENDOR_ID_NOVATEL 0x1410 /*
blacklist Novatel Wireless USB730L */
+#define USB_DEVICE_ID_NOVATEL_USB730L_USER_MODE 0x9030 /*
blacklist Novatel Wireless USB730L */
+#define USB_DEVICE_ID_NOVATEL_USB730L_ENTERPRISE_MODE 0x9032 /*
blacklist Novatel Wireless USB730L */
+
#define USB_VENDOR_ID_RISO_KAGAKU 0x1294 /* Riso Kagaku Corp. */
#define USB_DEVICE_ID_RI_KA_WEBMAIL 0x1320 /* Webmail Notifier */
* Kernel patches 2: add Novatel USB730L enterprise mode serial interface
$ git show 9bacb30
commit 9bacb3082a90fc39047721a0887d5414f5e7008d
Author: Gal Shalif <gals@xxx>
Date: Thu Oct 19 17:18:48 2017 +0300
USB: serial: option: add support for Novatel USB730L enterprise mode
Add device ID for Novatel USB730L enterprise mode
See details at:
https://www.verizonwireless.com/dam/support/pdf/verizon-usb730l-integration-guide.pdf
diff --git drivers/usb/serial/option.c drivers/usb/serial/option.c
index 54bfef1..bf5f637 100644
--- drivers/usb/serial/option.c
+++ drivers/usb/serial/option.c
@@ -162,6 +162,7 @@ static void option_instat_callback(struct urb *urb);
#define NOVATELWIRELESS_PRODUCT_E362 0x9010
#define NOVATELWIRELESS_PRODUCT_E371 0x9011
#define NOVATELWIRELESS_PRODUCT_U620L 0x9022
+#define NOVATELWIRELESS_PRODUCT_ENTERPRISE_U730L 0x9032 /* Novtel
USB730L enterprize mode (from
https://www.verizonwireless.com/dam/support/pdf/verizon-usb730l-integration-guide.pdf)
*/
#define NOVATELWIRELESS_PRODUCT_G2 0xA010
#define NOVATELWIRELESS_PRODUCT_MC551 0xB001
@@ -1120,6 +1121,7 @@ static const struct usb_device_id option_ids[] = {
{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID,
NOVATELWIRELESS_PRODUCT_E362, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID,
NOVATELWIRELESS_PRODUCT_E371, 0xff, 0xff, 0xff) },
{ USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID,
NOVATELWIRELESS_PRODUCT_U620L, 0xff, 0x00, 0x00) },
+ { USB_DEVICE_AND_INTERFACE_INFO(NOVATELWIRELESS_VENDOR_ID,
NOVATELWIRELESS_PRODUCT_ENTERPRISE_U730L, 0xff, 0x00, 0x00) }, /*
Novtel USB730L enterprize mode (from
https://www.verizonwireless.com/dam/support/pdf/verizon-usb730l-integration-guide.pdf)
*/
{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) },
{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },
* Mode switch file is:
$ cat 1410:9030
# Novatel Wireless MiFi USB730L
DefaultVendor=0x1410
DefaultProduct=0x9030
TargetVendor=0x1410
TargetProduct=0x9032
NeedResponse=0
Configuration=0x03
Notes:
* Tested with Linux kernel 3.14.15 on a 32bit ARM machine (kernel is
compiled without IPV6) and with static HID driver
* Novatel Linux integration guide -
https://www.verizonwireless.com/dam/support/pdf/verizon-usb730l-integration-guide.pdf
* Unlike the Novatel paper above - the mode switch configuration for
the enterprise mode is 3 and NOT 4
On Tue, Oct 24, 2017 at 11:14 AM, Oliver Neukum <[email protected]> wrote:
> Am Dienstag, den 24.10.2017, 00:56 +0300 schrieb Gal Shalif:
>> The following was used to switch the Novatel USB730L from user mode
>> (product ID 0x9030) into enterprise mode (product ID 0x9032):
>> * Tested with Linux kernel 3.14.15 on a 32bit ARM machine (kernel is
>> compiled without IPV6) and with static HID driver
>> * Kernel patches 1: ignore HID interface of Novatel USB730L modem to
>> allow a USB modeswitch when the HID driver is statically compiled into
>> the kernel.
>
> Hi,
>
> shouldn't that depend on option being compiled for the kernel?
>
> Regards
> Oliver
>
--
Gal
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html