[-]
Szybkie szukanie


Baner sklepu jdtech.pl
Odpowiedz 
 
Ocena wątku:
  • 0 Głosów - 0 Średnio
  • 1
  • 2
  • 3
  • 4
  • 5
Zmiana ustawień modemu w Linuksie (i Mac OS X?)
27-05-2012, 14:27 (Ten post był ostatnio modyfikowany: 27-05-2012 18:54 przez azhag.)
Post: #1
Zmiana ustawień modemu w Linuksie (i Mac OS X?)
Wersja bardzo skrócona (TL;DR)
Otwórz konsolę, wklej
Kod:
sudo echo -e "AT^SYSCFG=2,0,3FFFFFFF,1,2\r" >/dev/ttyUSB0
i naciśnij enter. Gotowe.


Wstęp

Modemy z Play domyślnie są skonfigurowane w sposób, który uniemożliwia połączenie z Aero2. Dlatego pierwszą czynnością powinna być zmiana ustawień modemu.

O ile w systemie Windows dostępne są graficzne narzędzia pozwalające na zmianę ustawień, na Linuksie ich nie ma -- trzeba zatem ręcznie wysłać odpowiednie polecenie AT. Z jednej strony jest to prostsze (wystarczy otworzyć konsolę i wkleić jedno polecenie, zamiast przeklikiwać się przez kilka okien), z drugiej bardziej skomplikowane (polecenia AT to dla przeciętnego użytkownika nieodgadnione hieroglify).

Jak wysłać sygnał?

Aby wysłać sygnał wystarczy przekierować polecenie do urządzenia reprezentującego modem (najczęściej /dev/ttyUSB0), np.:

Kod:
azhag@ubuntu ~ $ echo -e "AT^SYSCFG?\r" >/dev/ttyUSB0
azhag@ubuntu ~ $

Ważne tu jest zakończenie polecenia windowsowym znakiem końca linii. Problem w tym, że nie zobaczy się odpowiedzi zwróconej przez modem. O ile przy zmianie ustawień ine jest to wielki problem, to w powyższym przykładzie -- sprawdzenia aktualnej konfiguracji -- już tak.

Tu z pomocą przyjdzie program wvdial (zazwyczaj służący do ustanawiania połączenia, ale można też go użyć do wysłania innych sygnałów do modemu). Jako argumenty należy podać ścieżkę do pliku urządzenia (jako wartość dla opcji Modem) oraz sygnał (jako wartość dla opcji Init), np.:

Kod:
azhag@ubuntu ~ $ wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG?
--> WvDial: Internet dialer version 1.61
--> Cannot set information for serial port.
--> Initializing modem.
--> Sending: AT^SYSCFG?
^SYSCFG:2,0,3FFFFFFF,1,2
OK
--> Modem initialized.
--> Configuration does not specify a valid phone number.
--> Configuration does not specify a valid login name.
--> Configuration does not specify a valid password.
azhag@ubuntu ~ $

Ustawienia należy zmieniać przy rozłączonej sieci. Aby je zmienić, użytkownik powinien być w grupie dialout (przynajmniej w dystrybucjach Ubuntu, Debian i pochodnych) bądź posiadać uprawnienia administratora (root bądź sudo).

Wiemy już jak wysłać sygnał, teraz poznamy wspomniane hieroglify.

Jaki sygnał wysłać?

