Automatyczne łączenie z aero2 na Ubuntu

Logo Ubuntu

Ubuntu

Od kilku miesięcy firma aero2, na mocy licencji na pasmo częstotliwości 900 MHz, umożliwia bezpłatne korzystanie z internetu w technologii HSDPA i LTE. Przepustowość takiego połączenia ograniczona jest do 256 kb/s, a długość sesji do godziny. Do podstawowych i prostych działań w sieci taka przepustowość powinna wystarczyć, szczególnie gdy połączy się ją z lokalnym serwerem cache, jak squid. Problemem może być natomiast cogodzinne zrywanie sesji. Jest na to jednak pewien sposób sprawdzony na Ubuntu 11.10 Onereic Ocelot.
NetworkManager nie wykrywa zerwania sesji aero2. Pomimo zaznaczenia opcji automatycznego nawiązywania połączenia, modem nie łączy się ponownie. Do rozwiązania tego problem wystarczy prosty skrypt, który będzie sprawdzał stan połączenia i wymuszał na Network Managerze połączenie się z aero2 w przypadku zakończenia sesji. Skrypt ten powinien działać automatycznie (najlepiej w cronie co minutę) z konta użytkownika uprawnionego do kontroli połączeń w Network Managerze.

#!/bin/bash

ping -c 1 8.8.8.8 >/dev/null
ret=$?

if [ "${ret}" -eq "1" ]; then
  nmcli con down id aero2
else
  exit
fi

sleep 8

ping -c 1 8.8.8.8 >/dev/null
ret=$?

if [ "${ret}" -eq "1" ]; then
  nmcli con down id aero2
  nmcli con up id aero2
fi

Skrypt ten sprawdza najpierw, czy jest połączenie z internetem. Do tego celu wykorzystuje jeden z serwerów DNS Google, o adresie IP 8.8.8.8. Można w tym miejscu wybrać dowolny inny serwer odpowiadający na pingi. Jeśli komenda ping zwróci błąd, skrypt próbuje wyłączyć połączenie z aero2 (aero2 w tym skrypcie jest nazwą połączenia w NetworkManagerze). Następnie czeka 8 sekund i sprawdza połączenie ponownie. Jeśli w tym czasie Network Manager nie nawiązał utraconego połączenia automatycznie, skrypt próbuje ponownie zakończyć to połączenie i następnie ręcznie się połączyć.

Ten wpis został opublikowany w kategorii Inne, Internet. Dodaj zakładkę do bezpośredniego odnośnika.

4 odpowiedzi na „Automatyczne łączenie z aero2 na Ubuntu

  1. Piter pisze:

    U mnie skrypt niestety nie działa. Podejrzewam, że przyczyną jest iż po utraceniu połączenia sytem nie może podłączyć z powrtoem modemu:

    promyk@T61:~/skrypty$ nmcli con up id aero2
    Błąd: nie odnaleziono odpowiedniego urządzenia: nie odnaleziono urządzenia dla połączenia "aero2"
    promyk@T61:~/skrypty$ nmcli con up id aero2
    Błąd: nie odnaleziono odpowiedniego urządzenia: nie odnaleziono urządzenia dla połączenia "aero2"
    promyk@T61:~/skrypty$ nmcli dev status
    URZĄDZENIE TYP STAN
    eth0 802-3-ethernet niedostępne
    wlan0 802-11-wireless niedostępne
    ttyUSB0 gsm rozłączono "

  2. klaus pisze:

    A nie prościej w cronie uruchamiać co 59 minut:
    nmcli con down id aero2
    sleep 3
    nmcli con up id aero2

  3. chmielu pisze:

    ja zrobiłem inaczej… w kronie restartuje NetworkManagera co 50 minut, a w NetworkManagerze mam ustawione że ma się łączyć automatycznie…
    chula – polecam….

  4. Ubuntu pisze:

    Jaka komenda restartuje NetworkManagera ?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *

*

Możesz użyć następujących tagów oraz atrybutów HTML-a: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>