Jak usprawnić sieć w domu? cz. 2

W poprzedniej części było o genezie cyklu, sposobach pomiaru i najlepszym możliwym połączeniu, czyli bezpośrednio skrętką. Ze względu na zainteresowanie paru osób wynikami testów PLC, przeskakuję WiFi i przechodzę do wyników testów PLC.

Na testy dostałem TL-PA4010P kit. Z tego co widzę, w wyszukiwarce znajduje zarówno, że jest to AV500 jak i AV600, ale na opakowaniu było AV600, więc link jest prawdopodobnie prawidłowy. Do podłączenia podszedłem zupełnie laicko – z tego miejsca w mieszkaniu internet ma trafić do tamtego – zupełnie nie wnikałem w to jakie są fazy i czy po drodze są listwy.

Błąd. Zalecane jest wpięcie w ten sam obwód i bezpośrednio do gniazdka, z pominięciem listew zasilających. W związku z tym wykonałem kilka testów, w tym wpisie zajmę się tylko wynikami pierwszej, najgorszej topologii – jeden kontroler bezpośrednio w gniazdku, drugi za listwą z włącznikiem i wpiętej w nią listwą zwykłą. Od razu podaję link do wskazówek jak najlepiej podłączyć PLC. Wyniki z optymalnego połączenia są lepsze i będą w kolejnym wpisie, ten to bardziej „jakoś wpiąłem i tak działało”.

Na wstępie miałem małe rozczarowanie, które rozwiewa dopiero lektura powyższego linka. AV600 oznacza 600 Mbps. I jakkolwiek przypuszczałem, że będzie to 300 upload, 300 download, to aby taki wynik osiągnąć, trzeba by mieć w urządzeniu port 1 GE. Tymczasem jak widać są tam porty 100 Mbps i taką prędkość linkowania się z urządzeniami osiągałem. Nie jest to dla mnie wielki problem, bo mój router także ma porty 100 Mbps, ale jeśli ktoś liczy na szybkie połączenie z NAS itp., to może się zawieść.

Samo podłączenie jest proste – sprowadza się do włożenia urządzeń w gniazdka, wpięcia ethernetu i naciśnięciu przycisku do parowania.

Wyniki z testu w niekomfortowych warunkach:

1.
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec   547 MBytes  76.5 Mbits/sec  1.195 ms  0/70059 (0%) 
[  4] Sent 70059 datagrams

2.
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec   418 MBytes  58.4 Mbits/sec    0             sender
[  4]   0.00-60.00  sec   417 MBytes  58.3 Mbits/sec                  receiver

3.
--- 192.168.10.126 ping statistics ---
600 packets transmitted, 600 received, 0% packet loss, time 60299ms
rtt min/avg/max/mdev = 3.310/3.657/13.757/0.965 ms
4.
--- 192.168.10.126 ping statistics ---
600 packets transmitted, 600 received, 0% packet loss, time 60338ms
rtt min/avg/max/mdev = 21.582/24.445/35.531/2.837 ms

5.
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-3600.00 sec  32.6 GBytes  77.9 Mbits/sec  1.447 ms  5136/4278660 (0.12%) 
[  4] Sent 4278660 datagrams

6.
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-3600.00 sec  24.6 GBytes  58.6 Mbits/sec    0             sender
[  4]   0.00-3600.00 sec  24.5 GBytes  58.6 Mbits/sec                  receiver

7.
--- 192.168.10.126 ping statistics ---
36000 packets transmitted, 36000 received, 0% packet loss, time 3625078ms
rtt min/avg/max/mdev = 2.759/4.280/16.010/1.247 ms

8.
--- 192.168.10.126 ping statistics ---
36000 packets transmitted, 36000 received, 0% packet loss, time 3618568ms
rtt min/avg/max/mdev = 22.662/24.105/106.475/2.133 ms, pipe 2

9.
Inea Orange

Jak widać nawet w tych niekomfortowych warunkach zestaw radził sobie przyzwoicie. Brak strat pakietów, niskie i stabilne opóźnienia. Widać wzrost czasu odpowiedzi w zależności od wielkości pakietu i jak sprawdziłem empirycznie pojawia się on przy rozmiarze pakietu między 900 a 1000 i jest to jedyna istotna różnica w stosunku do zwykłęgo ethernetu.

