Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/sh
- MODEM="$(mmcli -L | grep -o '/org/freedesktop/ModemManager1/Modem/[0-9]*' | head -1)"
- BEARER="$(mmcli -m $MODEM --list-bearers | grep -o '/org/freedesktop/ModemManager1/Bearer/[0-9]*' | head -1)"
- connect() {
- MODEM="$(mmcli -L | grep -o '/org/freedesktop/ModemManager1/Modem/[0-9]*' | head -1)"
- mmcli -m $MODEM --simple-connect=apn=web.be,user=web,password=web
- BEARER="$(mmcli -m $MODEM --list-bearers | grep -o '/org/freedesktop/ModemManager1/Bearer/[0-9]*' | head -1)"
- }
- update_net() {
- export connected="no"
- eval export a=a $(mmcli -m $MODEM -b $BEARER | sed -n 's_.*|\s*\([a-zA-Z]*\):\s*\(.*\)_\1="\2"_p' | tr -d "',")
- if [ "$connected" != "yes" ]
- then
- echo Reconnecting
- connect
- return 1
- fi
- cat > /run/systemd/network/wwan.network.new << EOF
- [Match]
- Name=${interface}
- [Network]
- Address=${address}/${prefix}
- DNS=${DNS}
- [Route]
- Gateway=${gateway}
- Metric=2048
- EOF
- if ! diff -u /run/systemd/network/wwan.network{,.new}
- then
- mv /run/systemd/network/wwan.network{.new,}
- systemctl restart systemd-networkd
- fi
- }
- while true
- do
- update_net && sleep 5 || sleep 1
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement