E3372

Wvdial i PPP, czyli modem LTE w trybie RAS

Jak wielu użytkowników linux'a zapewne wie, modem GSM/UMTS/LTE może pracować w kilku trybach. Najpopularniejszym z nich jest tryb RAS wykorzystujący interfejsy udostępniane przez to urządzenie w katalogu /dev/ , zwykle ttyUSB0 , ttyUSB1 , etc. By taki modem mógł nawiązać połączenie z siecią, potrzebny jest demon PPP. O trybie RAS wspominałem już parokrotnie, min. we wpisach dotyczących konfiguracji połączenia LTE w RBM/Play jak i przy omawianiu problemów z resolver'em DNS w przypadku Aero2. Generalnie ten tryb różni się trochę od trybu NDIS(NCM) głównie tym, że tutaj nie uzyskamy większych prędkości niż 20-30 mbit/s. Niemniej jednak, jeśli nie mamy dobrej jakości połączenia LTE, lub nasz modem z jakiegoś powodu pod linux'em nie potrafi pracować w trybie NDIS, to możemy skonfigurować połączenie w trybie RAS wykorzystując do tego celu wvdial oraz demona PPP.

Wysyłanie i odbieranie SMS w wammu

Wammu to aplikacja, przy pomocy której jesteśmy w stanie zarządzać swoim telefonem komórkowym. Można ją także wykorzystać do zarządzania modemami USB, tymi samymi, które są w stanie nam dostarczyć połączenie LTE. Przy pomocy wammu nie damy rady jednak nawiązać połączenia internetowego ale jest kilka rzeczy, do których ten soft może nam się przydać. Karta SIM obecna w takim modemie może mieć zapisane kontakty, które możemy edytować, usuwać i ewentualnie dodawać nowe. Ważniejszym ficzerem, który oferuje wammu , jest możliwość wysyłania i odbierania wiadomości SMS. Wcześniej opisywałem wysyłanie i odbieranie SMS za pomocą gammu-smsd, niemniej jednak, w przypadku wammu nie będziemy uruchamiać żadnej usługi systemowej. Same wiadomości SMS odbiera i wysyła się na podobnej zasadzie co w telefonie komórkowym. Przyjrzymy się zatem bliżej temu kawałkowi oprogramowania.

Gammu-smsd, czyli wysyłanie i odbieranie SMS

Eksperymentując ostatnio z modemem Huawei E3372s-153 w wersji NON-HiLink, pomyślałem, że przydałoby się zaprojektować jakiś prosty system do odbioru i wysyłania SMS. Nie chodzi tutaj o zaprzęgnięcie do pracy oprogramowania takiego jak modem-manager-gui czy też wammu ale bardziej o przekazywanie tych wiadomości SMS, które trafiają na modem, na inny numer telefonu komórkowego. Czyli stworzenie takiego telefonicznego proxy, które te SMS będzie przekazywał dalej. Tego typu funkcjonalność można zaimplementować praktycznie w każdym linux'ie, tylko wymagane jest posiadanie odpowiednich narzędzi. W tym przypadku rozchodzi się o gammu-smsd i to o nim będzie ten wpis.

Zmiana nazwy interfejsu modemu ttyUSB0

Spora część osób posiada różnego rodzaju urządzenia do komunikacji GSM/UMTS/LTE. Mogą to być smartfony, czy też modemy USB. Zwykle po podpięciu takiego urządzenia do portu USB, system wykrywa je i oddaje nam do dyspozycji kilka interfejsów w katalogu /dev/ . W przypadku modemu Huawei E3372s-153 w wersji NON-HiLink, standardowo są dwa interfejsy: ttyUSB0 oraz ttyUSB1 . Gdy podłączamy tylko jedno urządzenie, to nie mamy problemy z tymi nazwami. Co się jednak stanie w przypadku, gdzie tych urządzeń będzie więcej i podepniemy je w losowej kolejności? Nawet jeśli będziemy wiedzieć które interfejsy są od jakich urządzeń, to i tak trzeba będzie przepisywać pliki konfiguracyjne różnych aplikacji pod kątem dostosowania tych nazw. Możemy jednak stworzyć unikalne nazwy interfejsów w oparciu o reguły udev'a i tym zajmiemy się w niniejszym wpisie.

Modem LTE HUAWEI E3372 bez usb-modeswitch

Ten artykuł, podobnie jak kilka poprzednich, powstał w oparciu o moje badania przeprowadzane nad modemem LTE HUAWEI E3372s-153 w wersji NON-HiLink. Niby rozwiązań dotyczących konfiguracji modemów pod linux'em jest pełno w sieci ale zasadniczą różnicą niżej opisanego sposobu jest kompletne pozbycie się pakietu usb-modeswitch . Dla przypomnienia, ten pakiet odpowiada za przełączanie trybu modemu. Zwykle są dostępne dwa tryby. Pierwszy z nich jest w stanie dostarczyć sterowniki (pod windows), po instalacji których modem przechodzi w drugi tryb, już ten właściwy. Na linux'ach to przełączanie jest realizowane via usb-modeswitch . I tu się nasuwa pytanie, czy ten modem faktycznie trzeba przełączać? A może istnieje sposób, który by automatycznie ustawił modem na taki tryb, który linux'y lubią najbardziej? Okazało się, że istnieje i w tym wpisie zostanie on przestawiony.

Konfiguracja modemu LTE w trybie NDIS (NCM)

Sporo modemów LTE potrafi pracować w kilku trybach. Weźmy na przykład modem Huawei E3372s-153 w wersji NON-HiLink. Standardowo obsługuje on tryb RAS (Remote Access Services) jak i NDIS (Network Driver Interface Specification). Domyślnie też włączony jest NDIS ale, by móc z tego trybu korzystać na debianie, musimy nieco inaczej skonfigurować sobie połączenie sieciowe. Gdy w grę wchodzą modemy LTE, to użytkownicy zwykli korzystać z narzędzia wvdial , który zaprzęga do pracy demona PPP i w ten sposób modem zaczyna pracować w trybie RAS, a nie NDIS. W tym wpisie skonfigurujemy sobie połączenie sieciowe na debianie w taki sposób, by wykorzystywało ono potencjał trybu NDIS.

Modem LTE pod OpenWRT (Huawei E3372s-153)

Modem LTE jest zwykle przeznaczony dla jednej stacji roboczej. Podpina się go do portu USB i zwykle po chwili można zestawić połączenie z siecią. W przypadku, gdy mamy kilka komputerów i na każdym z nich chcemy mieć internet, to mamy z grubsza trzy wyjścia. Pierwszym z nich jest dokupienie kolejnych modemów LTE, co zwykle nie wchodzi w grę. Drugą opcją jest zakup routera LTE. Różni się on od zwykłego routera WiFi tym, że ma już wbudowany modem LTE. Jeśli jednak dysponujemy własnym routerem WiFi, to niekoniecznie musimy się go pozbywać, zwłaszcza w przypadku, gdy już zakupiliśmy osobno modem LTE. Jeśli na tym routerze WiFi jesteśmy w stanie zainstalować firmware OpenWRT, to istnieje duża szansa na to, że damy radę ten router przerobić na router LTE. W tym wpisie postaramy się ten zabieg przeprowadzić z wykorzystaniem routera TP-LINK Archer C7 v2 oraz modemu LTE Huawei E3372s-153 w wersji NON-HiLink.

Darmowy internet LTE od RBM (Play)

We wpisie dotyczącym konfiguracji serwerów DNS na potrzeby Aero2 wspomniałem, że ten operator daje możliwość korzystania z internetu LTE praktycznie za darmo. Trzeba tam, co prawda, złożyć wniosek i zapłacić jakieś grosze za przysłanie karty SIM ale opłat jako takich za połączenie internetowe nie ma żadnych. Uporczywy może być jedynie kod CAPTCHA, który trzeba wpisywać co 60 minut. Szukając na necie informacji na temat darmowego internetu LTE doszukałem się tego oto wpisu. Jest tam przedstawiony sposób na włączenie bezpłatnej usługi internetu LTE u operatora RBM (Play). Z początku wydawało mi się to niezbyt wiarygodne, by tego typu oferta była w ogóle dostępna ale okazało się jednak, że nie ma tutaj żadnego haczyka i ten internet LTE faktycznie można włączyć i korzystać z niego za free. W tym wpisie postaramy się skonfigurować Debiana właśnie na potrzeby tej usługi.

Aero2 w połączeniu z dnsmasq i dnscrypt-proxy

Aero2 już od dość dawna oferuje darmowy dostęp do internetu w technologi LTE ale jakoś wcześniej nie byłem tym tematem zainteresowany. Parę dni temu złożyłem jednak wniosek o kartę SIM, tak by posiadać zapasowe łącze na wypadek, gdyby mój obecny ISP z jakiegoś powodu padł. Aero2 oferuje wersję komercyjną jak i tę za free i każda z nich ma swoje wady i zalety. Jako, że to łącze ma robić jedynie za zapas, to korzystam z wersji FREE, a jest ono dość poważne ograniczenie, tj. występuje tutaj kod CAPTCHA, który trzeba wpisywać tak co godzinę, po czym należy resetować modem. Ten kod może zostać zaserwowany jedynie w przypadku korzystania z DNS Aero2 i pozornie odpada możliwość używania własnego systemu DNS opartego o dnsmasq i dnscrypt-proxy. Po kilku dniach eksperymentów udało mi się wypracować przyzwoitą konfigurację, która potrafi obejść to ograniczenie, poprawiając tym samym prywatność i bezpieczeństwo w internecie korzystając z darmowego LTE za sprawą Aero2. W tym wpisie postaramy się zaimplementować ten mechanizm na debianie.