Niezła szybkość transmisji danych między urządzeniami nie wzbudziła mojej czujności; to, że coś chyba jest nie w porządku zacząłem podejrzewać dopiero po ostatnim teście, po podłączeniu jednego z końców kabla do routera. Dane z internetu pobierały się zwyczajnie wolno i… nie miało to pokrycia w testach syntetycznych. W tym momencie uprzedzę fakty i od razu napiszę, że przy zalecanym połączeniu wyniki w ostatnim teście były identyczne jak na kablu. Ale to już w kolejnym wpisie.

Na koniec słowo o zużyciu energii, ponieważ są to urządzenia aktywne. Podłączyłem urządzenie do watomierza. Bez podłączonego komputera pokazał 1,5W, po podłączeniu komputera i podczas transmisji danych 2,2-2,3W. Jeśli wyłączymy komputer, PLC po paru minutach przechodzi w stan uśpienia i pobiera wówczas 0,8W.

Jak usprawnić sieć w domu? cz. 1

Wstęp

Wpis jest wstępem do serii mini testów, które przeprowadziłem lub przeprowadzę w najbliższym czasie. Chodzi o rozwiązanie kwestii sieci w domu, czyli dostępu urządzeń w domu do internetu i zapewnienia ich łączności pomiędzy sobą. Powodem było moje WiFi. Choć doprowadzone aktualnie do zadowalającej używalności, niekoniecznie było optymalne. I to zarówno jeśli chodzi o stabilność połączenia, jak i oferowane przepływności czy opóźnienia. Na rynku istnieje kilka rozwiązań, które mają za zadanie pomóc w dostarczeniu sieci w domu. Niedawny wpis o PLC przypomniał mi, że kiedyś interesowałem się bardziej tematem, a technika poszła naprzód.

Szybkie pytanie na wewnętrznym forum firmowym czy komuś nie zalega parka PLC spotkała się z pozytywnym odzewem (uroki pracy w większej firmie, z otwartymi geekami – ciekaw jestem czego nie dałoby się znaleźć… ;-)) i okazało się, że nie tylko zalega chwilowo, ale są różnego typu, stąd pomysł na porównanie i podzielenie się wnioskami.

Nie ma to być test uniwersalny ani profesjonalny – robię go przede wszystkim dla siebie i w dostępnym mi środowisku. Trzeba pamiętać, że na przykład typ ścian czy otoczenie może mieć kolosalne znaczenie dla WiFi. Podobnie wygląda kwestia sieci elektrycznej dla PLC., więc każda sieć w domu jest nieco inna. Mam jednak nadzieję, że uda się wyciągnąć jakieś wnioski ogólne i może komuś pomoże w wyborze rozwiązania.

O ile nie napisano inaczej, wykorzystywany jest firmware dostarczony z urządzeniami. Systemy nie są specjalnie tuningowane – ot, linuksowy default. Z oczywistych względów trudno mi wypowiadać się na temat stabilności poszczególnych rozwiązań w dłuższym okresie czasu.

Topologia sieci

Topologia sieci jest następująca: modem ISP (kablówka) w przedpokoju, podłączony ethernetem do routera. Router (obecnie TL-841) z wgranym OpenWRT/LEDE dostarcza internet reszcie urządzeń po WiFi. Przedpokój to w miarę centralny punkt w mieszkaniu, odległość od urządzeń końcowych (laptopy, smartfony) ok. 7 metrów, część urządzeń pracuje w 802.11n, część w 802.11g i tak zostanie – modernizacja czy wymiana końcówek są nieopłacalne.

Dla jasności: to działa od lat i w zasadzie wystarcza, jeśli chodzi o przepływność. Wystarczało i na 802.11g, gdy transfery (do mojego laptopa) wynosiły 15-18 Mbps (wg speedtest.net). Po zmianie routera na nowszy jest lepiej – 30 Mbps. Nadal jest to gorzej niż to, co oferuje operator (60 Mbps), ale w zupełności wystarcza do transferów „z zewnątrz”. Zobaczymy jednak, czy są jakieś alternatywy i czego się spodziewać.

