doc:appunti:hardware:tl-mr6400_openwrt
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| doc:appunti:hardware:tl-mr6400_openwrt [2023/02/01 16:25] – [The SNMP Daemon] niccolo | doc:appunti:hardware:tl-mr6400_openwrt [2025/07/02 16:54] (current) – [LTE signal strenght LEDs] niccolo | ||
|---|---|---|---|
| Line 53: | Line 53: | ||
| ===== Upgrade the uqmi package ===== | ===== Upgrade the uqmi package ===== | ||
| - | Download | + | Using the stock **uqmi** package provided by OpenWRT 22.03.2 I was not able to bring up the LTE interface. The error message shown by **logread** was: |
| + | |||
| + | < | ||
| + | daemon.notice netifd: lte4g (2329): Command failed: | ||
| + | ubus call network.interface notify_proto | ||
| + | { " | ||
| + | (Permission denied) | ||
| + | daemon.notice netifd: Interface ' | ||
| + | daemon.notice netifd: Interface ' | ||
| + | daemon.notice netifd: lte4g (2343): Waiting for SIM initialization | ||
| + | </ | ||
| + | |||
| + | I downloaded a custom **uqmi** packages for OpenWRT 22.03.2 here: **[[https:// | ||
| The **uqmi** depends upon **libubox** and **libblobmsg-json**, | The **uqmi** depends upon **libubox** and **libblobmsg-json**, | ||
| Line 61: | Line 73: | ||
| ^ libblobmsg-json20220515 | ^ libblobmsg-json20220515 | ||
| + | Now the '' | ||
| + | |||
| + | < | ||
| + | kern.info kernel: | ||
| + | kern.info kernel: | ||
| + | | ||
| + | | ||
| + | kern.info kernel: | ||
| + | kern.info kernel: | ||
| + | kern.info kernel: | ||
| + | daemon.notice netifd: Interface ' | ||
| + | daemon.notice netifd: lte4g (1900): PINcode disabled | ||
| + | daemon.notice netifd: lte4g (1900): Data format set to raw-ip | ||
| + | daemon.notice netifd: lte4g (1900): Default profile: 1 | ||
| + | daemon.notice netifd: lte4g (1900): Change default profile | ||
| + | daemon.notice netifd: lte4g (1900): | ||
| + | daemon.notice netifd: lte4g (1900): | ||
| + | daemon.notice netifd: lte4g (1900): Airplane mode off | ||
| + | daemon.notice netifd: lte4g (1900): | ||
| + | daemon.notice netifd: lte4g (1900): Registered to Iliad on LTE | ||
| + | daemon.notice netifd: lte4g (1900): Connected with IPv4 | ||
| + | daemon.notice netifd: lte4g (1900): Unable to connect with IPv6 | ||
| + | daemon.notice netifd: lte4g (1900): Setting up wwan0 | ||
| + | daemon.notice netifd: Interface ' | ||
| + | </ | ||
| ===== Configure the LTE connection ===== | ===== Configure the LTE connection ===== | ||
| Line 104: | Line 141: | ||
| } | } | ||
| </ | </ | ||
| + | |||
| + | ^ RSSI ^ Usability | ||
| + | | -60 | Good | | ||
| + | | -70 | Acceptable | ||
| + | | -90 | Barely usable | ||
| + | |||
| + | The **uqmi** can be used to get several info about the current connection, e.g. the **MCC** (Mobile Country Code), **MNC** (Mobile Network Code), **TAC** (Tracking Area Code, knwon also as **LAC**, Local Area Code): | ||
| + | |||
| + | < | ||
| + | uqmi --device=/ | ||
| + | { | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | }, | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | " | ||
| + | } | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | :!: **NOTICE**: Some services - like [[https:// | ||
| + | |||
| + | **ECI = enodeb_id * 256 + cell_id** | ||
| + | |||
| + | So, in the example above, we have that the Cell ID is: | ||
| + | |||
| + | **%%ECI = 344505 * 256 + 7 = 88193287%%** | ||
| + | |||
| Line 185: | Line 268: | ||
| #!/bin/sh | #!/bin/sh | ||
| - | RSSI=" | + | RSSI=" |
| if ! echo " | if ! echo " | ||
| - | echo " | + | echo " |
| - | exit | + | exit |
| - | fi | + | fi |
| echo " | echo " | ||
| - | | + | |
| LED1=$(readlink -f / | LED1=$(readlink -f / | ||
| LED2=$(readlink -f / | LED2=$(readlink -f / | ||
| LED3=$(readlink -f / | LED3=$(readlink -f / | ||
| - | + | ||
| - | if [ " | + | if [ " |
| echo none > $LED1/ | echo none > $LED1/ | ||
| echo none > $LED2/ | echo none > $LED2/ | ||
| echo none > $LED3/ | echo none > $LED3/ | ||
| - | elif [ " | + | elif [ " |
| echo default-on > $LED1/ | echo default-on > $LED1/ | ||
| - | echo none > $LED2/ | + | echo none > $LED2/ |
| - | echo none > $LED3/ | + | echo none > $LED3/ |
| - | elif [ " | + | elif [ " |
| echo default-on > $LED1/ | echo default-on > $LED1/ | ||
| echo default-on > $LED2/ | echo default-on > $LED2/ | ||
| - | echo none > $LED3/ | + | echo none > $LED3/ |
| - | else | + | else |
| echo default-on > $LED1/ | echo default-on > $LED1/ | ||
| echo default-on > $LED2/ | echo default-on > $LED2/ | ||
| echo default-on > $LED3/ | echo default-on > $LED3/ | ||
| - | fi | + | fi |
| </ | </ | ||
| Line 260: | Line 343: | ||
| <code bash> | <code bash> | ||
| - | snmpwalk -v 2c -c public | + | snmpwalk -v 2c -c public |
| NET-SNMP-EXTEND-MIB:: | NET-SNMP-EXTEND-MIB:: | ||
| </ | </ | ||
| + | ===== Wake-on-LAN ===== | ||
| + | |||
| + | I was not able to instal the **wakeonlan** package because it depends upon Perl (not enough space on flash memory). Fortunately I was able to install **etherwake**, | ||
| + | |||
| + | ===== Upgrade to OpenWRT 22.05.0 ===== | ||
| + | |||
| + | To upgrade from OpenWRT **22.03.3** to **22.05.0** we used the **sysupgrade** option, which preserves the existing configuration, | ||
| + | |||
| + | Download the new firmware **[[https:// | ||
| + | |||
| + | Once the router reboots, you can access it via SSH or LuCI web, the network configuration should have been preserved. | ||
| + | |||
| + | Beware that all the extra packages must be installed again, notably the **uqmi** package, required to drive the LTE modem for internet access, must be upgraded to version **[[https:// | ||
| + | |||
| + | The repository roots are: | ||
| + | |||
| + | * https:// | ||
| + | * https:// | ||
| + | |||
| + | This is the list of all the extra packages installed: | ||
| + | |||
| + | ^ Package | ||
| + | | uqmi_2022-11-29-0.11_mipsel_24kc.ipk | ||
| + | | openvpn | ||
| + | | luci-app-openvpn | ||
| + | | tcpdump-mini | ||
| + | | snmpd | ||
| + | | luci-app-snmpd | ||
| + | | etherwake | ||
| + | | coreutils-base64 | ||
| + | |||
| + | ===== Sending and receiving SMS ===== | ||
| + | |||
| + | Once installed the **uqmi** package, there is a daemon process **/ | ||
| + | |||
| + | * **/ | ||
| + | * **/ | ||
| + | |||
| + | To send a message just create a text file into the **/ | ||
| + | |||
| + | < | ||
| + | +393274445556 | ||
| + | Hello, World! | ||
| + | </ | ||
| + | |||
| + | Received messages will be saved automatically into **/ | ||
| + | |||
| + | < | ||
| + | [Phone Number|CallerID] | ||
| + | Tex message. | ||
| + | </ | ||
| + | |||
| + | If you stop the running uqmi_d.sh daemon, it is possibile to retrieve received messages from **sim** or from **me** (memory). Get first the list of messages availables and then retrieve one: | ||
| + | |||
| + | < | ||
| + | uqmi -d / | ||
| + | uqmi -s -d / | ||
| + | </ | ||
| ===== Web References ===== | ===== Web References ===== | ||
| Line 271: | Line 412: | ||
| * **[[https:// | * **[[https:// | ||
| * **[[https:// | * **[[https:// | ||
| + | * **[[https:// | ||
| + | * **[[https:// | ||
doc/appunti/hardware/tl-mr6400_openwrt.1675265132.txt.gz · Last modified: by niccolo
