Pitopedia

<<< Wróć do Pitopedii
Pitopedia - Linnet - uruchamiamy SAGEM F@st 800 na współczesnych Linuxach

Linnet - uruchamiamy SAGEM F@st 800 na współczesnych Linuxach

Autor: Pieszka

Dzień dobry.

W jednym z moich pierwszych artykułów opowiadałem wam o oprogramowaniu zwanym UbuDSL. W skrócie był to projekt, który miał na celu dać użytkownikom Ubuntu łatwy interfejs do instalacji i zarządzania modemami ADSL na USB, które znajdowały się w ofercie TPSA i nie tylko. Ostatnio jednak natknąłem się na inny projekt tego typu, a mianowicie Linnet. Jest to prosta aplikacja napisana w C++ dla systemu Linux autorstwa niestety nieznanego. Swoje cele dzieli wraz z UbuDSL, jednak różni się tym, że po pierwsze - powstała jako odpowiedź na porzuconą apkę Net24 (która służyła do tego samego), a po drugie rozpoznaje modemy na nie Chipsety, więc inne urządzenia trzeba wybierać ręcznie w instalatorze. Aplikacja powstała gdzieś w 2009 roku i nigdy nie ujrzała wersji 1.0. Mimo wszystko uważam, że spisuje się świetnie. Działa na systemach 64-bitowych i uwaga: Nie wymaga kompilacji kernela systemu (prócz jednego wyjątku). Większość sterowników, czy to od TPSA czy to oficjalne wymagały ich skompilowania. Niestety to nie działało na nowszych systemach. Ale mamy Linnet, więc co? Instalujemy tego dziada. Lecz najpierw - platforma testowa:
  • Intel Core i5-5200U
  • Kontroler xHCI (USB 3.0)
  • Ubuntu 18.04
  • Linnet 0.1 x64
  • Sagem F@st 800 E2T oraz ZTE ZXDSL 852 V1 (dwie diody)
Przed instalacją musimy się upewnić, że mamy zainstalowane pakiety "pppd", "gcc" oraz "make". Niestety Linnet nie działa z innymi implementacjami protokołu Point-to-Point. Oficjalnie program wspiera następujące modemy: Sagem F@st 800, Speedtouch 330, ZTE ZXDSL 852 V1 i V2. Jednak uruchomimy dowolny modem ADSL na USB pod warunkiem, że będzie działać pod kontrolą następujących chipsetów: ADI/Ikanos Eagle, STM Unicorn II, Conexant Access Runner oraz Thomson Speedtouch. Kiedy to wszystko jest przygotowane musimy wyposażyć się w program i odpowiedni firmware do wybranego modemu. O co chodzi jednak z tymi firmwareami? Otóż to proste - nasz modem nie posiada pamięci ROM zdolnej pomieścić cały kod. Tak więc sterowniki wgrywają z naszego dysku oprogramowanie sterujące do RAMu urządzenia. Gdyby nie to, modemy te dało by się uruchomić nawet na Novell Netware - naprawdę. Wszystkie potrzebne pliki znajdują się na końcu tego artykułu. Mi będą potrzebne dwa z nich:
  • linnet64.tar.gz - nasz program
  • sagem.tar.gz - firmware do mojego modemu.

Pierwszy z nich rozpakowujemy do jakiegoś folderu, a potem przenosimy tam plik tar.gz z firmwarem. NIE WYPAKOWYWUJEMY FIRMWARE. Całość powinna wyglądać w ten sposób (nie patrzcie na plik modem.txt i ikanos_license.txt - po prostu robiłem to wcześniej i zostało mi):

Następnie uruchamiamy terminal i przechodzimy na konto roota - jest to konieczne do działania programu. Uprzednio przechodzimy do folderu z Linnetem oczywiście. Na roota można przełączyć się komendą:

sudo su

Tam musimy nadać aplikacji prawa do zapisu i wykonywania dla wszystkich (wymóg od autora). Wykonujemy to komendą:

chmod a+wx linnet

Teraz możemy przejść do instalacji modemu. Uruchamiamy aplikację z parametrem i (o parametrach później). Wyświetli się następujące okienko:

Tutaj można wybrać tryb instalacji aplikacji. Jeżeli instalujemy pierwszy raz to wybieramy opcję 2. Jeżeli chcemy dodać modem to opcja 3. Jeżeli chcemy zmienić login i hasło to wybieramy czwórkę. Ja jednak wybiorę jedynkę i to też robimy. Wyświetli się taka lista, na której możemy sprawdzić czy wszystko jest w porządku. Wszędzie powinno pojawić się "OK". Komunikatem o niegotowości systemu się nie przejmujemy - Linnet nie rozpoznaje najnowszych kerneli.

