Advertisement
Guest User

Untitled

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