Author Message

<  Device Information  ~  Novatel USB730L 1410:9030

PostPosted: Mon Oct 09, 2017 6:14 am Reply with quote
Posts: 1166 Joined: Wed Jul 11, 2012 3:14 pm Location: Koh Samui, TH
It was reported by Aleksander Morgado to linux_usb and linux netdev for inclusion in the rndis_host driver.

Initial id is 1410:9030 where config#1 is rndis. There are more configurations according to
verizon-usb730l-integration guide, config #2 is cdc_ether and config #4 is cdc_ether in
Enterprise mode.
Selecting config#4 also makes the device change usb id to 1410:9032.

This is same as for USB620L where config#4 had a single usb-storage interface and where
the id changed from 1410:9020 to 1410:9022 when selecting config#4.

We obviously don't want run USB730L in rndis mode with the wacky linux rndis_host driver
so similarly as for USB620L we force it to config#4


Offline
PostPosted: Mon Oct 09, 2017 1:17 pm Reply with quote
Site Admin Posts: 6420 Joined: Sat Nov 03, 2007 12:30 am
Noted, thanks!


Offline
PostPosted: Mon Oct 23, 2017 10:59 pm Reply with quote
Posts: 1 Joined: Mon Oct 16, 2017 5:54 pm
The mode switch file that I use to switch from USB730L user mode (product ID 9030) into enterprise mode (product ID 9032) is:
$ cat 1410:9030
# Novatel Wireless MiFi USB730L
DefaultVendor=0x1410
DefaultProduct=0x9030
TargetVendor=0x1410
TargetProduct=0x9032
NeedResponse=0
Configuration=0x03

Notes:
* Unlike the Novatel paper - the mode switch configuration for the enterprise mode is 3 and NOT 4
* Tested with Linux kernel 3.14.15 on a 32bit ARM machine (kernel is compiled without IPV6) and with static HID driver
Reference:
* Novatel Linux integration guide - https://www.verizonwireless.com/dam/sup ... -guide.pdf

And some kernel patches that I had to apply:

Kernel patches 1: add serial interface - see details at Novatel Linux integration guide - https://www.verizonwireless.com/dam/sup ... -guide.pdf
=======================================================================================================================================
$ git show 9bacb30
commit 9bacb3082a90fc39047721a0887d5414f5e7008d
Author: Gal Shalif <gals@liveu.tv>
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/sup ... -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/sup ... -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/sup ... -guide.pdf) */

{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01) },
{ USB_DEVICE(AMOI_VENDOR_ID, AMOI_PRODUCT_H01A) },

Kernel patches 2: required if HID is statically compiled into the kernel - otherwise, the modem refuse to mode from product ID 9030 into 9032:
=============================================================================================================
$ git show HEAD
commit 23231636db13c8c47d64aaa75347b3c184dd6387
Author: Gal Shalif <gals@liveu.tv>
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_id hid_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 */


Offline
PostPosted: Tue Oct 24, 2017 9:42 am Reply with quote
Posts: 1166 Joined: Wed Jul 11, 2012 3:14 pm Location: Koh Samui, TH
gal_shalif wrote:

The mode switch file that I use to switch from USB730L user mode (product ID 9030) into enterprise mode (product ID 9032) is:
$ cat 1410:9030
# Novatel Wireless MiFi USB730L
DefaultVendor=0x1410
DefaultProduct=0x9030
TargetVendor=0x1410
TargetProduct=0x9032
NeedResponse=0
Configuration=0x03

Notes:
* Unlike the Novatel paper - the mode switch configuration for the enterprise mode is 3 and NOT 4


Makes sense that they have removed the config containing cdc_acm interfaces , no way you can utilize
CAT6 speeds over ppp dialup.


gal_shalif wrote:
And some kernel patches that I had to apply:

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).



Hmm..
To start with there is no reason for blacklisting the HID driver for 1410:9032, you can't switch back
from enterprise mode to user mode so HID binding or no HID binding is irrelevant there.

Blacklisting HID for 1410:9030 is probably also not needed, I think it will work without blacklisting if you
install the latest usb_modeswitch.

I'd very much appreciate a paste of lsusb -vd 1410:9030 and lsusb -vd 1410:9032 since I don't have the interface
composition for this device.


Offline

Display posts from previous:  Sort by:

All times are UTC+02:00
Page 1 of 1
4 posts
Users browsing this forum: Google [Bot] and 1 guest
Search for:
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum