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