Ani mieszkanie w kamienicy, ani dość zaszumiony eter na 2,4 GHz, nie pomagają w dobrym działaniu WiFi. Możliwe więc, że dlatego nieco gorzej wygląda sytuacja, jeśli chodzi o stabilność. Rzadko, bo rzadko, ale zdarzały się problemy (straty do routera, wzrost czasów odpowiedzi). Zwykle, w czasach gdy korzystałem z oryginalnego firmware producenta, wystarczał restart routera lub sprawdzenie jak wygląda sytuacja w eterze przy pomocy WiFi Analyzera i zmiana kanału na wskazany jako najlepszy (czyli najmniej używany).

Swoją drogą zmiana kanału na nieużywany jest najprostszym sposobem na poprawę zasięgu czy jakości WiFi, więc jeśli ktoś szuka odpowiedzi na pytanie jak poprawić sygnał WiFi, to zdecydowanie polecam zacząć od tego.

Pomiary

Wykonywane są cztery testy wewnętrzne, oraz ogólny test przy pomocy speedtest.net (beta, czyli bez Flash). Testy wewnętrzne wykonywane były w dwóch wariantach: krótkim (w założeniu ok. 60s) i długim (ok. 3600s).

  1. iperf3 -u -b 0 -t 60 -c 192.168.10.126
  2. iperf3 -t 60 -c 192.168.10.126
  3. ping -i 0.1 -c 600 192.168.10.126
  4. ping -s 1500 -i 0.1 -c 600 192.168.10.126
  5. iperf3 -u -b 0 -t 3600 -c 192.168.10.126
  6. iperf3 -t 3600 -c 192.168.10.126
  7. ping -i 0.1 -c 36000 192.168.10.126
  8. ping -s 1500 -i 0.1 -c 36000 192.168.10.126
  9. speedtest.net[1]

Jak widać jest to pomiar przepływności przy użyciu pakietów UDP, TCP oraz pomiar opóźnień przy pomocy ping ze standardową oraz maksymalną (MTU 1500) wielkością pakietu. Ostatni test to „realne” połączenie z internetem. Wykorzystywane serwery mojego ISP oraz Orange, który często był wskazywany jako najlepszy.

Za klienta służy mój laptop z Debianem, za sondę posłużyło Banana Pi (jedyny SoC z gigabitowym portem, który miałem pod ręką). W obu systemach wykorzystany iperf3. Pomiar nie był jedyną czynnością wykonywaną przez laptopa, ale – poza testami WiFi – był wykorzystany osobny interfejs, a obciążenie było typowe.

Dodatkowo mogą pojawić się uwagi, jeśli coś nieplanowanego podczas testów rzuci mi się w oczy.

Wyniki bazowe

Na wstępie spiąłem oba urządzenie kablem „na krótko” i uruchomiłem testy. Synchronizacja oczywiście 1 Gbps.

1.
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-60.00  sec  6.07 GBytes   869 Mbits/sec  0.136 ms  592341/795464 (74%)
2.
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-60.00  sec  5.47 GBytes   784 Mbits/sec  138             sender
[  4]   0.00-60.00  sec  5.47 GBytes   783 Mbits/sec                  receiver
3.
--- 192.168.10.126 ping statistics ---
600 packets transmitted, 600 received, 0% packet loss, time 62319ms
rtt min/avg/max/mdev = 0.291/0.372/0.549/0.031 ms
4.
--- 192.168.10.126 ping statistics ---
600 packets transmitted, 600 received, 0% packet loss, time 62290ms
rtt min/avg/max/mdev = 0.427/0.549/24.612/0.996 ms

5.
[ ID] Interval           Transfer     Bandwidth       Jitter    Lost/Total Datagrams
[  4]   0.00-3600.00 sec   374 GBytes   893 Mbits/sec  0.220 ms  36944269/49033499 (75%)
6.
[ ID] Interval           Transfer     Bandwidth       Retr
[  4]   0.00-3600.00 sec   349 GBytes   833 Mbits/sec  8735             sender
[  4]   0.00-3600.00 sec   349 GBytes   833 Mbits/sec                  receiver
7.
--- 192.168.10.126 ping statistics ---
36000 packets transmitted, 36000 received, 0% packet loss, time 3745436ms
rtt min/avg/max/mdev = 0.278/0.369/40.914/0.398 ms