Program daje nam znów możliwość wyboru. Kiedy się upewniliśmy, że wszystko jest poprawnie zainstalowane to wybieramy opcję drugą. Pojawi się komunikat, że nie znaleziono modemu lub się nie pojawi. Jeżeli jednak to z listy musimy podać cyfrę odpowiadającą naszemu urządzeniu. Już daję listę chipsetów:
  • Sagem Fast 800 - chipsety Eagle
  • Speedtouch - chipsety Speedtouch
  • ZXDSL wersja 1 - chipsety Conexant Access Runner
  • ZXDSL wersja 2 - chipsety Unicorn II

Po wybraniu naszego urządzenia, program rozpocznie wypakowywanie i przegrywanie firmware do odpowiedniego folderu. Kiedy skończy poprosi nas o wybranie naszego ISP. Linnet wspiera jedynie Neo i Netię jednak potem pokażę jak to zmienić. Moim jest Neo, więc też ją wybieram.

Później program będzie chciał abyśmy podali nasz login i hasło do usługi - dane nie są ukryte więc uważajmy. Po tym będziemy mogli połączyć się z Internetem.

Teraz możemy podłączyć nasz modem do komputera. Jeżeli wszystko przebiegło domyślnie, urządzenie powinno przejść w stan synchronizacji. Dla F@st 800 zgaśnie jedna dioda a potem zacznie mrugać. Aby połączyć się z Internetem należy wpisać:

Na koncie root:

./linnet p

Lub bez konta root:

sudo pppd call linnet

Rozpocznie się proces negocjacji sesji PPP i ostatecznie dostaniemy wylistowane dane na temat naszego połączenia jak adres IP czy DNSy.

No i gotowe mamy dostęp do Internetu! Wszystko powinno teraz działać, a my uruchomiliśmy nasz stary modem pod Linuxem. Jednak jeżeli są pewne problemy to zapraszam do dalszego czytania. Tak samo w dalszej części artykułu będą inne rzeczy na temat Linnet.

Może pojawić się problem z brakiem pliku /etc/ppp/peers/linnet albo problem z niepasującymi danymi logowania. Najważniejsze pliki tworzone przez Linnet to właśnie ten powyżej oraz chap-secrets. Ten pierwszy zawiera całą konfigurację protokołu PPP, a ten drugi zawiera nasze dane logowania. Pliki te znajdują się w następujących katalogach:
  • linnet - /etc/ppp/peers
  • chap-secrets - /etc/ppp
Zawartości tych plików powinny wyglądać jak poniżej. Zwróćcie uwagę na linijkę "plugin pppoatm.so 0.35". Tam gdzie jest 0 i 35 należy wpisać nasze VPI i VCI, jeżeli się nie zgadza z tym co nasz operator ustawił u siebie. O wartości tych parametrów należy dopytać się już ISP.

Innym problemem jaki może się pojawić to złe działanie DNSów. Usługa Domain Name System w dużym skrócie odpowiada za zamianę adresów np. "piteusz.ovh" na 51.75.247.107. Wpisz w przeglądarkę 1.1.1.1 - jeżeli strona sie wyświetli to zrób następującą rzecz. W pliku /etc/resolv.conf dodaj na stałe adresy DNS. Mogą być te od operatora, mogą być inne.

Warto również omówić dodatkowe opcje programu Linnet jak np. rozłączanie się z Internetem. Możemy wpisać samo polecenie na koncie roota:

./linnet

Aby wyświetlić dostępne opcje. I tak uruchomienie programu z parametrem:
  • i - rozpocznie proces instalacji
  • p - rozpocznie się nawiązywanie sesji PPP
  • s - wyświetli się status, który nie działa poprawnie (przynajmniej u mnie)
  • r - sesja PPP zostanie zerwana
  • a - program doda się do autostartu

Na koniec pozostawiłem sobie uruchomienie modemu ZTE ZXDSL 852 V1, który na Windowsie nie ma 64-bitowych sterowników. I uwaga. Działa. Wszystko poprawnie działa. Do doinstalowania tego urządzenia uruchomiłem Linnet z parametrem "i", a następnie wybrałem opcję nr 3.


I to było by na tyle w tym artykule. Myślę, że tym razem jest on praktyczny. Nasuwa się jednak pytanie - Po co mi to? No jeżeli posiadamy usługę Internetu świadczoną w technologii ADSL i akurat wysiadł nam prąd, a mamy wysłać coś ważnego to możemy pod Ubuntu uruchomić taki modem awaryjnie. Warto jednak wiedzieć, że większość tych urządzeń wspiera jedynie standard ADSL, który rozwija zawrotne 8Mb/s pobierania i 1Mb/s wysyłania. Ale lepsze i to, zwłaszcza jeżeli nam się śpieszy. Dziękuję za przeczytanie tego dość długiego artykułu.

Problemy związane z programem Linnet:
  • Nie działa poprawnie opcja sprawdzenia parametrów połączenia, wbudowana w program
  • Nie działa modem ZTE ZXDSL 852 w wersji drugiej (trzy diody), ponieważ jego sterownik wymaga kompilacji, która nie przebiega pomyślnie na nowszych systemach Linux.
Pliki do pobrania:

Pieszka

Oryginalny Wpis

<<< Wróć do Pitopedii