2.7 KiB
openwrt - uqmi
Customized uqmi with APN profiles. More information and source code: https://github.com/mrhaav/openwrt-packages/blob/main/README.md
Latest version: 2022-11-29-0.10
From version 2022-09-13-0.9, an SMS receive/send function and a connectivity daemon are included.
The SMS is stored in /var/sms/received and the file name is sent to script /usr/bin/uqmi_sms.sh (uqmi_sms.sh is not included in the ipk file).
The daemon will run every 30sec and check the network connectivity and send the RSSI value to script /usr/bin/uqmi_led.sh to trigger signal strenght LEDs (uqmi_led.sh is not included in the ipk file).
Don´t run other uqmi scripts in parallell. The modems are not able to handle multiple uqmi request at the same time.
If you need some special uqmi command to be exequted every 30s, add them to the daemon, /usr/bin/uqmi_d.sh
.
Switches:
uci set network.<your interface>.ipv6profile=<ipv6 profile number>
If you need an other APN for IPv6. Configure you IPv4 APN with LuCI and add the IPv6 APN with uqmi command --create-profile
or --modify-profile
uci set network.<your interface>.abort_search=false
If you have you modem in poor radio coverage, you can let the modem search for network for ever (default, it will search for 35 sec).
uci set network.<your interface>.daemon=false
If you would like to turn off the daemon.
Don´t foget to run uci commit network
.
Downloading file to your router:
Choose OpenWrt version and target.
Go to the file, right click on Download button and select Copy link addess.
Then paste the link in your router after wget.
wget https://github.com/mrhaav/openwrt/raw/master/22.03.2/uqmi_2022-11-29-0.10_mipsel_24kc.ipk
opkg install uqmi_2022-11-29-0.10_mipsel_24kc.ipk
uqmi_led.sh example for MR200v4
#!/bin/sh
rssi=$1
LED1=$(readlink -f /sys/class/leds/mr200v4:white:signal1)
LED2=$(readlink -f /sys/class/leds/mr200v4:white:signal2)
LED3=$(readlink -f /sys/class/leds/mr200v4:white:signal3)
if [ "${rssi}" -eq -200 ]
then
echo none > $LED1/trigger
echo none > $LED2/trigger
echo none > $LED3/trigger
elif [ "${rssi}" -le -90 ]
then
echo default-on > $LED1/trigger
echo none > $LED2/trigger
echo none > $LED3/trigger
elif [ "${rssi}" -le -70 ]
then
echo default-on > $LED1/trigger
echo default-on > $LED2/trigger
echo none > $LED3/trigger
else
echo default-on > $LED1/trigger
echo default-on > $LED2/trigger
echo default-on > $LED3/trigger
fi
uqmi_sms.sh example
#!/bin/sh
receivedSMS=$1
Bnumber=$(sed -n '1p' $receivedSMS)
if [ $Bnumber = '+46123456' ]
then
first_row=$(sed -n '2p' $receivedSMS)
second_row=$(sed -n '3p' $receivedSMS)
# Execute your commands
rm $receivedSMS
else
logger -t SMS Unauthorized Anumber
rm $receivedSMS
fi