dun-name.sh.example 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. # example rfcomm DUN config script
  2. dun_prepare()
  3. {
  4. example_rfcomm_dev="$(get_unused_dev_node rfcomm)"
  5. [ -n "$example_rfcomm_dev" ] || die "Failed to get rfcomm devnode"
  6. example_rfcomm_pid=
  7. example_rfcomm_log="$(mktemp /tmp/example.rfcomm.log.XXXXXX)"
  8. [ -w "$example_rfcomm_log" ] || die "Failed to create example rfcomm log"
  9. example_hci_dev="hci0"
  10. example_chatscript="$(mktemp /tmp/example.chatscript.XXXXXX)"
  11. [ -w "$example_chatscript" ] || die "Failed to create example chatscript"
  12. example_pppd_pid=
  13. example_pppd_log="$(mktemp /tmp/example.pppd.log.XXXXXX)"
  14. [ -w "$example_pppd_log" ] || die "Failed to create example pppd log"
  15. example_pppd_linkname="example-dun-$$"
  16. }
  17. dun_stop()
  18. {
  19. pppd_kill "example" "$example_pppd_pid" "$example_pppd_log"
  20. example_pppd_pid=
  21. rfcomm_kill "example" "$example_rfcomm_pid" "$example_rfcomm_log"
  22. example_rfcomm_pid=
  23. hci_dev_down "$example_hci_dev"
  24. }
  25. dun_start()
  26. {
  27. hci_dev_up "$example_hci_dev"
  28. # Connect rfcomm
  29. rfcomm connect "$example_rfcomm_dev" \
  30. "AA:BB:CC:DD:EE:FF" \
  31. > "$example_rfcomm_log" 2>&1 &
  32. example_rfcomm_pid=$!
  33. rfcomm_wait_connect example "$example_rfcomm_pid" "$example_rfcomm_log"
  34. # Connect pppd
  35. #TODO Adjust the APN to your provider!
  36. make_chatscript "internet.t-d1.de" > "$example_chatscript"
  37. pppd "$example_rfcomm_dev" \
  38. 115200 \
  39. logfile "$example_pppd_log" \
  40. linkname "$example_pppd_linkname" \
  41. debug \
  42. lock \
  43. show-password \
  44. noauth \
  45. defaultroute \
  46. noipdefault \
  47. crtscts \
  48. local \
  49. ipcp-accept-local \
  50. maxfail 10 \
  51. "lcp-echo-failure" 0 \
  52. "lcp-echo-interval" 0 \
  53. novj \
  54. nobsdcomp \
  55. novjccomp \
  56. nopcomp \
  57. noaccomp \
  58. mtu 1500 \
  59. mru 1500 \
  60. persist \
  61. passive \
  62. connect "/usr/sbin/chat -v -f $example_chatscript"
  63. sleep 0.5
  64. example_pppd_pid="$(cat "/var/run/ppp-${example_pppd_linkname}.pid")"
  65. [ -n "$example_pppd_pid" ] || die "Failed to get pppd pid"
  66. pppd_wait_connect example "$example_pppd_pid" "$example_pppd_log"
  67. }
  68. dun_destroy()
  69. {
  70. rm -f "$example_rfcomm_log" "$example_pppd_log" "$example_chatscript"
  71. }