I just went through this same exercise and made the following notes for myself. As a neophyte myself, consider the recommendations with caution. Nonetheless, these work for me with the GL-AR300M and the Novatel U620L on Verizon:


Modeswitch

The wireless modem needs to be configured for “enterprise mode” which makes the host see it as a modem instead of a mass storage device. It also provides access to AT commands via serial port.

To make this happen, the host (router) needs to have the usb_modeswitch package installed. OpenWRT comes with this by default.

When the router boots, the usbmode daemon looks for USB devices in /etc/usb-mode.json

Modify
/etc/usb-mode.json to include:

“1410:9020”: {
“*”: {
“msg”: [ ],
“config”: 4
}
},
After making this change and rebooting the router, test with

root@GL-AR300M:/dev# lsusb
Bus 001 Device 003: ID 1410:9022 Novatel Wireless
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Confirm that the Novatel modem returns ID 1410:9022 instead of the default ID 1410:9020.

 

TTY port

Need to tell the router to add the optional serial driver for the modem:

Edit /etc/rc.local to add

echo ‘1410 9022 ff’ > /sys/bus/usb-serial/drivers/option1/new_id
just prior to exit 0

 

Modem Interface

Add Verizon modem interface through the console