Nie wnikając w szczegóły na temat polecenia AT^SYSCFG, oto najpotrzebniejsze:
  • najbardziej uniwersalne ustawienia -- automatyczny wybór sieci (3G lub 2G); użyj tych, jeśli nie jesteś pewien:
    Kod:
    echo -e "AT^SYSCFG=2,0,3FFFFFFF,1,2\r" >/dev/ttyUSB0
    #lub
    wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG=2,0,3FFFFFFF,1,2
  • preferowane 3G, ewentualnie 2G:
    Kod:
    echo -e "AT^SYSCFG=2,2,3FFFFFFF,1,2\r" >/dev/ttyUSB0
    #lub
    wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG=2,2,3FFFFFFF,1,2
  • preferowane 2G, ewentualnie 3G (niezalecane, Aero2 nie działa w 2G):
    Kod:
    echo -e "AT^SYSCFG=2,1,3FFFFFFF,1,2\r" >/dev/ttyUSB0
    #lub
    wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG=2,1,3FFFFFFF,1,2
  • tylko 3G:
    Kod:
    echo -e "AT^SYSCFG=14,2,3FFFFFFF,1,2\r" >/dev/ttyUSB0
    #lub
    wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG=14,2,3FFFFFFF,1,2
  • tylko 2G (stanowczo niezalecane, Aero2 nie działa w 2G)::
    Kod:
    echo -e "AT^SYSCFG=13,1,3FFFFFFF,1,2\r" >/dev/ttyUSB0
    #lub
    wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG=13,1,3FFFFFFF,1,2

Zmiany ustawień wystarczy dokonać raz, są one zapisywane w pamięci modemu.

Uwagi końcowe dla ciekawych

Dodatkowo sprawdzenie aktualnych ustawień:
Kod:
wvdial Modem=/dev/ttyUSB0 Init=AT^SYSCFG?
(niestety zwróci owe nieodgadnione hieroglify)

Z punktu widzenia zmiany domyślnych ustawień modemów z Play, chodzi o ostatnią cyfrę. W modemach od tego dystrybutora domyślnie jest to 0 (transmisja danych CS), aby się połączyć z Aero2 powinna to być 2 (CS_PS).

Więcej informacji na temat polecenia AT^SYSCFG można znaleźć na wiki serwisu bez-kabli.pl: http://wiki.bez-kabli.pl/index.php?title=AT%5ESYSCFG
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
28-05-2012, 17:59
Post: #2
RE: Zmiana ustawień modemu w Linuksie (i Mac OS X?)
Akurat wvdial nie jest niezbędny, można
Kod:
echo -e "AT+CSQ\r" >/dev/ttyUSB0 && grep -m1 "CSQ:" /dev/ttyUSB0
zrobić.
Odwiedź stronę użytkownika Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
28-05-2012, 18:19 (Ten post był ostatnio modyfikowany: 28-05-2012 18:31 przez azhag.)
Post: #3
RE: Zmiana ustawień modemu w Linuksie (i Mac OS X?)
(28-05-2012 17:59)cezary napisał(a):  Akurat wvdial nie jest niezbędny, można
Kod:
echo -e "AT+CSQ\r" >/dev/ttyUSB0 && grep -m1 "CSQ:" /dev/ttyUSB0
zrobić.

Owszem nie jest niezbędny (można też np. minicom użyć), zresztą o takiej „hakersko–partyzanckiej” metodzie pisałem dawno temu w innym miejscu (dokładnie ten sam przykład, który Ty podałeś ;)). Jednakże:

1. składnia wvdiala jest dużo prostsza i wygodniejsza,
2. w pojedynczych przypadkach, raz na ileśtam razy, grep nie będzie chciał się zakończyć (bo z sobie tylko znanego powodu nie znajdzie „CSQ:” w „niezakończonym” pliku /dev/ttyUSB0) i tak będzie wisiał.

Dlatego, aby zbytnio nie komplikować, napisałem jak napisałem, inne metody przemilczając.



Oczywiście zmienić ustawienia modemu przez polecenia AT można również pod Windows w Top_NetInfo i -- jeśli mnie pamięć nie myli -- Mobile Partner. Ale jak się do poleceń AT doklikać w tychże, wybaczcie, podać musi ktoś inny. ;)
Znajdź wszystkie posty użytkownika
Podziękuj Odpowiedz cytując ten post
Odpowiedz 


Podobne wątki
Wątek: Autor Odpowiedzi: Wyświetleń: Ostatni post
  Jak zgrać oryginalny dashboard z modemu szopen 4 11 565 21-08-2013 23:15
Ostatni post: jakubd
  TNI na HPmini jak wrócić doobsługi modemu przez W7 HP_aero 1 3 784 12-03-2013 20:05
Ostatni post: jakubd
  Zmiana dashboard Meriox 6 8 393 01-11-2012 14:29
Ostatni post: jakubd