Advertisement
Guest User

Untitled

a guest
Feb 22nd, 2016
119
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.10 KB | None | 0 0
  1. #!/bin/sh
  2.  
  3. MODEM="$(mmcli -L | grep -o '/org/freedesktop/ModemManager1/Modem/[0-9]*' | head -1)"
  4. BEARER="$(mmcli -m $MODEM --list-bearers | grep -o '/org/freedesktop/ModemManager1/Bearer/[0-9]*' | head -1)"
  5.  
  6. connect() {
  7. MODEM="$(mmcli -L | grep -o '/org/freedesktop/ModemManager1/Modem/[0-9]*' | head -1)"
  8.  
  9. mmcli -m $MODEM --simple-connect=apn=web.be,user=web,password=web
  10. BEARER="$(mmcli -m $MODEM --list-bearers | grep -o '/org/freedesktop/ModemManager1/Bearer/[0-9]*' | head -1)"
  11. }
  12.  
  13. update_net() {
  14. export connected="no"
  15. eval export a=a $(mmcli -m $MODEM -b $BEARER | sed -n 's_.*|\s*\([a-zA-Z]*\):\s*\(.*\)_\1="\2"_p' | tr -d "',")
  16.  
  17. if [ "$connected" != "yes" ]
  18. then
  19. echo Reconnecting
  20. connect
  21. return 1
  22. fi
  23.  
  24. cat > /run/systemd/network/wwan.network.new << EOF
  25. [Match]
  26. Name=${interface}
  27.  
  28. [Network]
  29. Address=${address}/${prefix}
  30. DNS=${DNS}
  31.  
  32. [Route]
  33. Gateway=${gateway}
  34. Metric=2048
  35.  
  36. EOF
  37.  
  38. if ! diff -u /run/systemd/network/wwan.network{,.new}
  39. then
  40. mv /run/systemd/network/wwan.network{.new,}
  41. systemctl restart systemd-networkd
  42. fi
  43. }
  44.  
  45. while true
  46. do
  47. update_net && sleep 5 || sleep 1
  48. done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement