5 porad na lepszy internet u wirtualnego operatora komórkowego

Od jakiegoś czasu korzystam w telefonie z wirtualnego operatora komórkowego (Virgin Mobile). Wcześniej korzystałem już z Aero2, który jest miksem operatora tradycyjnego i wirtualnego. Z powodzeniem funkcjonuje on jako podstawowy internet u rodziców. W stosunku do tradycyjnego operatora GSM jest trochę zmian o których warto wiedzieć bo wpływają na działanie internetu przez komórkę.

Główna zmiana to nadajniki. W przypadku tradycyjnego operatora sprawa jest prosta – korzystamy z jego nadajników i zmieniać możemy najwyżej tryb. W przypadku operatora wirtualnego możliwości i opcji po stronie sprzętu jest więcej. Wszystkie one mogą wpłynąć na szybszy internet przez komórkę.

Poniżej kilka rad, które mogą pomóc uzyskać lepszy internet mobilny. Nic specjalnego i niezwykłego, ale chciałbym, żeby mi to wszystko ktoś rok czy dwa temu powiedział…

  1. Sprawdź, z jakich trybów i nadajników pozwala korzystać operator wirtualny. Zwykle jest to opisane w FAQ, jeśli będzie problem ze znalezieniem, można zapytać w BOK. Przyda się już za chwilę, w punkcie trzecim.
  2. Sprawdź w urządzeniach (w każdym z osobna), czy jest dozwolony roaming dla danych. Niektóre urządzenia zezwalają osobno na roaming krajowy (ten nas interesuje) i zagraniczny, w innych jest to proste włącz/wyłącz. Poza szczególnymi przypadkami, włączenie roamingu poprawia działanie internetu, a przynajmniej jego zasięg.
  3. Wymuś ręcznie połączenie z sieciami operatorów znalezionymi w pierwszym punkcie. Mój telefon uparcie twierdził, że T-Mobile jest forbidden i nie przełączał się automatycznie, mimo włączonego roamingu dla danych. Dopiero po ręcznym podłączeniu do nadajnika T-Mobile zapamiętał (na szczęście na stałe), że może się na nie przełączać.
  4. Jeśli planujesz przebywać w danym miejscu dłużej i potrzebujesz szybkiego lub stabilnego dostępu do internetu, również warto ręcznie przełączyć się między dostępnymi nadajnikami i sprawdzić w praktyce jak działa internet. Niestety nie ma prostej reguły – w jednym miejscu działa lepiej za pośrednictwem nadajników jednego operatora, w innym za pośrednictwem innego.
  5. Jeśli obserwujesz okresowe zrywanie połączenia z internetem, pomóc może tymczasowe wyłączenie roamingu dla danych i wybór operatora ręcznie.

Jeśli mamy lub planujemy kupić lepszy sprzęt, licząc, że zapewni on szybszy internet, można orientacyjnie zerknąć na mapę zasięgu LTE. Jednak prawdę powie nam niestety dopiero sprawdzenie empiryczne. Trzeba przy tym pamiętać, że sytuacja się zmienia. Operatorzy planują wprowadzić (albo już wprowadzili) ograniczenia prędkości internetu przy dostępie w roamingu.

Bonus: jeśli ktoś korzysta z lokalnego proxy DNS i miewa problemy z dostępem do sieci to polecam lekturę tego wpisu na mikroblogu. Użycie DNS Google zamiast odpytywania bezpośrednio zdecydowanie poprawia sprawę. Zostawiam jako plotkę/ciekawostkę, bo nie drążyłem tematu póki co.

Pierwsze pomiary

Wygląda, że w końcu mogę napisać, że powstało coś działającego. Nie jest to oczywiście pełna funkcjonalność, ale same pomiary są skończone. Nie twierdzę, że to ostateczna wersja, w szczególności muszę się przyjrzeć logowaniu, ale to jest ten moment, kiedy mogę pobawić się wartościami z konfiguracji i zobaczyć, jak wpływają na działanie w realnych warunkach.

Jak to wygląda? Otóż tak na szybko, uruchamiając modem GSM w sieci Virgin Mobile (3G) zarejestrowany do T-Mobile (roaming):

INFO:__main__:Route default got score 24.1516556059 on interface wlan0
INFO:__main__:Route default got score 89.6018913814 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 23.7111227853 on interface wlan0
INFO:__main__:Route default got score 64.5852940423 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 24.101962362 on interface wlan0
INFO:__main__:Route default got score 63.8392652784 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 23.9711829594 on interface wlan0
INFO:__main__:Route default got score 78.0421457793 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 66.7648989057 on interface wlan0
INFO:__main__:Route default got score 62.6970052719 on interface enx582c80xxxxxx

Widać, że w ostatnim pomiarze domowe WiFi (lub operator, ale stawiam na WiFi) dało się we znaki i wypadło gorzej, niż modem GSM. Różnica jest jednak minimalna i do zmiany routingu by nie doszło, nawet na domyślnych wartościach.

Wyniki po zalogowaniu natywnie, czyli do Play:

INFO:__main__:Route default got score 23.7996305738 on interface wlan0
INFO:__main__:Route default got score 307.032244546 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 24.561555045 on interface wlan0
INFO:__main__:Route default got score 267.205837795 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 24.0223884583 on interface wlan0
INFO:__main__:Route default got score 268.849682808 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 23.7405095782 on interface wlan0
INFO:__main__:Route default got score 275.927570888 on interface enx582c80xxxxxx
INFO:__main__:Route default got score 38.6582265223 on interface wlan0
INFO:__main__:Route default got score 287.999381338 on interface enx582c80xxxxxx

Wszystkie wyniki dla przykładowego pliku konfiguracyjnego z repo, z dostosowaną nazwą interfejsu (jest interfejs modemu zamiast eth0) i zmienionym poziomem logowania na INFO. Wywołanie w pętli 5 razy:

for i in {1..5}; do python abcc.py --config local_test.yaml; done

Przyznaję, że jestem zaskoczony wynikami – wydawać by się mogło, że natywnie będzie działać lepiej, a tu niespodzianka. Muszę jeszcze dokładniej potestować na różnych urządzeniach, dotychczas miałem wrażenie, że w roamingu jest gorzej. Ale to już temat na inny, niezwiązany z DSP2017, wpis.

Przy okazji, to drugie wywołanie wykonuje się 71 sekund, czyli około 14 sekund na jeden pełen przebieg, a ilość przesłanych podczas badania danych (odczyt z ifconfig) to:

RX packets 11342  bytes 7440400 (7.0 MiB)
TX packets 9789  bytes 1133957 (1.0 MiB)
RX packets 11640  bytes 7475184 (7.1 MiB)
TX packets 10087  bytes 1169257 (1.1 MiB)

Czyli jakieś 7kB RX i 7 kB TX per pomiar. Czyli jakieś 10 MB/dobę, przy założeniu, że będzie wywoływane co minutę, 27/7. Czyli mniej więcej mieści się w limicie bezpłatnego pakietu Freemium w Virgin Mobile. 🙂

Huawei E353/E3131 w Debianie

Kiedyś opisywałem uruchomienie Aero2 z modemem Huawei E3131. Kupiłem „taki sam” model i dziś przyszedł. Po podłączeniu do komputera spodziewałem się, że będzie tak samo, jak w poprzednim. Tak się nie stało, więc może komuś oszczędzę walki, na którą straciłem dziś dobry kwadrans, jak nie lepiej. Huawei E353/E3131 różni się od poprzednio opisywanego.

Otóż nowy modem przedstawia się w lsusb:

Bus 002 Device 016: ID 12d1:14db Huawei Technologies Co., Ltd. E353/E3131

Natomiast po wpięciu Huawei E353/E3131 do portu USB w dmesg widać:

[11264.677637] usb 2-1.2: new high-speed USB device number 15 using ehci-pci
[11264.787001] usb 2-1.2: New USB device found, idVendor=12d1, idProduct=1f01
[11264.787005] usb 2-1.2: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[11264.787007] usb 2-1.2: Product: HUAWEI HiLink
[11264.787009] usb 2-1.2: Manufacturer: HUAWEI
[11264.788426] usb-storage 2-1.2:1.0: USB Mass Storage device detected
[11264.788583] scsi host6: usb-storage 2-1.2:1.0
[11265.736276] usb 2-1.2: USB disconnect, device number 15
[11268.517690] usb 2-1.2: new high-speed USB device number 16 using ehci-pci
[11268.627263] usb 2-1.2: New USB device found, idVendor=12d1, idProduct=14db
[11268.627267] usb 2-1.2: New USB device strings: Mfr=2, Product=1, SerialNumber=0
[11268.627269] usb 2-1.2: Product: HUAWEI HiLink
[11268.627271] usb 2-1.2: Manufacturer: HUAWEI
[11268.630336] cdc_ether 2-1.2:1.0 eth0: register 'cdc_ether' at usb-0000:00:1d.0-1.2, CDC Ethernet Device, 58:2c:80:XX:XX:XX
[11268.707401] cdc_ether 2-1.2:1.0 enx582c80xxxxxx: renamed from eth0

Co prawda świtało mi coś o hilink i zauważyłem kartę sieciową w systemie. Jednak stwierdziłem, że to tylko jeden z trybów i można używać „po staremu” z /dev/ttyUSB0 i wvdial, który to sposób mam obcykany. Zmyliło mnie też to, że nie mogłem wejść na wskazywany przy opisach wersji hilink adres 192.168.1.1.

Robiłem różne cuda, o których pisać nie będę. Na szczęście zapytałem na IRCu i dobrzy ludzie naprowadzili me zawiłe rozumowania na proste tory.

No więc ostatecznie „po staremu” mi się nie udało, natomiast żeby uzyskać adres IP wystarczy wydać polecenie:

dhclient enx582c80xxxxxx

I wtedy po wpisaniu w przeglądarkę 192.168.1.1 mamy dostęp do klikalnego interfejsu zarządzania modemem i wszystko działa od kopa.

Niestety, opisy są chyba obliczone albo na ludzi, którzy robią wszystko z ręki, albo na tych, którzy mają wszystko automatycznie. Pobieranie IP z DHCP też.