8.
--- 192.168.10.126 ping statistics ---
36000 packets transmitted, 36000 received, 0% packet loss, time 3745111ms
rtt min/avg/max/mdev = 0.260/0.500/2.861/0.046 ms

9.
Inea Orange [2]

Jak widać bez większych niespodzianek – osiągnięte wyniki wynikają raczej z ograniczenia samego Banana Pi. Mimo to widać, że jest szybko, czasy odpowiedzi niskie i jest stabilnie.

[1] Nie znałem wtedy znacznie lepszego serwisu do sprawdzania szybkości internetu.

[2] W przypadku pomiaru łącz topologia była nieco inna – laptop wpięty po kablu do portu routera (port 100 Mbps). W zasadzie dokładniej byloby wpiąć go bezpośrednio w modem kablowy, ale router jest stałym elementem zestawu w pozostałych topologiach… Dostawca internetu (Inea) deklaruje 60/10 Mbps.

OpenWrt na TP-Link WR841-N

Wczoraj nietypowo, bo ostatniego dnia roku zrobiłem jedną z rzeczy, które chodziły za mną od pewnego czasu, mianowicie wgrałem OpenWrt na domowy router TP-Link WR841-N. Ten sam, który kupiłem jakieś półtora roku temu. Późno, ale… jakoś nie miałem weny, a firmware producenta (aktualizowany kilka razy) w zasadzie działał.

Przynajmniej tak mi się wydawało. Jakiś czas temu przestała mi działać strona IKEA. Zarówno na komputerze, jak i telefonie. Oczywiście przyjąłem, że to wina ISP, bo strona zaczynała działać, jeśli korzystałem z netu przez GSM, zarówno na smartfonie, jak i na komputerze podłączonym do niego. A nie działała na żadnym z trzech różnych sprzętów i z tego co pamiętam nawet na ping nie odpowiadała.

Któregoś razu stwierdziłem, że sytuacja jest męcząca, więc sprawdzę o co chodzi dokładnie, czy to problem z routingiem, czy co. Ku mojemu zdziwieniu po odpaleniu sniffera okazało się, że jest komunikacja, nawet dwustronna. Tyle, że mocno szczątkowa. Uniewinniłem więc w myślach ISP i zacząłem męczyć IKEA, że może blokują moje IP z jakiegoś powodu.

Rozmowy były trudne, bo z jednej strony wyraźnie czułem, że się nie rozumiemy (no nie trawię tekstów od osób niezbyt technicznych „to musi być problem z przeglądarką”, jak piszę, że na trzech różnych OS sprawdzam i że na innym łączu działa), z drugiej trochę rozumiem, skoro problem nie był po ich stronie. W każdym razie udało mi się uzyskać zapewnienie, że nie blokują.

Olśnienia doznałem jak włączyłem stronę IKEA w sumie przypadkowo i odruchowo na jeszcze innym, stareńkim komputerze w domu i… zadziałała. Zacząłem szukać różnic i znalazłem. Stareńki sprzęt łączył się po 802.11g, wszystkie nowsze po 802.11n. Oczywiście nie powinno mieć to żadnego znaczenia, ale… miało.

Winę za to ponosił prawdopodobnie firmware routera (zresztą jakaś beta – taki był najnowszy). Od tego czasu oficjalnie uznawałem, że muszę zaktualizować do OpenWrt.

Aktualizacja WR-841-N do OpenWrt bardzo prosta i przyjemna – wystarczy przeczytać instrukcję dla odpowiedniej wersji hardware (v9) i wgrać odpowiedni firmware. Klikalne GUI, w sumie wszystko działa na pierwszy rzut oka, przynajmniej z podstawowych funkcji. Wydajność OK na pierwszy rzut oka. Jak zwykle polecam i zastanawiam się, czemu tak późno się zdecydowałem.

UPDATE: Ostatecznie, za sprawą komentarzy i wizyty na IRC na kanale traktującym o OpenWrt korzystam z LEDE. Może będzie o tym notka, ale w skrócie: nowszy soft i równie łatwa instalacja.