This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
technical:lte [2022/11/23 10:58] admin [Supported hardware] |
technical:lte [2022/11/23 14:56] (current) admin [Using AT Commands] |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| ====== Hands On LTE on OpenWrt ====== | ====== Hands On LTE on OpenWrt ====== | ||
| ===== Supported hardware ===== | ===== Supported hardware ===== | ||
| - | * The supported LTE hardware in OpenWrt can be a minefield and my recommendation is to stick with those hardware that have been tested by the community | + | * The supported LTE hardware in OpenWrt can be a minefield and my recommendation is to stick with those hardware that have been tested by the community |
| * In the past I tried to use a Huawei LTE USB stick. | * In the past I tried to use a Huawei LTE USB stick. | ||
| * They can be running in two modes. | * They can be running in two modes. | ||
| Line 7: | Line 7: | ||
| * **NCM** | * **NCM** | ||
| * The preferred mode is **NCM** but the with USB stick I had it was impossible to switch modes and I was stuck with **RNDIS** mode. | * The preferred mode is **NCM** but the with USB stick I had it was impossible to switch modes and I was stuck with **RNDIS** mode. | ||
| - | * Another time I had a Mikrotik | + | * Another time I had a Mikrotik |
| - | * Some Access Points that comes with LTE modems included are well supported in OpenWrt. | + | * Some Access Points that comes with LTE modems included are well supported in OpenWrt. |
| * Cell-C / Belotech (https:// | * Cell-C / Belotech (https:// | ||
| * GL.iNet GL-MiFi (https:// | * GL.iNet GL-MiFi (https:// | ||
| ===== Packages to include ===== | ===== Packages to include ===== | ||
| + | * To get the LTE modem working in OpenWrt you need to include some specific packages. | ||
| + | * There are also some optional packages that you can include since they come in handy. | ||
| + | ==== Required ==== | ||
| + | * kmod-usb-wdm | ||
| + | * kmod-usb-net | ||
| + | * kmod-usb-net-qmi-wwan | ||
| + | * libqmi | ||
| + | * uqmi | ||
| + | * kmod-mii | ||
| + | <code bash> | ||
| + | opkg update | ||
| + | opkg install kmod-mii kmod-usb-net kmod-usb-wdm kmod-usb-net-qmi-wwan uqmi | ||
| + | </ | ||
| + | For Serial Support (AT Commands) | ||
| + | * kmod-usb-serial | ||
| + | * kmod-usb-serial-option | ||
| + | * kmod-usb-serial-wwan | ||
| + | <code bash> | ||
| + | opkg update | ||
| + | opkg install kmod-usb-serial-option kmod-usb-serial kmod-usb-serial-wwan | ||
| + | </ | ||
| + | |||
| + | ==== Optional ==== | ||
| + | * qmi-utils | ||
| + | * picocom | ||
| + | * luci-proto-qmi | ||
| + | <code bash> | ||
| + | opkg update | ||
| + | opkg install picocom qmi-utils uci-proto-qmi | ||
| + | </ | ||
| + | |||
| + | |||
| ===== Interacting with the modem ===== | ===== Interacting with the modem ===== | ||
| + | * After you installed the packages reboot the Access Point. | ||
| + | * If everything works as intended you should see the following device | ||
| + | <code bash> | ||
| + | ls -l / | ||
| + | </ | ||
| + | * Now you can try to interact with the modem. | ||
| + | <code bash> | ||
| + | uqmi -d / | ||
| + | #This is the return | ||
| + | " | ||
| + | |||
| + | uqmi -d / | ||
| + | #This is the return | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | |||
| + | uqmi -d / | ||
| + | #This is the return | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| ===== UCI Configuration ===== | ===== UCI Configuration ===== | ||
| + | * The UCI system includes support for LTE confguration in /// | ||
| + | * The MESHdesk firmware will create the config section based on the configuration returned by the controller. | ||
| + | * Here is a sample section as reference | ||
| + | <code bash> | ||
| + | config interface ' | ||
| + | option ifname ' | ||
| + | option disabled ' | ||
| + | option wan_bridge ' | ||
| + | option device '/ | ||
| + | option apn ' | ||
| + | option proto ' | ||
| + | option auth ' | ||
| + | </ | ||
| + | * You can also install the **luci-proto-qmi** package which essentially does the same that MESHdesk and APdesk does but only local on the Access Point. | ||
| ===== Using AT Commands ===== | ===== Using AT Commands ===== | ||
| + | * We can use picocom terminal to reach the LTE modem | ||
| + | <code bash> | ||
| + | | ||
| + | </ | ||
| + | * I had to first issue the following commands before the modem returned something for CUSD | ||
| + | <code bash> | ||
| + | |||
| + | AT+CMGF=1 | ||
| + | OK | ||
| + | ATZ | ||
| + | OK | ||
| + | AT+CUSD=1," | ||
| + | OK | ||
| + | |||
| + | +CUSD: 0," | ||
| + | </ | ||
| + | * You can allos issue the following command without needing to log into picocom | ||
| + | <code bash> | ||
| + | echo ' | ||
| + | #Here is what my provider returned | ||
| + | +CUSD: 0," | ||
| + | </ | ||