Wyszukaj

Wyświetlanie wyników dla tagów 'router' .



Więcej opcji wyszukiwania

  • Wyszukuj po tagach

    Wpisz tagi, oddzielając je przecinkami.
  • Wyszukuj po autorze

Typ zawartości


Forum

  • Kategoria Główna
    • Regulamin Forum - zasady korzystania
    • Kształt forum - dyskusja, propozycje, opinie.
    • tplinklogin.net oraz tplinkextender.net
    • Przydatne adresy internetowe
    • ftp://tplink-forum.pl
    • FOTO GALERIA - TP-Link w twojej sieci
    • CONNECTED nr 4/2016 (13) - NOWY NUMER
  • TP-LINK Forum
    • ADSL, DSL, LTE, PLC, USB - jaki model TP-Linka kupić?
    • BAZAR - kupię sprzedam
    • DOMOWE SIECI KOMPUTEROWE
    • PORADNIKI - FAQ - KONFIGURACJA
    • FIRMWARE
    • NOWOŚCI
    • NEFFOS - wsparcie techniczne
    • OPINIE UŻYTKOWNIKÓW / OPINIE EKSPERTÓW
    • POGOTOWIE KONFIGURACYJNE TP-LINK
    • PORADY SERWISOWE
    • ZAUFANY DYSTRYBUTOR - SPRZEDAWCA TP-LINKa
  • TP-Link rozwiązania SOHO - katalog
    • Urządzenia bezprzewodowe - standard AD
    • Urządzenia bezprzewodowe - standard AC
    • Urządzenia bezprzewodowe Dual Band
    • Urządzenia bezprzewodowe - standard N, 300Mb/s
    • Urządzenia bezprzewodowe - standard N, 150Mb/s
    • Urządzenia ADSL
    • Wzmacniacze sygnału
    • Karty bezprzewodowe
    • Routery 3G/4G/LTE
    • Modemy 3G
    • Przełączniki SOHO - niezarządzalne
    • Transmitery sieciowe PLC
    • Kamery IP Cloud
    • Serwery druku
    • Anteny i akcesoria
    • Karty przewodowe
    • Wycofane z produkcji
  • TP-Link rozwiązania SMB - katalog
    • Katalog produktów SMB 2013
    • Katalog produktów SMB 2015
  • TP-Link alternatywne oprogramowanie
    • Kto i gdzie tworzy alternatywne oprogramowanie
    • Aktualny firmware Gargoyle, LEDE, DD-WRT, OpenWRT, Luci,
    • FAQ - alternatywne oprogramowanie
    • Pogotowie konfiguracyjne - alternatywne oprogramowanie
  • Sieci komputerowe, internet
    • FAQ - sieci komputerowe
    • Konfiguracja popularnych urządzeń sieciowych
    • Routery innych producentów
  • Inne dyskusje
    • Hydepark

Grupa podstawowa


AIM


MSN


Strona URL


ICQ


Yahoo


Jabber


Skype


Gadu-Gadu


Lokalizacja:


Zainteresowania


O mnie

Znaleziono 13 wyników

  1. Do momentu upowszechnienia się technologii LTE, ludzkość była zdana na przewodowe łącza internetowe oferowane przez lokalnych ISP. Jeśli chodzi o tych lokalnych providerów, to zwykle nie mają oni praktycznie żadnej konkurencji w danej części miasta/wsi. Czy taki stan rzeczy jest wynikiem dostarczania najlepszych jakościowo usług za najniższą cenę? W moim przypadku nie były to ani najlepsze usługi, ani też najniższa cena, tylko tak dobrane przepisy prawne, by zewnętrznemu ISP nie opłacało się świadczyć usług w mojej okolicy, bo za ten fakt dostawał on z miejsca szereg opłat/kar. Teraz, gdy już praktycznie każdy z nas jest w zasięgu LTE, możemy porzucić tych lokalnych ISP i obserwować ich nieuchronny upadek, no chyba, że w końcu zaczną dbać o swoich klientów. Niemniej jednak, w dalszym ciągu, by korzystać z technologi LTE potrzebny nam jest odpowiedni sprzęt, zwykle jest to jakiś modem, np. Huawei E3372s-153. Problem z modemem jest taki, że standardowo można go podłączyć tylko do jednego komputera w danej chwili, no chyba, że mamy router WiFi z wgranym alternatywnym oprogramowaniem pokroju OpenWRT/LEDE. Niemniej jednak, w dalszym ciągu trzeba nieco wprawy, by ten modem ogarnąć i udostępnić połączenie internetowe hostom w lokalnej sieci. Dlatego też od jakiegoś czasu na rynku zaczęły pojawiać się routery WiFi, które mają wbudowany modemem LTE. Jedno z takich urządzeń dotarło do mnie kilka dni temu, a konkretnie jest model Archer MR200 od TP-LINK. Postanowiłem zatem zobaczyć co oferuje ten sprzęt w standardzie, oraz czy jest dla niego jakieś alternatywne oprogramowanie. Zawartość pudełka routera Archer MR200 No to jedziemy z tym routerem LTE. Na początek jak zawsze fotki opakowania i tego co znajduje się w środku: Archer MR200 nie jest jakoś specjalnie duży. W sumie to jest on nawet mniejszy od TL-WR1043NDv2 i jego dokładne wymiary to 202x141x34 mm. W zasadzie na górnej części obudowy tego urządzenia nie widać nic specjalnego na pierwszy rzut oka. Obudowa czarna, połyskująca no i łatwo też się rysująca. Na spodzie obudowy mamy zaś kartkę wentylacyjną: W górnej części widzimy naklejkę z informacjami dotyczącymi numeru seryjnego urządzenia, jego wersji sprzętowej oraz danymi logowania do sieci WiFi. Może i mamy także informację o adresie URL panelu administracyjnego ale zabrakło adresu IP (w tym przypadku to 192.168.1.1) oraz nie ma danych logowania do tego panelu (hasło się ustawia przy pierwszej próbie dostępu do panelu). Otwory wentylacyjne znajdują się również po bokach routera, tuż pod pokrywą: Panel tyny wygląda raczej zwyczajnie, choć są pewne różnice. Przede wszystkim switch ma cztery porty Ethernet (RJ-45), które mogą działać w konfiguracji 4LAN lub 3LAN+1WAN. Próżno też szukać portu USB, bo takiego zwyczajnie nie zaimplementowano. No i oczywiście mamy również slot na kartę SIM. Przyciski nie odbiegają od przyjętych standardów, tj. Power, WPS/RESET oraz WiFi ON/OFF: Archer MR200 ma w zasadzie 5 anten: 2 wewnętrzne dla sieci WiFi 2,4 GHz, 1 wewnętrzna dla sieci WiFi 5 GHz oraz 2 zewnętrzne (widoczne poniżej) dla sieci LTE: W zestawie mamy również jeden nieekranowany przewód Ethernet CAT5 od długości około 120 cm. Archer MR200 wymaga do zasilania energii elektrycznej i nie mogło w zestawie zabraknąć odpowiedniego zasilacza 1A/12V: Jako, że mamy do czynienia z routerem LTE, to do realizowania połączenia w tej technologii potrzebna jest karta SIM, a ta z kolei może mieć różne wymiary w zależności od standardu tej karty (zwykła, mini, mikro). Dobrze, że TP-LINK pomyślał o dołączeniu do zestawu dwóch adapterów (mikro/mini) i bez problemu możemy do routera wsadzić kartę SIM w dowolnym formacie. Poniżej są jeszcze fotki tylnego panelu routera z włożoną kartą SIM: Na koniec jeszcze fotka Archer'a MR200 z przykręconymi antenami: Mało co i bym zapomniał o diodach, które naturalnie i ten router posiada. Oprócz standardowych lampek, tj. sygnalizujących stan zasilania, połączenia z internetem, połączenia 4G, WiFi oraz portów switch'a, mamy również informacje na temat poziomu sygnału LTE. Specyfikacja routera Archer MR200 Jak widzieliśmy wyżej, ten router LTE w sumie za wiele się nie różni pod względem wyglądu od tradycyjnego routera WiFi. Niemniej jednak, te różnice są i to dość znaczne. Poniżej znajdują się fotki z wnętrza obudowy routera Archer MR200: Modem LTE To co z pewnością odróżnia Archer'a MR200 od reszty routerów, to fakt zainstalowania w nim modemu LTE. Dokładnie nie wiadomo jednak jakiej kategorii jest ten modem. Jedni mówią, że jest to standardowy CAT4 umożliwiający transfer 150/50 mbit/s. Z kolei zaś na stronie producenta jest oznaczenie LTE adv CAT4, LTE FDD/TDD CAT3 . Poruszając tę kwestię forum JDTech okazało się, że Qualcomm nieco nagina rzeczywistość i ten modem może ma frazę adv sugerującą agregację pasm (tj. LTE-A) ale w zasadzie jest to agregacja wewnątrz tego samego pasma. Dokładnie nie wiem jak mam rozumieć to powyższe oznaczenie ale jedyne co mi przyszło do głowy, to, że ten modem ma CAT3 (100/50 mbit/s), a dopiero po agregacji (w ciąż w tym samym paśmie) jest w stanie osiągnąć te 150/50 mbit/s. Czy tak jest w istocie, tego nie wiem ale bezpiecznie można tak założyć, bo gdyby napisano te parametry w przejrzysty i bardziej zrozumiały dla człowieka sposób, to nie byłoby wątpliwości. Ten modem jest w stanie realizować połączenie LTE w technologi zarówno FDD, kanały B1/B3/B7/B8/B20 (2100/1800/2600/900/800 MHz), jak i TDD kanały B38 i B40 (2600/2300 MHz). Sam modem obsługuje także DC-HSPA+/HSPA+/HSPA/UMTS, kanały B1/B8(2100/900 MHz) oraz EDGE/GPRS/GSM, kanały B2/B3/B5/B8 (1900/1800/900/850). Tak ten modem wygląda z obu stron: Na PCB modemu znajduje się czip LTE Qualcomm MDM9225 (procek): Modem ma 256 MiB NAND flash i 128 DDRII SDRAM pamięci operacyjnej, układ ESMT FM6BD2G1GA: Znajdziemy też tam wzmacniacz sygnału LTE, moduł SKYWORKS SKY77814 (FDD: B7 oraz TDD: B38, B40), oraz przełącznik antenowy SKYWORKS 13492. Na modemie można także znaleźć jeszcze czip Qualcomm PM8019, który zarządza zasilaniem podpiętych do niego układów: Jest też drugi czip LTE Qualcomm WTR1605L (część RF): I kolejny wzmacniacz sygnału LTE i GSM, moduł SKYWORKS SKY77629 (FDD: B1, B3, B8, GSM: B2, B3 ,B5, B8): WiSoC MT7620A (MediaTek) Archer MR200 został wyposażony w SoC MT7620A (datasheet) od MediaTek'a, z procesorem MIPS 24KEc taktowanym zegarem 580 MHz. Ten SoC ma wbudowany czip WiFi 2,4 GHz (MediaTek RT5390) oraz układ switch'a (MediaTek MT7530). WiFi 2,4 GHz jest w standardzie N do 300 mbit/s (dwa strumienie przestrzenne). Dla tego pasma sieci bezprzewodowej mamy dwie anteny wewnętrzne rozlokowane po bokach PCB (wlutowane na stałe). Poniżej jest fotka jednej z tych anten: WiFi 5GHz Router Archer MR200 jest także wyposażony w osobny układ dla WiFi w paśmie 5 GHz (MediaTek MT7610EN) ze wzmacniaczem SKYWORKS 85703: W tym przypadku mamy do czynienia ze standardem AC do 433 mbit/s, czyli jeden strumień przestrzenny, no i jedną antenę wewnętrzną: Switch 100 mbit/s Niestety Archer MR200 nie może się pochwalić jeśli chodzi o switch. Ma on cztery porty w stosunku do standardowych 5, choć zwykle więcej i tak nie trzeba. Natomiast maksymalna przepustowość tych portów to niestety tylko 100 mbit/s. Transformatory Ethernet pochodzą od GROUP-TEK, model HST-2027DAR. 64 MiB pamięci RAM Jeśli zaś chodzi o kwestię pamięci operacyjnej RAM, to Archer MR200 ma jej raczej niewiele, bo 64 MiB. Układ pamięci to Winbond W9751G6KB-25: 8 MiB pamięć flash Podobnie jak i pamięci RAM, pamięć flash również nie jest zbyt duża, bo jedyne 8 MiB. Flash pochodzi od Macronix i jest to model 25L6433FM2I-08G Konfiguracja routera Archer MR200 Nie da się ukryć, że posiadanie routera WiFi z wbudowanym modemem LTE, ma swoje liczne zalety. W przypadku tego Archer'a MR200 na stock'owym firmware nie musimy przeprowadzać praktycznie żadnych dodatkowych czynności, by udostępnić internet LTE komputerom w domowej sieci. Jedyne co musimy zrobić to wsadzić kartę SIM i w zasadzie to wszystko. Panel administracyjny routera znajduje się standardowo pod adresem http://192.168.1.1/ i za jego pomocą możemy dostosować sobie poszczególne aspekty pracy urządzenia. Ci, którzy chcą rzucić okiem na ten panel i sprawdzić czy znajdą w nim określone opcje, zawsze mogą skorzystać z emulatora dostępnego na stronie TP-LINK. W zasadzie wszystkie funkcje standardowego routera WiFi jak i modemu LTE są zaimplementowane w Archer MR200. Niemniej jednak, jest kilka rzeczy, o których warto wspomnieć. Tryby pracy routera Sam router można przełączyć w tryb zwykły (WiFi) lub LTE. W przypadku trybu LTE, wszystkie cztery porty switch'a są w konfiguracji LAN. Jeśli wybierzemy tryb zwykły (WiFi), to modem LTE zostanie wyłączony, a jeden z portów switch'a zostanie skonfigurowany jako WAN i będziemy mogli podpiąć się pod przewodowego ISP. Tryby pracy modemu LTE Modem LTE może pracować w trzech trybach: auto, LTE lub 3G. Niestety nie mamy możliwości określenia częstotliwości pracy: Nie zabrakło także obsługi kodu PIN dla karty SIM z automatycznym odblokowaniem karty przy starcie routera: Jak i również mamy możliwość ustawienia limitu transferu z opcją odłączenia od sieci po jego przekroczeniu. Zabrakło jedynie ficzera, który by nie naliczał transferu w określonych godzinach: WPS Jeśli zaś chodzi o WiFi, to mamy możliwość szybkiej konfiguracji parametrów połączenia za pomocą funkcji WPS. Obsługiwane są zarówno PIN jak i PBC (przyciski): Sieć gościnna Nie mogło zabraknąć też bezprzewodowej sieci gościnnej. W przypadku Archer'a MR200 mamy możliwość skonfigurowania izolowania od siebie konkretnych jej użytkowników oraz też możemy zdecydować czy zezwalamy im na ewentualny dostęp do sieci lokalnej. Sieć gościnną możemy włączyć osobno dla WiFi 2,4 GHz i 5 GHz i skonfigurować je niezależnie. Innym użytecznym dodatkiem jest także kontrola pasma jakie jest przeznaczone dla sieci gości: Harmonogram pracy WiFi Dostępny jest również harmonogram pracy sieci WiFi i to osobny dla pasma 2,4 GHz jak i 5 GHz. Przy jego pomocy możemy sobie ustawić automatyczne włączanie i wyłączanie sieci WiFi w zależności od pory dnia: Pisanie i odbieranie SMS'ów Routery LTE mają to do siebie, że odbierają one również sygnał sieci GSM, czyli jesteśmy w stanie odbierać i wysyłać wiadomości SMS. Darmowy internet od Aero2 Jeśli posiadamy kartę SIM od Aero2, to Archer MR200 jest w stanie zapewnić naszej sieci darmowy internet od tego operatora. Niemniej jednak, konfiguracja w tym przypadku nie jest automatyczna. Z tego co można zauważyć w panelu administracyjnym, to błędnie jest konfigurowany APN. Dlatego też trzeba stworzyć nowy profil i odpowiednio go uzupełnić: Użytkownik i hasło może być albo puste, albo można też wpisać aero . Wydajność sieci WiFi i LTE Generalnie rzecz biorąc, router Archer MR200 ma WiFi 2,4 GHz (max. transfer 300 mbit/s), WiFi 5 GHz (max. transfer 433 mbit/s), LTE (max transfer 150/50 mbit/s) no i switch z portami Fast Ethernet (max transfer 100 mbit/s). W efekcie komunikacja przewodowo-bezprzewodowa będzie limitowana z automatu do 100 mbit/s. Jeśli zaś chodzi o bezprzewodowych klientów to powinniśmy wyczerpać możliwości modemu LTE. Natomiast transfer w sieci bezprzewodowej (między dwoma klientami) powinien wynieść 150 mbit/s i 215 mbit/s odpowiednio dla 2,4 GHz i 5 GHz. Oczywiście wszystkie wartości są teoretyczne i przydałoby się je poddać weryfikacji. Może i znamy realną przepustowość portów Ethernet (~93 mbit/s) ale na dobrą sprawę nie znamy faktycznej przepustowości sieci WiFi 2 i 5 GHz. Dlatego też zanim sprawdzimy sobie na ile wydolny jest modem LTE, to pierw ustalmy ile damy radę wyciągnąć po samym WiFi. Transfer jaki udało mi się uzyskać w sieci WiFi w paśmie 2,4 GHz między dwoma bezprzewodowymi klientami, to około 80 mbit/s, czy ogólny transfer jest na poziomie 160 mbit/s. Jeśli na drodze staną dwie niezbyt grube ściany (dystans 5 metrów), wtedy ten transfer spada do około 30 mbit/s. Jeśli zaś chodzi o transfer w paśmie 5 GHz, to udało się osiągnąć nieco ponad 120 mbit/s wewnątrz sieci WiFi, czyli transfer na poziomie około 250 mbit/s. Generalnie ta niezbyt wypasiona antena wewnętrzna powoduje, że zasięg tego routera w tym paśmie WiFi jest, by nikogo nie urazić, bardzo ograniczony. Generalnie to nie jest problemem sama odległość ale ściany i inne przeszkody na drodze. W przypadku tego routera wystarczy jedna ściana, by praktycznie zatrzymać sygnał 5 GHz, tj. transfer spada poniżej 10 mbit/s. Dwóch ścian już sygnał nie jest w stanie pokonać. Jeśli rozważamy zakup tego routera pod kątem korzystania z sieci 5 GHz i planujemy z niej korzystać w miarę komfortowo, to upewnijmy się, że nic nie będzie stać na drodze sygnału. Wiemy zatem, że obie sieci WiFi są nam w stanie zapewnić prędkość, która jest porównywalna z prędkością modemu LTE (100 mbit/s, w agregacji tego samego pasma 150 mbit/s). Przeprowadziłem w sumie dwie serie testów posługując się moim smartfonem. Pierwsza seria testowała transfer modemu LTE w routerze Archer MR200. Druga seria zaś badała mój modem Huawei E3372s-153, który jest podłączony pod router Archer C2600. Poniżej jest zestawienie wyników: O ile generalnie prędkość pobierania jest w miarę porównywalna, choć się bardzo waha (w końcu LTE), to w przypadku transferu danych do BTS już widać różnicę. Transfer jest dwa razy większy, więc jakość sygnału docierająca do BTS jest o wiele lepsza niż w przypadku modemu Huawei E3372s-153. Niemniej jednak, jeśli przestawię te urządzenia okolice okna, to wtedy różnicy zbytnio już nie ma (odległość od BTS to około 1 km, widoczność zachowana). Pobór energii W zasadzie router Archer MR200 nie utylizuje za dużo energii elektrycznej. Podczas startu urządzenia jest to wartość nieprzekraczająca 1,5 W. Przy włączonym WiFi i LTE router zjada w stanie spoczynku około 3W. Zużycie energii wzrasta dość znacznie, gdy zaczynamy pobierać/wysyłać dane w sieci WiFi=>LTE. W takim przypadku pobieranie z prędkością około 50 mbit/s owocuje wzrostem poboru prądu do około 5,5W. Przy wysyłaniu danych z prędkością około 25 mbit/s, ta wartość jest jeszcze większa i sięga około 7-8W. Naturalnie im szybciej będziemy dane pobierać/wysyłać, tym bardziej prądożerny będzie nasz router. Wsparcie w LEDE/OpenWRT Router Archer MR200 doczekał się wsparcia w LEDE ale ten firmware można wgrać póki co jedynie przez tryb recovery bootloader'a. Instrukcja jak to zrobić znajduje się tutaj. Jeśli zaś jest ktoś zainteresowany alternatywnym firmware pod kątem tego routera, to tutaj jest wątek na forum OpenWRT oraz na forum eko.one.pl. Warto też dodać, że nie wszystkie rzeczy jeszcze działają, np. WiFi w paśmie 5 GHz. TL;DR Zewnętrzne anteny LTE zapewniają Archer'owi MR200 nawet dość przyzwoitą jakość sygnału w stosunku do tradycyjnego modemu Huawei E3372s-153. Ten router oferuje zbliżoną prędkość pobierania danych z BTS ale jeśli chodzi o prędkość wysyłania, to już tutaj te anteny zewnętrzne trochę pomagają mu. Niemniej jednak, anteny wewnętrzne dla WiFi 2,4 GHz i 5 GHz sprawiają, że jakość sygnału docierającego do komputerów/telefonów nie jest najlepszej jakości, przez co możemy zapomnieć o bonusie płynącym z zewnętrznych anten LTE. Jeśli BTS jest dość daleko to faktycznie te anteny mogą zaważyć na tym czy w ogóle jakiś sygnał LTE zostanie odebrany przez modem w routerze. Niemniej jednak jeśli BTS jest w zasięgu wzroku i nie ma żadnych przeszkód na drodze sygnału, to WiFi będzie wąskim gardłem jeśli sygnał będzie musiał się przebijać przez ściany domu/mieszkania, by dotrzeć do naszych sprzętów. Pamiętajmy też, że może i te anteny LTE są zewnętrzne ale nadal nie są zamocowane na zewnątrz budynku i nie są skierowane w stronę BTS'a. Porty Ethernet 100 mbit/s? Jakby nie patrzeć routery WiFi są rdzeniem naszej sieci domowej i powinny być w stanie zapewnić przyzwoitą komunikację przynajmniej w jej obrębie. Nawet te tanie routery pokroju TL-WR1043NDv2 mają gigabitowy switch, a 100 mbit/s po przewodzie w LAN, to już nie te czasy. Brak portu USB boli chyba najbardziej. Ja generalnie korzystam z portu USB mojego głównego routera Archer C2600 zwykle w celu udostępniania drukarki w sieci. W efekcie nie muszę ani przełączać samej drukarki, ani też stawiać dedykowanej maszyny do jej obsługi. W przypadku Acher'a MR200 takie rozwiązanie niestety odpada. Archer MR200 jest stosunkowo drogim routerem (~540 zł) jak na te parametry, które oferuje. Gdybym miał wybierać, to jednak zdecydowałbym się na zakup Archer'a C7 v2 + modem Huawei E3372s-153 (wersja zwykła) i cenowo by wyszło podobnie (400+150 zł) ale pod względem wydajności, to ten zestaw bije Archer'a MR200 praktycznie pod każdym względem (no za wyjątkiem LTE), już pomijając, że są to dwa niezależne urządzenia, które w przypadku awarii/zużycia można wymienić bez potrzeby wymiany również i drugiego urządzenia. Dobrze chociaż, że pojawia się wsparcie dla tego routera w LEDE/OpenWRT. Niemniej jednak, jeśli chodzi o alternatywny firmware, to uważam, że Archer C7 v2 + Huawei E3372s-153 jest lepszym wyborem, gdy rozważamy zabawę z tym oprogramowaniem. Niemniej jednak, w przypadku stock'owego firmware, Archer MR200 nie wymaga znajomości żadnych zagadnień informatycznych i praktycznie każdy jest go w stanie skonfigurować bez większego problemu, co nie zawsze ma miejsce w przypadku LEDE/OpenWRT.
  2. Witam Posiadam modem E3372 bez HiLink i planuje do niego dokupić router by go zestawić w innym pomieszczeniu by mieć lepszy zasięg. Najpierw porwałem się na najtańszą opcję, czyli zakup MR 3420 v.1.2 ale niestety ten router działa tylko z HiLinkami ( sam mam taki zestaw e3372h + mr3420 i odziwo dobrze działa ) ale próbowałem inny egzemplarz bez HiLink i jest problem. Model MR 3420 v.2 niby działa z tym E3372 bez hilink ale znowu jest problem z połączeniem bez aktywnego huba USB, u jednych działa bez huba u innych bez huba nie chce się połączyć, mimo wszystko to jedna z najtańszych opcji. Natomiast nie chce wydawać fortuny więc rozważam tez zakup używanego sprzętu, chciałbym wydać max. 100 zł na ten router i po prostu umieścić go na parapecie , a na zewnątrz po kablu USB modem , bo zestaw ten będzie używany tylko w weekendy i święta. Co polecacie ?
  3. Jakiś czas temu opisywałem jeden z mobilnych routerów WiFi, który był w stanie realizować połączenie LTE i udostępniać je w obrębie swojej sieci. Konkretnie był to hotspot M7310. W recenzji tego urządzenia wspomniałem o tym, że dysponując smartfonem jesteśmy w stanie przy jego pomocy zarządzać tym routerem. Oczywiście potrzebna jest do tego celu specjalna aplikacja tpMiFi wypuszczona również przez TP-LINK, którą można pobrać bez większego problemu z Google Play. Jako, że w tamtym wpisie potraktowałem temat tej aplikacji jedynie powierzchownie, to postanowiłem nieco bardziej się jej przyjrzeć i dokładnie opisać jej właściwości. Instalacja aplikacji tpMiFi w smartfonie Jak już nadmieniłem we wstępie, aplikację tpMiFi można pobrać ze sklepu Google Play. Nie waży ona za dużo, bo nieco ponad 2 MiB, no i też nie wymaga zbyt wielu uprawnień. Ta aplikacja jest przeznaczona jedynie do współpracy z urządzeniami TP-LINK i wspiera praktycznie dowolne urządzenie MiFi tego producenta. Nie powinniśmy zatem napotkać problemów przy jej użytkowaniu. Niemniej jednak, z aplikacji można korzystać jedynie w przypadku podłączenia do urządzeń MiFi. W przeciwnym wypadku wszystkie opcje dostępne w tpMiFi są nieaktywne i każda próba wejścia w interakcje z nimi powoduje pojawienie się poniższego monitu: Podłączanie się do routera By zarządzać routerem z poziomu smartfona musimy podłączyć się do jego sieci bezprzewodowej. Każde takie urządzenie ma na obudowie informacje, które mogą nam zapewnić dostęp do jego sieci WiFi. Odczytujemy ESSID oraz hasło i konfigurujemy taką sieć w smartfonie pod Ustawienia => WLAN: Routery WiFi zwykle mają dostępną opcję WPS. Smartfony również takim wynalazkiem dysponują, przez co możemy przycisnąć wirtualne przyciski na obu tych urządzeniach, tak by konfiguracja połączenia bezprzewodowego dokonała się bez naszej ingerencji. W tym celu z menu WLAN wybieramy pozycję "Zaawanasowane" i "Przycisk WPS": Sterownie routerem przy pomocy tpMiFi Będąc podłączonym do sieci WiFi routera możemy odpalić aplikację tpMiFi. Teraz na smartfonie powinniśmy być w stanie zobaczyć statystyki transferu, stan baterii, ilość zalogowanych użytkowników oraz ilość nieprzeczytanych wiadomości SMS. W górnej części ekranu znajdziemy menu (to te trzy poziome kreseczki), nazwę modelu urządzenia, oraz pozycję Login umożliwiającą zalogowanie się na router. Praktycznie wszystkie opcje widoczne na ekranie powyżej wymagają zalogowania się. Hasło logowania jest tym, które wykorzystywane jest przy dostępie do urządzenia z poziomu panelu webowego. Standardowo jest to admin . Po zalogowaniu się możemy operować na routerze. Odczytywanie wiadomości SMS Jak mogliśmy dostrzec na jednej z powyższych fotek, na skrzynce karty SIM, która została wsadzona do tego routera, zalega jedna wiadomość. By ją odczytać wystarczy tapnąć w ekran na pozycji SMS. Otworzy się nam lista wiadomości, które możemy sobie przeglądać, a nawet odpowiadać na nie bezpośrednio z aplikacji tpMiFi. Wiadomości można też naturalnie usuwać. Jedyny problem jaki tutaj dostrzegam, to brak powiadamiania dźwiękowego o nadchodzących SMS. Widać co prawda żółtą kropkę ale skąd mam wiedzieć, że jakaś wiadomość dotarła na router, skoro nie mam żadnej notyfikacji, gdy aplikacja jest zamknięta i nie widać jej interfejsu? Stan baterii Przez aplikację tpMiFi jesteśmy też w stanie sprawdzić status baterii. Są również opcje dostosowania trybu oszczędzania energii. Możemy dostosować sobie moc nadajnika naszego routera, jak i czas bezczynności WiFi, po którym radio ma zostać wyłączone. Zalogowani użytkownicy sieci WiFi Jest też co prawda możliwość podejrzenia aktualnie zalogowanych użytkowników w sieci WiFi. Widoczna jest ich nazwa jak i adres MAC. Nie mamy jednak opcji zablokowania konkretnego użytkownika, czy ograniczenia mu dostępnego pasma sieciowego: Udostępnianie zawartości karty SD Jeśli nasz router dysponuje slotem na kartę SD, to pewnie chcielibyśmy udostępnić jej zawartość w sieci. Aplikacja tpMiFi daje nam możliwość przełączenia trybu udostępniania karty SD z USB na WiFi: W trybie WiFi jesteśmy w stanie wgrać nawet pliki przez aplikację tpMiFi na tą kartę SD: Statystyki i limity transferu danych Dzięki aplikacji tpMiFi jesteśmy w stanie śledzić statystyki wykorzystania łącza w czasie rzeczywistym. Nie tylko aktualna prędkość pobierania i wysyłana jest uwzględniona ale również i ilość przetransferowanych danych. Poza samymi statystykami, tpMiFi umożliwia nam nałożenie ograniczeń transferu: Zabrakło jednak opcji, które umożliwiłyby dostosowanie godzin, w których transfer nie jest naliczany. Taka pozycja widnieje w standardowym panelu admina. Konfiguracja połączenia WiFi i 3G/LTE Przez tpMiFi możemy także dostosować sobie nazwę i hasło sieci WiFi. Nie ma jednak możliwości wyboru zabezpieczeń. Jest też opcja ukrycia sieci jak i wyboru pasma. Jeśli zaś chodzi o połączenie 3G i LTE, to mamy oczywiście możliwość wymuszenia 3G lub LTE oraz stan preferowanego LTE. Zabrakło jednak opcji wyboru/wymuszenia częstotliwości/kanału na jakim pracuje modem, a to przecie bardzo użyteczna funkcja. Jak widać wyżej, tpMiFi oferuje także możliwość konfiguracji kodu PIN, na wypadek, gdyby karta SIM była zabezpieczona. Możemy również sobie skonfigurować niestandardowy APN przy połączeniu 3G/LTE. Pozostałe ustawienia Przez tpMiFi jesteśmy także w stanie zmienić hasło wykorzystywane do logowania zarówno w panelu administracyjnym jak i samej aplikacji na smartfonie. Ta aplikacja potrafi także zwrócić informacje o urządzeniu, do którego jesteśmy aktualnie zalogowani: No i na koniec standardowo są też opcje umożliwiające restart oaz wyłączenie hotspotu/routera, jak i przywrócenie jego ustawień do fabrycznych: Problemy z tpMiFi i mobilna wersja panelu administracyjnego Warto też wiedzieć, że te nowsze urządzenia mają wersję mobilną panelu administracyjnego, który możemy załadować sobie w dowolnej przeglądarce na smartfonie przechodząc na adres IP routera. To o tyle ważna rzecz, że przy pewnych niestandardowych konfiguracjach telefonu, np. szyfrowany DNS za sprawą dnscrypt-proxy czy VPN, aplikacja tpMiFi może się bardzo dziwnie zachowywać uniemożliwiając zalogowanie na konkretny sprzęt. Bierze się to z faktu rozwiązywania przez aplikację domeny tplinkmifi.net , która ma wskazywać na adres prywatny (np. 192.168.0.1), a takiego rozwiązania nie otrzymamy z OpenDNS czy innego serwera DNS. Zatem jeśli w jakiś sposób dokonujemy przekierowania ruchu DNS, to raczej postawmy na mobilną wersję panelu administracyjnego zamiast na aplikację tpMiFi, bo zaoszczędzi nam to wielu problemów.
  4. Każdy z nas słyszał o alternatywnym firmware na bezprzewodowe routery WiFi. Mam tutaj na myśli oczywiście OpenWRT/LEDE oraz jego GUI Gargoyle i LUCI. Przy zabawach z takim oprogramowaniem bardzo łatwo jest uszkodzić router w sytuacji, gdy tak na dobrą sprawę nie wiemy co robimy. Mi się jeszcze nie zdarzyło ubić żadnej z moich maszyn, a mam ich kilka. Problem w tym, że tak naprawdę nie wiem jak wygląda proces odzyskiwania routera w przypadku zaistnienia takiego złego scenariusza. Dlatego też postanowiłem zainicjować zdarzenie, które doprowadziło do ubicia systemu w moim TL-WR1043ND V2 od TP-LINK. Co zrobić w takim przypadku, gdy system routera nie chce wystartować, a na obudowie diody sygnalizują nieprawidłową pracę urządzenia? W takiej sytuacji będziemy musieli rozebrać sprzęt i podłączyć się do portu szeregowego na PCB za pomocą adaptera USB-UART, najlepiej na układzie CP2102, który bez problemu działa pod linux. Ten artykuł nie powstałby (tak szybko), gdyby nie pomoc ze strony @Heinz. Jaki adapter USB-UART wybrać Przed przystąpieniem do procesu odzyskiwania władzy nad systemem routera, musimy się zaopatrzyć w odpowiednie narzędzia, które umożliwią na bardzo niskopoziomową komunikację z ubitym urządzeniem. Może i system takiego routera nie może się załadować ale jest duża szansa na to, że bootloader w dalszym ciągu pracuje prawidłowo (można to poznać po migających diodach), z tym, że z jakiegoś powodu nie może on uruchomić systemu. Jest wiele adapterów USB-UART, które możemy zakupić w sklepach internetowych. Co ciekawe, w fizycznych sklepach w ogóle o takich urządzeniach nie słyszeli (przynajmniej u mnie na wsi) i raczej pozostaje nam zakup zdalny. Cena takiego adaptera zamyka się w granicach 10-20 zł. Przy zakupie musimy brać pod uwagę jedną bardzo istotną rzecz. Chodzi o to, że standardowe napięcie w porcie USB komputera jest na poziomie 5 V. Te adaptery USB-UART na takim napięciu standardowo działają w przeciwieństwie do obwodu szeregowego w większości routerów. Nie możemy zatem się podłączyć do routera od tak. Jeśli ten obwód w naszym routerze jest zasilany innym napięciem, zwykle 3,3 V, to przed zakupem musimy się upewnić, że adapter USB-UART na pinach RX i TX będzie miał takie właśnie napięcie, ewentualnie będzie wyposażony w konwerter napięć. Patrząc na fotki urządzenia w sklepie możemy czasem na nich zobaczyć informacje o dwóch rodzajach napięć 3,3 V i 5 V. Popatrzmy na te poniższe adaptery USB-UART na układach CP2102: Na pierwszym adapterze konwerter napięć jest w postaci trzech padów i zespolenie dwóch z nich steruje napięciem. Na tym drugim zaś mamy nieco bardziej cywilizowane rozwiązanie, bo napięciem operujemy przy użyciu zworki. Niemniej jednak, w obu przypadkach sterujemy jedynie napięciem na pinie VCC, a nas interesują piny RX i TX. W przypadku adapterów na układzie CP2102 napięcie na pinach RX i TX jest zawsze takie samo i wynosi 3,3 V, zatem możemy zakupić dowolny adapter o ile jest on na tym właśnie układzie. Test napięcia w konwerterze USB-UART Jeśli nie jesteśmy pewni czy zakupiliśmy odpowiedni adapter USB-UART i nie chcemy spalić routera (czy tylko jego obwodu szeregowego), to zawsze możemy sprawdzić jakie napięcie na pinach RX/TX tego adaptera faktycznie jest. Do tego celu posłuży nam multimetr. Napięcie mierzymy między GND i RX lub TX. Powinniśmy uzyskać wskazanie na poziomie około 3,3 V, tak jak to widać na poniższej fotce: Jak widać z portu USB dostarczanych jest 5 V, a a między pinem GND i TX adaptera mamy już ~3,3 V. Możemy zatem bez obaw wykorzystać to urządzenie i wpiąć się do portu szeregowego routera. W tym przypadku położenie zworki nie ma żadnego znaczenia i wskazania są takie same nawet po jej usunięciu. W przypadku, gdyby zmiana położenia zworki dawała inne napięcia, to oczywiście wybieramy tę pozycję, która wskazuje 3,3 V. Warto też zaznaczyć, że oferty adapterów USB-UART znacznie się różnią pod względem dodatków, które dostajemy razem z adapterem. Zwykle kupujemy gołe urządzenie ale czasem też dorzucane są kolorowe kabelki albo też i goldpiny. Mi do jednego zestawu dorzucili kabelki, a drugiego trochę goldpinów: Jeśli jednak nabyliśmy taki adapter bez kabelków i goldpinów, to albo musimy dokupić je osobno, albo też zrobić je samemu. Port szeregowy routera (serial port) Port szeregowy znajduje się na płycie głównej routera. By się dostać do płyty, trzeba ściągnąć obudowę. Czasami nie jest to proste zadanie i trzeba poszukać odpowiedniej instrukcji. Zwykle informacje na ten temat są podane na wiki OpenWRT przy specyfikacji konkretnego modelu routera. Jeśli zaś chodzi o TL-WR1043ND, to raczej ze ściągnięciem górnej części obudowy nie powinno być problemu. Po odkręceniu śrubek, trzeba wypiąć ją z zatrzasków. Jest ich 8: 1 na tylnej krawędzi, 2 na prawej, 2 na lewej i 3 na przedniej. Są one rozlokowane w rogach i mniej więcej po środku. Otwieranie obudowy najlepiej zacząć od jednego z rogów przy tylnej krawędzi zahaczając palcami o wystający część obudowy i podnosząc ją lekko do góry, tak by można było w powstały otwór wsunąć cienki ale sztywny kawałek metalu czy czegoś podobnego. Później wystarczy przesunąć się jak najbliżej rogu i pewnie podważyć, zatrzask powinien bez problemu puścić. Później wystarczy przesuwać się wzdłuż krawędzi i powtarzać czynność podważenia w miejscu, w którym już nie możemy dalej się przemieścić. Po zdjęciu obudowy, mamy dostęp do płyty głównej. Port szeregowy, a właściwie tylko jego wyprowadzenia są ulokowane w lewej górnej części płyty, to te cztery dziurki widoczne na poniższej fotce: Trzeba tam przylutować jakaś wtyczkę albo chociaż gołe goldpiny. Niemniej jednak, by to zrobić, musimy wyciągnąć ten PCB z routera. Trzeba pierw odkręcić gniazda anten. Niektóre z nich mogą mieć problemy z przeciśnięciem się przez otwór. Trzeba nimi trochę pokręcić i poruszać na boki: Konstrukcja wtyczki dla portu szeregowego routera Po wyciągnięciu płyty z routera, możemy zabrać się za przylutowanie goldpinów czy wtyczki. Ja sobie skonstruowałem wtyczkę z elementów odzyskanych ze starej płyty głównej. Odlutowałem z niej 4 goldpiny i ściągnąłem kawałek plastiku, który był do nich przymocowany: Później takie ustrojstwo wsadziłem na płytę routera i przylutowałem. Całość się trzyma w miarę pewnie, choć ciężko było to przylutować (brak profesjonalnych narzędzi i wprawy). Tak czy inaczej, całość działa. Warto przed podłączeniem zasilania routera sprawdzić multimetrem czy nie ma tam czasem jakiegoś zwarcia. Jeśli miernik nie zabrzęczy, tzn. że jest wszytko w porządku. Konfiguracja linux'a na potrzeby połączenia szeregowego Ja korzystam z linux'a, a konkretnie z dystrybucji Debian. Dlatego też opiszę na jego przykładzie jak przebiega proces konfiguracji systemu pod kątem połączenia komputera z portem szeregowym routera. Przede wszystkim, podepnijmy sam adapter USB-UART do portu USB komputera. Układ CP2102 powinien zostać bez większego problemu rozpoznany w naszym systemie ( idVendor=10c4 , idProduct=ea60 ). Poniżej log ze zdarzenia: kernel: usb 2-1.3: new full-speed USB device number 6 using ehci-pci kernel: usb 2-1.3: New USB device found, idVendor=10c4, idProduct=ea60 kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 2-1.3: Product: CP2102 USB to UART Bridge Controller kernel: usb 2-1.3: Manufacturer: Silicon Labs kernel: usb 2-1.3: SerialNumber: 0001 kernel: usbcore: registered new interface driver usbserial kernel: usbcore: registered new interface driver usbserial_generic kernel: usbserial: USB Serial support registered for generic kernel: usbcore: registered new interface driver cp210x kernel: usbserial: USB Serial support registered for cp210x kernel: cp210x 2-1.3:1.0: cp210x converter detected kernel: usb 2-1.3: cp210x converter now attached to ttyUSB0 Został zarejestrowany nowy interfejs ttyUSB0 i to przy jego pomocy będziemy się komunikować z routerem. Standardowo tylko użytkownik root oraz członkowie grupy dialout mają prawa dostępu do urządzenia /dev/ttyUSB0 . Dodajmy zatem standardowego użytkownika do tej grupy w poniższy sposób: # adduser morfik dialout Potrzebne nam jest także jakieś oprogramowanie, które zinterpretuje nasze polecenia i prześle je do routera. Musimy zatem mieć dostęp do terminala i zainstalować program do komunikacji szeregowej, np. minicom czy picocom . W Debianie znajdują się one w pakietach pod tymi samymi nazwami. Wybieramy sobie jeden z nich i instalujemy w systemie. Ja będę korzystał z picocom . Kolejna sprawa, to konfiguracja picocom . By skomunikować się z routerem za pomocą konsoli szeregowej, musimy zdefiniować kilka parametrów dla połączenia. Konkretne ustawienie zależą od sprzętu lub jego firmware. Zwykle będziemy musieli dostosować parametr baud, którego najczęściej używane wartości to 9600, 38400 lub 115200 bit/s. W przypadku korzystania tylko z 3 przewodów (na PCB routera widzieliśmy 4 piny), tj. RX, TX, GND, powinniśmy ustawić flow control: none. W zasadzie to są te najważniejsze rzeczy ale możemy także sprecyzować data bits: 8, parity: none, stop bits: 1. Oznaczenia pinów na adapterze USB-UART i PCB routera By zestawić połączenie z routerem potrzebujemy podłączyć do jego płyty co najmniej trzy przewody. Jeden z nich to masa (GND), drugi odpowiada za przesył danych (TX), a ostatni zaś za odbiór danych (RX). Jeśli chodzi zaś o sposób podłączenia przewodów, to łączymy następująco: GND-GND, RX-TX i TX-RX. Na Adapterze USB-UART mamy stosownie oznaczone piny. Pytanie tylko, które piny na płycie głównej routera to GND, RX i TX? Zwykle możemy te dane znaleźć na wiki OpenWRT. A co jeśli w przypadku naszego modelu routera tych danych nie znajdziemy na wiki? W takiej sytuacji trzeba ręcznie ustalić oznaczenia pinów, a do tego potrzebny nam będzie multimetr. Pin GND Wyłączamy zatem nasz router i przełączamy multimetr w tryb omomierza na brzęczyk. Podłączamy czarną sondę do znanego nam punktu masy na PCB routera. Jak ustalić gdzie znajduje się znany punkt masy na PCB routera? Najprościej skorzystać z zasilacza, a konkretnie z gniazda zasilania w routerze. Na zasilaczu mamy oznaczenia + i - . Wygląda to mniej więcej tak jak na force poniżej: W tym przypadku wiemy, że masa jest na zewnątrz. Gdybyśmy nie mieli oznaczeń na zasilaczu, to trzeba by sprawdzić ten stan rzeczy multimetrem. W tym celu podłączamy sam zasilacz do gniazdka i wtykamy jedną sondę we wtyczkę, a drugą sondą dotykamy zewnętrznej jej części, tak jak pokazane na poniższej fotce: Wskazanie multimetru przy takim podłączeniu przewodów zarówno do miernika jak i wtyczki zasilacza jest dodatnie, zatem wiemy, że masa jest tam, gdzie mamy podpięty czarny przewód, tj. na zewnątrz, co potwierdza oznaczenie na zasilaczu. Mając tę wiedzę, możemy przyjrzeć się bliżej routerowi. Ma on gniazdo zasilania: Widać tam bolec w środku i blaszkę na spodzie. Nasz znany punkt masy to właśnie ta blaszka, bo to ona styka się z zewnętrzną częścią wtyczki zasilacza. To do niej musimy podłączyć naszą czarną sondę, a czerwoną do każdego kolejnego pinu konsoli szeregowej. Przy jednym z pinów, multimetr zacznie nam brzęczeń, bo wskaże nam prawie zerową rezystancję. Oznacza to, że znaleźliśmy pin GND konsoli szeregowej: W przypadku pozostałych pinów, rezystancja będzie sporo wyższa: Pin VCC Mając pin GND, możemy włączyć router do prądu. Przełączamy multimetr w tryb woltomierza na zakres najbliższy 5 V (u mnie 20 DCV) i podpinamy czarną sondę do pinu GND, a czerwoną do każdego z pozostałych trzech pinów. Wynik jednego ze wskazań powinien nam pokazać 3,3 V (ewentualnie 5 V). Ten pin oznaczamy VCC. Lepiej wyprowadzić sobie kabelki z pinów na płycie, by czasem nie zewrzeć pinów, bo może nam to uszkodzić router. Pin RX i TX Pozostały nam dwa piny RX i TX. Odróżnienie ich odbywa się na zasadzie prób i błędów. Mamy w sumie dwie konfiguracje na linii komputer-router: RX-RX/TX-TX lub RX-TX/TX-RX. Niewłaściwe podłączenie przewodów sprawi, że na konsoli nie zobaczymy żadnego wyjścia lub też będzie ono w ogóle nieczytelne dla nas. Z kolei poprawne połączenie RX i TX powinno pokazać nam na konsoli komunikaty z fazy startu routera. Z reguły powinniśmy podłączyć te piny naprzemiennie, tj. RX-TX i TX-RX ale czasami oznaczenia RX/TX na adapterze USB-UART mogą już uwzględniać zamianę tych pinów i wtedy trzeba łączyć RX-RX i TX-TX i tak było w tym przypadku. Nawiązywanie połączenia z routerem za pomocą konsoli szeregowej Mając odpowiedni adapter USB-UART i oznaczone piny na routerze, możemy spróbować nawiązać połączenie z routerem przez konsolę szeregową. Podpinamy zatem przewody do adaptera USB-UART oraz do wtyczki konsoli szeregowej na płycie routera. Pamiętajmy, interesują nas jedynie piny GND, RX i TX. Adapter umieszczamy w porcie USB komputera. Odpalamy terminal i wpisujemy w nim to poniższe polecenie: $ picocom --baud 115200 --flow=none --parity=none --databits 8 /dev/ttyUSB0 port is : /dev/ttyUSB0 flowcontrol : none baudrate is : 115200 parity is : none databits are : 8 escape is : C-a local echo is : no noinit is : no noreset is : no nolock is : no send_cmd is : sz -vv receive_cmd is : rz -vv imap is : omap is : emap is : crcrlf,delbs, Terminal ready Teraz włączamy przycisk power na routerze. Urządzenie powinno się nam włączyć (zapalą się diody): Jednocześnie obserwujemy co się będzie działo na konsoli. Przy prawidłowej konfiguracji powinniśmy zobaczyć na niej jakieś komunikaty. Jak widać, pierwsza część logu to sekwencja bootloader'a. Na samym dole zaś mamy zainicjowany start kernela. Ta powyższa sytuacja dotyczy sprawnego routera. Co jednak w przypadku, gdy naszemu routerowi coś dolega? Jeśli jesteśmy w stanie dojść do momentu, gdzie widoczny jest napis Autobooting in 1 seconds (pod koniec logu na powyższej fotce), to jak tylko się on pojawi nam na ekranie, to musimy wpisać tpl . Nie jest to łatwe zadanie i pewnie będziemy musieli powtórzyć tę czynność parokrotnie. Gdy wpiszemy tę fazę w wyznaczonym czasie, pojawi się prompt: Mapa obszaru flash'a routera W przypadku, gdy udało nam się uzyskać dostęp do bootloader'a, możemy spróbować wgrać obraz firmware na router. Zanim jednak przejdziemy bezpośrednio do wgrywania obrazu, musimy ustalić kilka rzeczy. Gdy nasz router jest sprawny, lub też ktoś inny posiada dokładnie takie samo urządzenie, które działa bez zarzutu, można z niego wyciągnąć informacje na temat układu partycji na flash'u. Te dane są dla nas bardzo cenne, bo bez nich nie uda nam się z powodzeniem odratować naszego padniętego urządzenia. Układ flash'a routera można odczytać z dwóch plików: /proc/partitions oraz /proc/mtd . Poniżej jest zawartość pierwszego z nich: root@OpenWrt:/# cat /proc/partitions major minor #blocks name 31 0 128 mtdblock0 31 1 1158 mtdblock1 31 2 6841 mtdblock2 31 3 4352 mtdblock3 31 4 64 mtdblock4 31 5 8000 mtdblock5 Rozmiar bloku równy jest 1024 KiB. Z powyższych informacji wiemy, że jakiś bliżej nieznany nam obszar na flash'u routera ma ściśle określony rozmiar. Nie mamy jednak żadnych ludzkich nazw, które byłyby w stanie nam coś o tych przestrzeniach powiedzieć. Bardziej czytelnym plikiem jest zaś /proc/mtd : root@OpenWrt:/# cat /proc/mtd dev: size erasesize name mtd0: 00020000 00010000 "u-boot" mtd1: 00121b70 00010000 "kernel" mtd2: 006ae490 00010000 "rootfs" mtd3: 00440000 00010000 "rootfs_data" mtd4: 00010000 00010000 "art" mtd5: 007d0000 00010000 "firmware" Jak widać wyżej, poza rozmiarem konkretnego obszaru (wartość w HEX) mamy również jego ludzką nazwę. Cały obraz firmware routera TL-WR1043ND V2 ma 8192 KiB, czyli 8 MiB. Możemy to odczytać sumując u-boot, firmware i art. Da nam to wartość 0x00800000, czyli po przeliczeniu właśnie 8 MiB. Kernel i rootfs jest ulokowany w firmware. Z kolei rootfs_data zawiera się w rootfs. Jeśli nasz router nie chce się uruchomić z jakiegoś powodu ale mamy jednocześnie dostęp do bootloader'a przez konsolę szeregową, to znaczy, że obszar u-boot nie został naruszony i mamy sporą szansę na odzyskanie urządzenia. Niemnie jednak, musimy sobie zdawać sprawę, że nie będziemy zapisywać całej przestrzeni flash'a i z tego względu, ten proces jest iście niebezpieczny, bo źle wgrany firmware z poziomu bootloader'a może nam kompletnie uwalić router. Urządzenia po źle wgranym firmware już odratować się tak prosto nie da. Trzeba będzie odlutować flash z PCB routera i podpiąć go do zewnętrznego programatora. Jak się to robi, to nie mam zielonego pojęcia, więc lepiej się kilka razy zastanowić przed wydaniem jakichkolwiek poleceń będąc w konsoli bootloader'a. Procedura wgrania firmware z poziomu bootloader'a Przechodzimy zatem na stronę z obrazami firmware OpenWRT/LEDE i pobieramy plik dla modelu naszego routera mający w nazwie factory. Upewnijmy się też, że ten obraz jest przeznaczony na wersję sprzętową taką, którą router ma wypisaną na spodzie obudowy. Mając pobrany obraz z firmware, musimy go jakoś przesłać na router. Do tego celu wykorzystuje się protokół TFTP (uboższa wersja protokołu FTP). Do zestawienia połączenia wymagany jest klient i serwer. Klientem będzie router. Serwerem zaś nasz komputer. Bootloader routera posiada odpowiednie oprogramowanie kliencie (narzędzie tftp ). Na komputerze musimy zaś postawić serwer. Konfiguracja serwera TFTP pod linux W dystrybucji Debian jest kilka pakietów mających w nazwie tftp . Nas interesują pakiety zawierające demona umożliwiającego postawienie serwera TFTP, np. atftpd lub tftpd . Instalujemy zatem pierwszy z brzega, tj. atftpd . W procesie ratowania routera nie działa WiFi. Musimy zatem łączyć się przy wykorzystaniu przewodu. Nie będzie nam działał też serwer DHCP, przez co nie uzyskamy adresacji dynamicznej dla komputera. Musimy określić ją statycznie w poniższy sposób: # ifdown eth0 # ip link set dev eth0 up # ip addr add 192.168.1.100/24 brd + dev eth0 Adres widoczny wyżej (192.168.1.100) nie może być przypadkowy. Będąc w konsoli bootloader'a, przy pomocy printenv możemy podejrzeć kilka zmiennych, które u-boot wykorzystuje do swojej pracy. Tam z kolei mamy min. te dwie poniższe: ipaddr=192.168.1.111 serverip=192.168.1.100 Zatem router będzie miał adres 192.168.1.111 i będzie próbował połączyć się z adresem 192.168.1.100 . Dlatego to ten adres musimy ustawić w konfiguracji karty sieciowej komputera. Jeśli kogoś interesują pozostałe zmienne zwrócone przez printenv , to są one opisane na wiki OpenWRT. Musimy jeszcze uruchomić serwer TFTP. W tym celu edytujemy pierw plik /etc/default/atftpd i przepisujemy go do poniższej postaci: USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --maxthread 100 --verbose=5 --bind-address=192.168.1.100 /srv/tftp-openwrt" Tworzymy jeszcze katalog /srv/tftp-openwrt/ i nadajemy mu odpowiednie uprawnienia: # mkdir /srv/tftp-openwrt/ # chown nobody:nogroup /srv/tftp-openwrt/ Teraz stawiamy serwer poniższym poleceniem, weryfikując przy tym czy został on faktycznie uruchomiony: # /etc/init.d/atftpd start # netstat -tupan | grep atftpd udp 0 0 192.168.1.100:69 0.0.0.0:* 25408/atftpd Jak wgrać firmware przez konsolę szeregową z poziomu bootloader'a Serwer TFTP został uruchomiony, a jego katalog główny to /srv/tftp-openwrt/ . Do tego katalogu musimy wrzucić plik z obrazem firmware, nazywając go przy tym, np. obraz.bin , nazwa dowolna: # cp /home/morfik/Desktop/openwrt-15.05-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin /srv/tftp-openwrt/obraz.bin Przechodzimy teraz do konsoli szeregowej. U-boot dysponuje kilkoma użytecznymi poleceniami. My będziemy wykorzystywać tftp , erase oraz cp.b . Poniżej znajdują się polecenia, które ja wykorzystałem przy ratowaniu swojego TL-WR1043ND V2. Polecenie tfpt pobierze plik obrazu firmware z dysku komputera i wrzuci go do pamięci RAM routera. Ta komenda przyjmuje dwa argumenty. Są nimi adres pamięci RAM, od którego obraz firmware będzie zapisywany, oraz nazwa pliku firmware, który zostanie pobrany z serwera TFTP naszego komputera. Nazwę znamy ale problematyczne może być określenie adresu pamięci RAM. O tym będzie w dalszej części artykułu. ap135> tftp 0x80060000 obraz.bin Using eth1 device TFTP from server 192.168.1.100; our IP address is 192.168.1.111 Filename 'obraz.bin'. Load address: 0x80060000 Loading: ################################################################# Bytes transferred = 8126464 (7c0000 hex) Polecenie erase służy do zerowania pamięci flash. Przyjmuje ono również dwa argumenty. Pierwszym z nich jest adres pamięci flash, od którego ma się rozpocząć zerowanie. (ustalenie go również może być problematyczne). Drugim argumentem jest ilość bajtów, które zostaną wyzerowane (musi pasować do 0x7c0000). Operację zerowania musimy wykonać ze względu na budowę komórek pamięci flash. Dopiero po wyzerowaniu interesującego nas obszaru, możemy zacząć umieszczać na nim dane z firmware. ap135> erase 0x9f020000 +0x7c0000 Erasing flash... First 0x2 last 0x7d sector size 0x10000 125 Erased 124 sectors Polecenie cp.b ma za zdanie skopiować firmware z pamięci RAM i wgrać je na pamięć flash. Tutaj z kolei musimy określić trzy argumenty. Pierwszym z nich jest początkowy adres pamięci RAM, czyli to miejsce, w którym znajduje się początek obrazu firmware. Drugim argumentem jest początkowy adres pamięci flash, od którego zamierzamy zacząć wgrywać firmware. Trzecim zaś argumentem jest ilość bajtów, które zostaną skopiowane z pamięci RAM na pamięć flash routera. ap135> cp.b 0x80060000 0x9f020000 0x7c0000 Copy to Flash... write addr: 9f020000 done Teraz można zrestartować router. Jeśli nie pomyliliśmy adresów i przeprowadziliśmy powyższe kroki prawidłowo, to będziemy w stanie się zalogować na router z wykorzystaniem protokołu telnet. Jak ustalić odpowiednie adresy pamięci RAM i flash routera Powyższe adresy są unikatowe dla konkretnego modelu routera. Nie możemy zatem korzystać z nich w przypadku każdego routera, który nawali z jakiegoś bliżej nieznanego nam powodu. Nasuwa się zatem pytanie: jak ustalić te adresy? Zwykle tego typu informacje powinny być podane na wiki OpenWRT. W przypadku części routerów,polecenie printenv (wydane z poziomu bootloader'a) jest nam w stanie zwrócić kilka zmiennych zawierających pewne polecenia. Poniżej przykład z mojego routera: ... bootcmd=bootm 0x9f020000 ... lu=tftp 0x80060000 ${dir}u-boot.bin&&erase 0x9f000000 +$filesize&&cp.b $fileaddr 0x9f000000 $filesize lf=tftp 0x80060000 ${dir}ap135${bc}-jffs2&&erase 0x9f050000 +0x630000&&cp.b $fileaddr 0x9f050000 $filesize lk=tftp 0x80060000 ${dir}vmlinux${bc}.lzma.uImage&&erase 0x9f680000 +$filesize&&cp.b $fileaddr 0x9f680000 $filesize ... Na podstawie użytych tutaj adresów można ustalić adres pamięci RAM i flash, od których powinniśmy zacząć zapisywać dane. W bootcmd mamy adres pamięci flash, który ma zostać odczytany podczas fazy startu routera. Przed nim znajduje się tylko obszar bootloader'a. Wiemy zatem od którego adresu trzeba będzie flash wyczyścić. Znając rozmiar firmware (ten wgrany do pamięci RAM), wiemy jaki obszar należy wyzerować. W lu widzimy zaś tftp 0x80060000 . Jako, że polecenie tftp ładuje obraz do pamięci RAM routera, to mamy adres pamięci od którego możemy zacząć zapisywać dane w RAM. Nie zawsze tego typu zmienne będziemy mieć dostępne w środowisku bootloader'a i odpowiednie adresy trzeba będzie ustalić w bliżej mi nie znany jeszcze sposób. Warto tutaj nadmienić, że wyżej widoczny adres odnoszący się do pamięci flash, tj. 0x9f000000, zostawiamy w spokoju. Określa on początek pamięci i nie możemy się nim posługiwać. Przy czyszczeniu i wgrywaniu danych na pamięć flash ( erase i cp.b ) musimy uwzględnić offset na bootloader. Standardowo jest to 128 KiB, które w zapisie HEX przyjmują wartość 0x20000. Trzeba zatem tę wartość dodać do 0x9f000000 i w ten sposób otrzymamy początkowy adres pamięci flash, od którego możemy zacząć kasować/zapisywać dane z firmware, tj. 0x9f020000, czyli uzyskaliśmy dokładnie taki sam adres co w bootcmd . Trzeba także uważać na długość wgrywanego obrazu (ilość bajtów). Na końcu flash'a routera mającego podzespoły od Qualcomm Atheros znajduje się obszar art (Atheros Radio Test). Zawiera on dane kalibracyjne dla WiFi (EEPROM). Informacje zawarte na tej partycji są unikatowe dla każdego indywidualnego routera. Jeśli uszkodzimy ten obszar, np. zapisując zbyt wiele danych, to trwale uwalimy WiFi w routerze, no chyba, że mamy backup tej przestrzeni albo i całego flash'a routera i będziemy w stanie ten obszar odtworzyć. Przykład z życia, czyli planowe ubicie TL-WR1043ND Nigdy mi się jeszcze nie zdarzyło ubić żadnego z posiadanych przeze mnie sprzętów. Niemniej jednak, przydałoby się odpowiedzieć na kilka pytań, a do tego potrzebny jest test na żywym organizmie. Postanowiłem zatem wgrać na mój router TL-WR1043ND V2 kilka różnych obrazów, w tym też te nieprzeznaczone dla niego. Obrazy są różne: oficjalne (z/bez boot) oraz OpenWRT/LEDE factory/sysupgrade. Przetestowałem też zanik zasilania podczas wgrywania firmware. Wszystko po to, by sprawdzić co tak naprawdę jest w stanie uszkodzić router i w jakim stopniu. Czy obraz "factory" uszkodzi router z OpenWRT/LEDE Mając wgrany firmware OpenWRT/LEDE zwykle flash'ujemy go obrazem mającym w nazwie sysupgrade . Jak jednak zareaguje nasz router po podaniu mu pełnego obrazu factory ? W sumie zawsze chciałem to sprawdzić ale jakoś nigdy nie było okazji. Kopiujemy zatem firmware do pamięci routera via scp , logujemy się na router i wgrywamy firmware via sysupgrade : Jak widzimy wyżej, router działa bez problemu. Zatem wiemy, że obrazy OpenWRT/LEDE mające w nazwie factory nie ubiją nam routera. Niemniej jednak, w porównaniu do tych mających w nazwie sysupgrade są zwykle parokrotnie większe przez co lepiej jest korzystać z tych drugich, a factory używać jedynie przy zmianie firmware z oficjalnego na OpenWRT/LEDE. Czy obraz przeznaczony na inną wersję/model routera uszkodzi router Wgranie obrazu firmware przeznaczonego na inną wersję/model routera powinno uszkodzić router. W przypadku innej wersji sprzętowej nie zawsze jest to regułą. Pytanie zwykle sprowadza się do różnicy w podzespołach routera. Jeśli te się zmieniły nieznacznie, to jest duża szansa, że router wstanie, choć może nie działać tak jak byśmy tego oczekiwali. Ja dysponuję routerem TL-WR1043ND w wersji V2, a on się zmienił dość znacznie w porównaniu do wersji V1. Możemy zatem przypuszczać, że wgranie firmware dla wersji V1 ubije router. Sprawdźmy zatem co faktycznie się stanie (bez znaczenia czy użyjemy sysupgrade czy factory ). Nie mamy możliwości wgrania firmware przeznaczonego na inną wersję sprzętową routera. Podobnie sprawa będzie wyglądać w przypadku zupełnie innego modelu routera. Jak widać w powyższym komunikacie, został porównany ID: Invalid image, hardware ID mismatch, hw:10430002 image:10430001 . Zatem ID sprzętu nie pasuje do ID uzyskanego z obrazu, w efekcie system odmawia próby wgrania takiego firmware z oczywistych względów. Może i mechanizmy obronne wbudowane w firmware OpenWRT/LEDE działają i są w stanie nas ochronić przed tak banalnymi błędami, to w dalszym ciągu możemy uszkodzić router wgrywając oprogramowanie na siłę przez sysupgrade (przełącznik -F ). Innym sposobem flash'owania, który może nam napytać biedy, jest nieumiejętne korzystanie z narzędzia mtd , przy pomocy którego można wykonywać operacje bezpośrednio na pamięci flash. Jeśli zatem zamierzamy przy pomocy sysupgrade -F lub mtd write wgrywać jakiś obraz firmware, to upewnijmy się, że nie jest on przeznaczony na inne wersje sprzętowe routerów albo i całkowicie inne modele. Czy zanik prądu uszkodzi router z OpenWRT/LEDE Zanik prądu jest znanym mordercą routerów. Niemniej jednak, z racji różnicy w oficjalnym firmware TP-LINK'a i firmware OpenWRT/LEDE, sprawa może się inaczej potoczyć. Przede wszystkim, zanik prądu może pojawić się w różnych momentach. W przypadku obrazów TP-LINK'a mających w nazwie boot , system będzie próbował przepisać bootloader (bez części konfiguracyjnej). By to zrobić musi wyczyścić ten obszar. Jeśli w tym czasie nastąpi zanik napięcia, to nie tylko router zostanie uszkodzony ale też już nie damy rady go odzyskać przez konsolę szeregową i trzeba będzie korzystać z programatora. W przypadku firmware OpenWRT/LEDE nie musimy się aż tak martwić, bo tutaj nie jest ruszany w ogóle bootloader. W efekcie nawet jeśli nastąpi zanik napięcia, to obszar u-boot zostaje nietknięty i możemy wgrać się później przez konsolę szeregową. Podobnie sprawa ma się w przypadku obrazów oficjalnych bez frazy boot w nazwie. Tutaj również nie jest przepisywany bootloader i przy zaniku napięcia będziemy w stanie odzyskać router. Sprawdźmy zatem co się stanie po puszczeniu procesu aktualizacji firmware via sysupgrade i odłączeniu zasilania routera tak po trzech sekundach. Oczywiście flash'ujemy router z poziomu sysupgrade na firmware OpenWRT/LEDE: W momencie uwiecznionym powyżej nastąpił symulowany zanik zasilania. System routera po włączeniu nie startuje. Zapalają się wszystkie diody, po czym część z nich gaśnie. Dioda Power, System i WPS świecą się ciągle. Dioda WLAN jest zgaszona cały czas, natomiast wszystkie pięć diod od portów ethernet miga. Ten proces zdaje się być zapętlony, czyli jakaś aktywność routera się zachowała. Jako, że diody migają i router się cały czas restartuje, oznacza to, że bootloader działa raczej prawidłowo i jego obszar nie uległ przepisaniu. Niemniej jednak, bootloader nie jest w stanie podnieść systemu. Napotyka jakiś "bliżej nieznany błąd" i restartuje system mając nadzieję, że to coś da. Poniżej jest komunikat, który można zobaczyć na konsoli szeregowej: Autobooting in 1 seconds ## Booting image at 9f020000 ... Uncompressing Kernel Image ... ERROR: LzmaDecode.c, 543 Decoding error = 1 LZMA ERROR 1 - must RESET board to recover Router jest do odzyskania ale musimy zrobić użytek z konsoli szeregowej i opisanym wyżej sposobem wgrać firmware z poziomu bootloader'a. Czy obraz przeznaczony na inną wersję/model routera ubije router z oficjalnym firmware Podobnie jak w przypadku firmware OpenWRT/LEDE, oficjalny firmware TP-LINK'a również weryfikuje obrazy przed wgraniem ich przez panel administracyjny. Nie musimy się zatem obawiać, że przez przypadek wgramy obraz nieprzeznaczony dla naszego modelu/wersji routera. Czy wgranie oficjalnego firmware z "boot" w nazwie via sysupgrade uszkodzi router z OpenWRT/LEDE Firmware OpenWRT/LEDE nie dotyka praktycznie wcale obszaru flash, w którym siedzi bootloader. Jeśli teraz zamierzamy powrócić do oficjalnego firmware, to musimy pozyskać stosowny obraz. Wszystkie obrazy na stronie TP-LINK mają frazę boot . Oznacza to, że zawierają one część bootloader'a, którą proces flash'owania przepisuje podczas aktualizacji firmware z poziomu panelu administracyjnego TP-LINK'a. Jeśli taki obraz podamy w sysupgrade , to ta część bootloader'a z oficjalnego firmware powędruje na flash routera w miejsce, gdzie powinno znajdować się faktyczne oprogramowanie. W efekcie router nie będzie chciał się uruchomić ale będziemy w stanie go odzyskać przez konsolę szeregową. By uniknąć tego typu problemów, potrzebny nam jest obraz nieposiadający w nazwie frazy boot . Takie obrazy są dostępne w różnych miejscach: tutaj, tutaj, tutaj i pewnie jeszcze w wielu innych, o których nie wiem. Jeśli jednak dysponujemy obrazem mającym w nazwie boot i z jakiegoś powodu nie możemy pozyskać obrazu bez części bootloader'a, to możemy ten zbędny i niebezpieczny zarazem kawałek usunąć ręcznie. Możemy to zrobić przy pomocy dd z poziomu każdego linux'a (nawet OpenWRT/LEDE) w poniższy sposób: # dd if=firmware_z_boot.bin of=firmware_bez_boot.bin skip=257 bs=512 To powyższe polecenie usunie z początku obrazu pierwsze 131584 bajów (0x20200 w HEX) i taki obraz możemy już wgrać bez problemu na router via sysupgrade . Czy wgranie oficjalnego firmware NIEmającego "boot" w nazwie przez panel admina uszkodzi router Gdy oficjalny plik z firmware nie zawiera frazy boot w nazwie, to jest to mniej więcej taka sama wersja obrazu co w przypadku firmware OpenWRT/LEDE, który ma w nazwie factory . Wgranie oficjalnego obrazu bez boot z poziomu panelu administracyjnego TP-LINK'a nie uszkodzi naszego routera. Wgrywanie oficjalnych obrazów bez boot w nazwie jest nawet bezpieczniejsze, bo w tym przypadku nie jest przepisywany obszar u-boot. Dlatego też nawet w przypadku utraty zasilania podczas procesu flash'owania routera, będziemy w stanie odzyskać router przez konsolę szeregową. Czy obraz "sysupgrade" wgrany z panelu TP-LINK uszkodzi router Przy przechodzeniu z oficjalnego firmware na OpenWRT/LEDE stosuje się obrazy mające w nazwie factory . Z kolei zaś obrazy mające w nazwie sysupgrade są przeznaczone dla aktualizacji firmware routera. Czy wgrywając obraz sysupgrade można uszkodzić router? Sprawdźmy: Wygląda na to, że oficjalne oprogramowanie nie przyjmuje takiego obrazu zupełnie. Obraz factory i sysupgrade praktycznie niczym się nie różnią pod kątem zawartości. W przypadku factory na początku obrazu znajduje się tylko dodatkowy nagłówek i prawdopodobnie jego brak uniemożliwia wgranie obrazu na router z poziomu panelu administracyjnego TP-LINK'a. Backup pamięci flash router'a Jak widać z powyższych obserwacji bardzo ciężko jest doprowadzić router do stanu nieużywalności. Jeśli nie przytrafi nam się nagły zanik zasilania podczas procesu flash'owania, to raczej nie mamy możliwości uszkodzić routera, no chyba, że bardzo się o taki stan rzeczy postaramy. By uniknąć problemów przy ewentualnym eksperymentowaniu z routerem, najlepiej postarać się o backup całej przestrzeni flash. Backup z poziomu działającego firmware Jeśli nasz router działa bez problemu, możemy się na niego zalogować po ssh i przy pomocy dd zrzucić obrazy wszystkich pozycji, które widnieją w pliku /proc/mtd . Oczywiście moglibyśmy zrobić backup tylko u-boot, firmware i art ale później musielibyśmy kroić obraz by wyodrębnić konkretne jego części. Backup robimy przy pomocy dd zapisując dane w pamięci RAM routera: root@OpenWrt:/tmp# dd if=/dev/mtdblock0 of=/tmp/mtdblock0-u-boot.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock1 of=/tmp/mtdblock1-kernel.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock2 of=/tmp/mtdblock2-rootfs.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock3 of=/tmp/mtdblock3-rootfs_data.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock4 of=/tmp/mtdblock4-art.bin root@OpenWrt:/tmp# dd if=/dev/mtdblock5 of=/tmp/mtdblock5-firmware.bin Następnie tak utworzone pliki trzeba przesłać na komputer, np. via scp : $ scp root@192.168.1.1:/tmp/mtd\* ./ Odtwarzanie backup'u z poziomu firmware Odtworzenie backup'u uszkodzonego obszaru pamięci flash z poziomu działającego firmware jest stosunkowo proste. Załóżmy, że uszkodziliśmy sobie obszar art, w wyniku czego uszkodziliśmy WiFi. By przywrócić ten obszar, logujemy się na router i wrzucamy do pamięci plik backup'u. Później przy pomocy mtd write wgrywamy backup na odpowiedni obszar pamięci flash w poniższy sposób: # mtd write /tmp/mtdblock4-art.bin art Backup i odtwarzanie go z poziomu bootloader'a W przypadku, gdy nasz router znajduje się w stanie agonalnym ale mamy jeszcze możliwość zalogowania się do bootloader'a, to możemy pokusić się o zrobienie backup'u flash'a za sprawą konsoli szeregowej. Niemniej jednak, nie wszystkie wersje u-boot dysponują komendami umożliwiającymi przesłanie backup'u na serwer TFTP. Jeśli u-boot naszego routera takimi poleceniami nie dysponuje, to musimy postarać się o obraz initramfs, który załadujemy do pamięci RAM routera. W tym initramfs będą znajdować się potrzebne nam polecenia i backup wykonamy bez trudu. Obraz initramfs musimy sobie sami zbudować albo tez pozyskać od kogoś, kto już go zbudował. Jak przeprowadzić proces budowy obrazu initramfs wykracza poza ramy tego artykułu. (link FIXME). Jeśli zaś chodzi o kwestie odtworzenia backupu za pomocą bootloader'a, to raczej nie będziemy potrzebować takiej funkcjonalności. Poza tym, nie wszystkie bootloader'y dają nam możliwość skorzystania z mtd , tak jak to ma miejsce przy działającym firmware OpenWRT/LEDE. Nawet jeśli nasz bootloader wspiera taką możliwość, to trzeba uważać, bo nie zawsze obszary mtd widziane przez bootloader muszą się pokrywać z tymi udostępnianymi przez kernel w pliku /proc/mtd . Dlatego też lepiej posługiwać się offset'ami. Problemy z uruchomieniem routera przy podłączonym adapterze USB-UART Mój routera TL-WR1043ND V2 miał wgrany firmware OpenWRT Chaos Calmer. Był też jak najbardziej sprawny ale po podłączeniu adaptera USB-UART nie chciał się uruchomić. Zatrzymywał się na etapie bootloader'a z poniższą informacją: U-Boot 1.1.4 (Sep 10 2015 - 12:05:08) ap135 - Scorpion 1.0DRAM: sri Scorpion 1.0 ath_ddr_initial_config(211): (16bit) ddr1 init tap = 0x00000002 Tap (low, high) = (0xaa55aa55, 0x0) Tap values = (0x8, 0x8, 0x8, 0x8) 4 MB Niektóre adaptery USB-UART mogą uniemożliwić start routera. No to pojawia się pytanie jak próbować odzyskać router, gdy nie mamy możliwości zainicjowania bootloader'a? Najprościej jest kupić normalny adapter (jakieś polecane modele?), który nie zawiesi startu routera. Innym wyjściem jest podłączenie przewodu do pinu GND po włączeniu przycisku power routera. Trzeba tylko ustalić czas, po którym możemy ten pin GND podłączyć, a to już robimy metodą prób i błędów. W moim przypadku mogłem praktycznie od razu się podłączyć (tuż przed zgaśnięciem wszystkich diod na routerze). W innych sytuacjach trzeba będzie poczekać jedną czy kilka sekund i dopiero wtedy się wpiąć. Nie trzeba się oczywiście spieszyć z tym faktem, bo bootloader się będzie w kółko resetował, przez co i tak zobaczymy wszystkie komunikaty, które nam zostaną zwrócone.
  5. TP-LINK ma w swojej ofercie szereg urządzeń, którymi można zarządzać z grubsza na dwa sposoby. Pierwszym jest raczej znany nam wszystkim panel administracyjny dostępny z poziomu przeglądarki internetowej zainstalowanej na dowolnym komputerze czy laptopie. Drugim ze sposobów jest wykorzystanie smartfona i dedykowanej aplikacji Tether na Androida/iOS. Webowy panel administracyjny zwykł udostępniać nam całą masę opcji, a jak jest w przypadku aplikacji Tether? Lista kompatybilnych urządzeń Aplikacja Tether od TP-LINK została zaprojektowana w celu zarządzania routerami WiFi i innymi urządzeniami bezprzewodowymi tego producenta przy pomocy smartfonów z Androidem 4.0+ i iOS 7.0+. By móc zarządzać jakimś sprzętem przy pomocy telefonu, musi ono być na liście wspieranych urządzeń. Poniżej jest taka lista: ★ Kompatybilne Routery Archer C3200 V1 / Archer C2600 V1 Archer C1900 V1 Archer C9 V1 V2 / Archer C8 V1 V2 Archer C7 V2 V3 / Archer C5 V2 Archer C50 V1 / Archer C2 V1 Archer C20 V1 / Archer C20i V1 TL-WDR4300 V1 / TL-WDR3600 V1 TL-WDR3500 V1 /TL-WR1043ND V3 TL-WR941ND V5, V6 / TL-WR940N V2, V3 TL-WR841ND V9, V10 V11 TL-WR841N V9, V10 V11 / TL-WR741ND V5 TL-WR740N V5 V6, etc. ★ Kompatybilne Routery xDSL Archer VR900v V1 / Archer VR200v V1 Archer VR900 V1 Archer D9 V1 / Archer D7 V1 Archer D5 V1, V2 Archer D2 V1 / Archer D20 V1, etc. ★ Kompatybilne ekstendery zasięgu RE590T V1 / RE580D V1 RE450 V1 / RE355 V1 TL-WA855RE V1 / TL-WA854RE V2 TL-WA850RE V2 / TL-WA830RE V3 Posiadanie jednego z tych powyższych urządzeń nie zagwarantuje nam możliwości korzystania z aplikacji Tether. Musimy bowiem posiadać w miarę aktualny firmware, który ma dodaną stosowną poprawkę. Ja dysponuję routerem Archer C9 v2 i najnowszy firmware do tego jak i innych routerów zawsze można pobrać z oficjalnej strony TP-LINK. Instalacja Tether na smartfonie z Androidem Mając najnowszy firmware na routerze, który chcielibyśmy podpiąć pod aplikację TP-LINK Tether, pora przejść do instalacji samego oprogramowania na smartfonie. Ja akurat mam na wyposażeniu smartfon Neffos C5 z Androidem 5.1 (Lollipop) i na nim ta aplikacja powinna działać bez zarzutu. Tether można pobrać z Google Play. Co ciekawe, w stosunku do innych aplikacji TP-LINK, np. tpMiFi, tpCamera czy KASA, Tether cieszy się dość sporą popularnością. Aplikacja jest darmowa i nie zawiera reklam. Sprawdźmy zatem co ta aplikacja jest nam w stanie zaoferować. Konfiguracja routera przez aplikację Tether Po podłączeniu smartfona do domowej sieci WiFi, aplikacja Tether powinna rozpoznać nasz bezprzewodowy router, o ile mamy na nim wgrany odpowiedni firmware. Poniżej przykład wykrycia mojego routera Archer C9: Jeśli nasz router został rozpoznany, oznacza to, że wszystko jest w należytym porządku i możemy spróbować się na to urządzenie zalogować klikając na odpowiednią pozycję na liście. Jako, że w tym przypadku jest tylko jedna pozycja, to nie mamy za dużego wyboru. Dane logowania to admin/admin , czyli standardowy użytkownik i hasło, które są wykorzystywane w panelach administracyjnych TP-LINK'a: Po zalogowaniu się na router przywita nas takie oto okienko: Mamy tutaj informacje na temat liczby aktualnie podłączonych urządzeń do routera oraz o stanie połączenia z internetem. Klikając zaś w nazwę urządzenia, zostaną nam pokazane bardziej szczegółowe dane dotyczące modelu, typu połączenia, wersji firmware oraz wersji sprzętowej samego routera. Nazwę wyświetlaną zawsze można sobie dostosować klikając na nią: Niżej w głównym oknie aplikacji Tether mamy listę podłączonych urządzeń w formie ikonek przypisanych w oparciu o wykrytego/ustawionego klienta. Jak widzimy, aktualnie są podłączone dwa klienty, jeden przedstawia się jako Android, drugi jako laptop. Klikając na każdej z tych pozycji, możemy uzyskać nieco więcej informacji na temat połączenia danego klienta, min. adres IP oraz MAC: Jak widać wyżej, jesteśmy też w stanie zablokować tego konkretnego klienta przyciskając przycisk "Blokuj". Na samym dole okna głównego aplikacji Tether mamy jeszcze pozycję z opcjami (to ten żółty przycisk). Tutaj możemy skonfigurować szereg aspektów pracy routera: Możemy włączyć lub wyłączyć bezprzewodową sieć oraz ustawić jej zarówno nazwę jak i hasło logowania. Jest też opcja konfiguracji zabezpieczeń sieci WiFi, z tym, że możemy albo wyłączyć te zabezpieczenia kompletnie, albo włączyć WPA-PSK/WPA2-PSK: Dalej jesteśmy w stanie skonfigurować połączenie z internetem oraz jest też widoczna dokładna informacja na temat uzyskanej adresacji. Mamy także możliwość konfiguracji sieci dla gości: W przypadku, gdy blokowaliśmy jakichś klientów, to ci są dodawani na specjalną listę i do momentu usunięcia określonych pozycji dana maszyna nie będzie w stanie się podłączyć bezprzewodowo do naszego routera. Wszystkie pozycje z listy możemy usunąć klikając na nich: W aplikacji Tether mamy też opcję dotyczącą kontroli rodzicielskiej. Po jej aktywacji będziemy w stanie dodać do listy urządzenia, które mają podlegać kontroli (maksymalnie 32). Po dodaniu stosownych klientów pojawi nam się harmonogram, w którym możemy określić czas obowiązywania restrykcji. Ostatnimi funkcjami jakie oferuje nam aplikacja Tether są restart urządzenia, resetowanie jego ustawień do fabrycznych oraz zmiana hasła do panelu admina/aplikacji: Mobilna wersja panelu administracyjnego Jeśli miałbym być szczery, to ta aplikacja Tether niezbyt mi przypadła do gustu. Jest ona póki co dość uboga w opcje, no i nie umknął mi też fakt niezbyt precyzyjnego dopasowania interfejsu aplikacji na moim smartfonie, co widać na kilku fotkach wyżej. Gdybym miał wybierać między aplikacją Tether i mobilną wersją standardowego panelu administracyjnego, to jednak wolę zarządzać routerem z poziomu Firefox'a:
  6. Koledzy, mam kolejną prośbę o pomoc w doborze routera do VDSL od ORANGE. Będę przechodził na dniach na VDSL. Sytuacja jest o tyle specyficzna, że router teoretycznie nie musi mieć wifi. Fajnie byłoby gdyby był bardzo zaawansowany ale bez wifi. Dlaczego? Ponieważ mam tak infrastrukturę w domu zorganizowaną : Posiadam szafę metalową, do której wchodzą i wychodzą wszystkie kable sieciowe po domu (16 szt.). Do tej szafy wchodzi kabel od ORANGE i w tej szafie będzie się znajdował router. Na piętrze i parterze mam 2x router TP-LINK ustawiony jako AP do rozsyłania WiFi. Jestem wymagającym użytkownikiem i jeśli któreś urządzenia miałyby dawać lepsze synchro itp to jestem w stanie wydać odpowiednią sumę. Obecna infrastruktura: NEOSTRADA 20 Mb/s NETGEAR DGN2200-100PES (ADSL2+ ROUTER) TP-LINK TL-SG1016D (SWITCH-GIGABIT) TP-LINK TD-W8901G (WiFi AP) TP-LINK TL-WR740N (WiFi AP)
  7. Przeglądając forum eko.one.pl natrafiłem ciekawy problem, nad którym też się zastanawiałem jakiś czas temu. Chodzi o udostępnienie internetu komórkowego (LTE/3G) komputerom w domowej sieci za pomocą smartfona (tzw. tethering). W takiej sytuacji, w przypadku problemów z lokalnym dostawcą internetu moglibyśmy przepiąć wszystkie komputery na internet świadczony przez operatora GSM, z którego korzystamy. Z reguły standardowy firmware routerów WiFi nie pozwala na tego typu rozwiązania. Niemniej jednak, mając do dyspozycji router z OpenWRT można spróbować połączyć go z naszym smartfonem udostępniając sieci lokalnej internet LTE/3G. W tym artykule zostanie przedstawione tego typu rozwiązanie przy wykorzystaniu routera Archer C7 v2 od TP-LINK oraz smartfona Neffos C5, również od TP-LINK. Na routerze zaś jest wgrana najnowsza stabilna wersja OpenWRT (Chaos Calmer). Sprawdzimy sobie jak takie rozwiązanie wygląda oraz sprawuje się w praktyce i czy jest ono w ogóle godne jakiegoś większego zainteresowania. Problemy z tethering'iem Domowe sieci komputerowe cechuje różnorodność implementacji i wykorzystywanych rozwiązań. Nie wszystkie z tych sieci wykorzystują router WiFi. Być może też taki router jest na wyposażeniu ale z jakiegoś powodu nie działa jego funkcjonalność odpowiedzialna za połączenie bezprzewodowe. Nawet jeśli mamy w pełni sprawny router WiFi, to i tak w dalszym ciągu szereg komputerów w naszym domu może się łączyć przewodowo, a to ze względu na zbyt słaby sygnał odbierany z routera, lub też taka stacja zwyczajnie nie ma bezprzewodowej karty sieciowej. Komputery, które mamy w domu, możemy zatem podzielić z grubsza na dwie grupy: te posiadające możliwość łączenia się bezprzewodowego oraz te, które takiej możliwości nie posiadają. W przypadku tej pierwszej klasy urządzeń, implementacja tethering'u jest w miarę prostym zdaniem, bo smartfony są w stanie stworzyć punkt dostępowy sieci WiFi, do którego można bezprzewodowo podpiąć komputery. Problem jednak pojawia się w przypadku tej drugiej grupy, gdzie urządzeń zwykle nie ma jak podłączyć do smartfona. Tu właśnie może znaleźć zastosowanie router WiFi, który byłby w stanie skomunikować się ze smartfonem za pomocą sieci WiFi czy też przez port USB i udostępnić jego połączenie LTE/3G wszystkim hostom w sieci lokalnej. Tethering wymaga specyficznego sprzętu. Przede wszystkim, potrzebny nam jest smartfon, który ma możliwość łączenia się po WiFi. Obecnie większość modeli na rynku oferuje tego typu funkcjonalność. Taki smartfon musi mieć także modem LTE/3G, by można było mówić o jakimś rozsądnym połączeniu ze światem, no i też by uniknąć zbyt wysokich rachunków za wykorzystane pakiety danych. Jeśli chodzi zaś o routery WiFi, to część z nich wspiera tryb WISP (Wireless ISP). Nie są to jednak wszystkie modele. Porty USB przy zastosowaniu stock'owego firmware są dla nas bezużyteczne. Dlatego też przydałoby się by router miał zainstalowane alternatywne oprogramowanie na bazie OpenWRT. Mając spełnione te warunki, mamy punkt zaczepienia i możemy zacząć konfigurować połączenie na bazie tethering'u. Będąc zaopatrzonym w smartfon, który wspiera tethering, trzeba mieć na uwadze kilka istotnych rzeczy. Większość modeli tych urządzeń dostępnych na rynku oferuje tylko jeden strumień transferu danych i to zwykle w paśmie 2,4 GHz. Podłączenie wielu komputerów po WiFi do takiego smartfona jest co prawda możliwe ale jakość połączenia może nie być najlepsza zwłaszcza, gdy w sąsiedztwie mamy bardzo zaszumiony eter. Oczywiście w dalszym ciągu taki tethering jest lepszym wyjściem niż kompletny brak internetu, z tym, że nie spodziewajmy się cudów po tym rozwiązaniu. Kolejna sprawa, to spora utylizacja baterii smartfona przy włączonym WiFi i LTE, zwłaszcza w przypadku aktywnego transferu danych. Dlatego też tego typu rozwiązanie znajduje zastosowanie raczej jedynie jako backup, a nie jako główne połączenie z internetem mające za zadanie zastąpić łącze stacjonarne. Jak włączyć tethering na smartfonie Neffos C5 Jako, że ja dysponuję smartfonem Neffos C5, który ma na pokładzie system Android 5.1 (Lollipop), to w oparciu o to urządzenie opiszę jak włączyć i skonfigurować tethering. Potrzebne nam opcje są w menu pod Ustawienia => Więcej => Tethering i punkt dostępu. Wyżej na fotce widzimy kilka opcji, z których nas interesują głownie dwie: Hotspot WLAN i Tethering przez USB. W zależności od możliwości naszej sieci domowej będziemy korzystać z jednego lub drugiego rozwiązania. Poniżej zostanie opisana konfiguracja obu tych połączeń. Tethering po WiFi Jako, że tethering najprościej jest skonfigurować za pomocą sieci WiFi, to od tego rozwiązania zaczniemy. W tym przypadku niekoniecznie potrzebujemy router WiFi z OpenWRT. Na dobrą sprawę, to bezprzewodowy router w ogóle nie jest nam potrzebny, no chyba, że część komputerów w naszej sieci domowej nie jest w stanie połączyć się bezprzewodowo. Zacznijmy zatem od skonfigurowania tethering'u w smartfonie. By to zrobić, włączamy bezprzewodowy punkt dostępowy WiFi: W celu oszczędzania baterii możemy ustawić automatyczne wyłączanie WiFi po 5 lub 10 minutach bezczynności. Nas jednak bardziej interesuje konfiguracja zabezpieczeń. Opcji nie ma zbyt wiele i jedyne co musimy ustawić to hasło do sieci WiFi (WPA2-PSK). Jeśli nie odpowiada nam domyślny ESSID, to również możemy go zmienić. Jak widać wyżej, mamy też możliwość określenia liczby urządzeń, które będą w stanie nawiązać połączenie ze smartfonem w tym samym czasie (maksymalnie 8). Mając skonfigurowany hotspot WiFi możemy go uruchomić: Poniżej znajdują się sytuacje, w których człowiek może się znaleźć przy udostępnianiu połączenia internetowego komputerom za pomocą smartfona. Podłączanie komputera Pierwszy scenariusz zastosowania tethering'u zakłada wykorzystanie pojedynczego komputera, który jest w stanie łączyć się bezprzewodowo (posiada kartę WiFi). Może to być laptop, desktop albo też inny smartfon. Podłączenie takiej maszyny jest realizowane w taki sam sposób, co w przypadku standardowej sieci WiFi. Wystarczy wpisać dane logowania do AP udostępnianego przez smartfon (ESSID i hasło) i możemy już korzystać z połączenia internetowego oferowanego przez operatora GSM na komputerze. Nie musimy nic dodatkowo konfigurować, bo proces jest automatyczny. Podłączanie routera WiFi z oficjalnym firmware TP-LINK W przypadku, gdy nasz router TP-LINK wspiera tryb WISP na stock'owym firmware, to w zasadzie, konfiguracja połączenia jest mniej więcej taka sama jak w przypadku każdego innego WISP. Jedynym z moich routerów, które są w stanie skonfigurować połączenie WISP na oficjalnym firmware jest TL-MR3020 v1. Nie jest to może pełnowymiarowy router ale posiada jeden port RJ-45, przez co jesteśmy w stanie podłączyć do tego routera przewodowo co najmniej jeden komputer. Co najmniej, bo zawsze można podpiąć zwykły switch i rozdzielić sygnał na kilka maszyn. Konfiguracja klienta WiFi sprowadza się do uzupełnienia poniższego formularza w panelu administracyjnym: Zatem nie jest to jakiś skomplikowany proces. Ważne jest tylko, by router wspierał tryb WISP, bo bez niego nie damy rady podłączyć routera do smartfona, no chyba, że mamy na nim wgrany alternatywny firmware OpenWRT. Podłączanie routera WiFi z firmware OpenWRT Praktycznie każdemu routerowi WiFi mającemu firmware OpenWRT można przełączyć czip bezprzewodowy w tryb klienta przy jednoczesnym zachowaniu funkcjonalności płynącej z trybu AP. W takim przypadku karta działa w dwóch trybach jednocześnie. W ten sposób tryb AP nasłuchuje zapytań od klientów sieci WiFi, a tryb STA łączy router do smartfona, mniej więcej w taki sam sposób jak każdy inny komputer. Informacje na temat konfiguracji trybu STA na OpenWRT są tutaj. Musimy tylko podać odpowiednie dane logowania do AP na smartfonie, tj. ESSID i hasło. Przy trybie WISP routerów trzeba liczyć się ze spadkiem wydajności o połowę przy przesyle danych przez sieć bezprzewodową. Oczywiście obecnie routery WiFi potrafią dysponować dość znacznymi prędkościami wielokrotnie przewyższającymi pełne możliwości smartfonów. Niemniej jednak, w przypadku tych mniejszych routerów trzeba brać poprawkę na tę kwestię. Chodzi o to, że router będzie musiał odbierać dane od smartfona po WiFi i transferować taką samą porcję danych do swoich klientów również po WiFi. Dlatego właśnie sumaryczny transfer danych na routerze po WiFi dwukrotnie przekroczy transfer po LTE na smartfonie. Ten problem nie występuje, gdy korzystamy z tethering'u po USB. Tethering po USB w OpenWRT Innym podejściem do udostępniania połączenia LTE/3G za pomocą smartfona w sieci domowej jest podłączenie telefonu do portu USB routera WiFi. W przypadku oficjalnego firmware routera, takie rozwiązanie raczej odpada i pozostaje nam jedynie sprzęt wspierany przez OpenWRT. Mając taki router, trzeba na nim zainstalować odpowiednie pakiety. W sumie powinien wystarczy kmod-usb-net-rndis oraz jego zależności: # opkg update # opkg install kmod-usb-net-rndis Teraz już wystarczy tylko podłączyć smartfon do portu USB routera i aktywować w nim tethering. W logu systemowym powinien się nam pojawić poniższy komunikat: kern.info kernel: [ 614.470000] usb 2-1: new high-speed USB device number 2 using ehci-platform kern.info kernel: [ 621.220000] usb 2-1: USB disconnect, device number 2 kern.info kernel: [ 621.630000] usb 2-1: new high-speed USB device number 3 using ehci-platform kern.info kernel: [ 621.780000] rndis_host 2-1:1.0 usb0: register 'rndis_host' at usb-ehci-platform.1-1, RNDIS device, 0a:4b:e9:55:cb:19 W systemie routera mamy dostępny nowy interfejs sieciowy usb0 . Musimy go skonfigurować w pliku /etc/config/network . Można tylko przepisać istniejące bloki od konfiguracji WAN, poniżej przykład: config interface 'wan' # option ifname 'eth0' option ifname 'usb0' option proto 'dhcp' config interface 'wan6' # option ifname 'eth0' option ifname 'usb0' option proto 'dhcpv6' Zapisujemy plik i restartujemy router. Połączenie na linii komputer <=> router WiFi <=> smartfon <=> LTE/3G powinno zostać zestawione. Można puścić ping dla pewności ale nie powinno być problemów. Tam na wiki OpenWRT można przeczytać, że mogą się pojawić problemy przy podłączaniu smartfona do portu USB czy wyłączaniu w opcjach Androida tethering'u. Rzekomo OpenWRT ma mieć problem z ponownym nawiązaniem połączenia po aktywacji tethering'u. Mój Neffos C5 i router Archer C7 v2 nie wykazują takich dziwnych zachowań. Poniżej jest log z rozłączenia tethering'u: Podobnie sprawa wygląda po wyciągnięciu wtyczki z portu USB routera.
  8. Przy okazji zabawy z konsolą szeregową przy ratowaniu jednego z moich routerów TP-LINK (TL-WR14043ND V2), parokrotnie przewinęła mi się informacja na temat trybu recovery, który ma być dostępny w części routerów. W czym nam taki tryb może pomóc i czy nasz router go obsługuje? Jeśli tak, to jak za jego pomocą naprawić urządzenie, które nie chce wystartować, np. po przerwanym procesie wgrywania firmware TP-LINK czy też OpenWRT/LEDE? W trym artykule postaramy się odpowiedzieć na te pytania. Czym jest tryb recovery w routerach WiFi Tryb recovery ma nam nieco ułatwić odzyskiwanie uszkodzonego routera bez potrzeby zaciągania do tego celu konsoli szeregowej. Może i nasz router posiada wyprowadzenia portu szeregowego na swoim PCB ale by się do niego podłączyć musimy zwykle przebrnąć przez proces lutowania pinów. Poza tym, musimy także postarać się o zakup odpowiedniego adaptera USB-UART. W przypadku trybu recovery nie musimy się bawić w lutowanie czy zakup dodatkowych narzędzi, które pomogą nam odzyskać router. Cały proces odbywa się przez sieć, mniej więcej na takiej samej zasadzie co przy wgrywaniu nowej wersji firmware. Oczywiście są drobne różnice ale grunt, że praktycznie ten proces można przeprowadzić z wykorzystaniem przewodu ethernet (RJ-45), a to już ułatwia nam znacznie robotę. Trzeba jednak sobie zdawać sprawę, że ten recovery nie jest lekiem na każde zło. Jest to tryb bootloader'a, a by móc z niego skorzystać, bootloader musi być sprawny. Jeśli z jakiegoś powodu uszkodziliśmy bootloader, tryb recovery nam nie zadziała. Z kolei zaś, by ocenić czy bootloader funkcjonuje poprawnie, możemy przyjrzeć się diodom na obudowie routera. Jeśli te migają, to jest szansa, że bootloader jest sprawny i możemy spróbować naprawić router wgrywając firmware przez tryb recovery. Jak sprawdzić czy router posiada tryb recovery Trzeba także sobie zdawać sprawę, że nie wszystkie routery ten tryb recovery posiadają. To czy nasz router WiFi ma taki tryb zależy od producenta sprzętu, który wypuścił (bądź też i nie) aktualizację oficjalnego firmware zawierającego stosowną poprawkę dla bootloader'a. Dlatego też po ewentualnym zakupie routera, dobrze jest wgrać najnowszy firmware ze strony TP-LINK. Jeśli zawiera on nowszą wersję bootloader'a, to prawdopodobnie będziemy mieć dostęp do trybu recovery. Jeśli nie mamy pewności czy nasz router posiada tryb recovery, to nic nie stoi na przeszkodzie, by zbadać tę kwestię. Wyłączamy zatem urządzenie, po czym wciskamy i przytrzymujemy przycisk Reset. Następnie włączamy router przyciskiem Power. Jeśli zaświeci nam się dioda WPS, to bootloader posiada tryb recovery. Ja korzystając z dobrodziejstw wyprowadzonego potu dla konsoli szeregowej mogę podejrzeć co się dzieje na routerze po uruchomieniu go z wciśniętym przyciskiem reset. Poniżej znajduje się log bootloader'a z mojego TL-WR1043ND V2: W stosunku do normalnego procesu boot zmienił się is_auto_upload_firmware z 0 na 1 , co sugeruje automatyczny upload obrazu firmware przy starcie routera z wciśniętym przyciskiem Reset. Mamy też informację na temat adresu IP serwera TFTP, z którego ten obraz firmware ma zostać pobrany. W tym przypadku jest to 192.168.0.66 . Jest też nazwa pliku, króßego bootloader będzie szukał na serwerze TFTP, tj. wr1043v2_tp_recovery.bin . Tak będziemy musieli nazwać plik, którym zamierzamy wgrać na router z poziomu bootloader'a. Na tę nazwę składa się model routera ( wr1043 ), jego wersja sprzętowa ( v2 ) oraz fraza _tp_recovery.bin . Jak odzyskać router przez tryb recovery Wiemy zatem, że nasz przykładowy router TL-WR1043ND V2 posiada bootloader, który jest w stanie przełączyć się w tryb recovery. Na potrzeby tego doświadczenia popsułem po raz kolejny swój router, by sprawdzić jak wygląda odzyskiwanie tego urządzenia przez tryb recovery. Oczywiście bootloader jest w dalszym ciągu sprawny. Diody migają, choć router się zapętla i nie chce wystartować. Statyczna adresacja komputera Jako, że w procesie ratowania routera nie będzie nam działał serwer DHCP, to musimy ustawić statyczną adresację na komputerze, który zamierzamy podpiąć przewodem ethernet do routera. Na linux'ie możemy to zrobić w poniższy sposób: # ifdown eth0 # ip link set dev eth0 up # ip addr add 192.168.0.66/24 brd + dev eth0 Serwer TFTP By naprawić router, potrzebny nam będzie serwer TFTP. To taki bardzo prosty serwer FTP pozbawiony całej masy rzeczy. W różnych systemach operacyjnych jest dostępne inne oprogramowanie, które możemy wykorzystać do postawienia takiego serwera. Ja na linux'ie będę korzystał z atftpd . Ten pakiet jest dostępny standardowo w dystrybucji Debian, zatem nie powinno być problemów z jego instalacją. Natomiast konfiguracja serwera TFTP sprowadza się do edycji pliku /etc/default/atftpd , który musimy przepisać do poniższej postaci: USE_INETD=false OPTIONS="--tftpd-timeout 300 --retry-timeout 5 --maxthread 100 --verbose=5 --bind-address=192.168.0.66 /srv/tftp-openwrt" Teraz odpalamy serwer TFTP i sprawdzamy czy demon nasłuchuje: # /etc/init.d/atftpd start # netstat -tupan | grep tft udp 0 0 192.168.0.66:69 0.0.0.0:* 56791/atftpd Wgrywanie firmware na router Wyłączamy router. Pobieramy obraz firmware, czy to ze strony TP-LINK czy OpenWRT/LEDE. Plik nazywamy zgodnie z instrukcją, którą wypisał nam bootloader, tj. wr1043v2_tp_recovery.bin i wrzucamy go do katalogu /srv/tftp-openwrt/ : # cp /home/morfik/Desktop/TL-WR1043ND/openwrt-15.05-ar71xx-generic-tl-wr1043nd-v2-squashfs-factory.bin /srv/tftp-openwrt/wr1043v2_tp_recovery.bin W przypadku obrazów firmware pobranych ze strony TP-LINK trzeba trochę uważać. Jako, że zawierają one część bootloader'a, to trzeba ten kawałek obrazu pierw usunąć. Jeśli nie chcemy się w to bawić, to zawsze możemy pobrać już gotowe obrazy recovery, np. stąd. Te obrazy są takie same jak te bez boot dostępne choćby tutaj. Jedyna różnica między nimi to zmieniona nazwa na taką, której bootloader żąda. Trochę dziwne, że TP-LINK nie ma na swojej stronie tego tupu obrazów. Mając już odpowiedni plik recovery, wciskamy i trzymamy przycisk reset na obudowie routera, po czym włączamy zasilanie przyciskiem Power. Proces flash'owania potrwa chwilę. Jest on w pełni automatyczny i nie musimy wykonywać praktycznie żadnych czynności. Wystarczy trochę poczekać. Router powinien się samoczynnie uruchomić ponownie, tym razem już z działającym systemem. Cały ten powyższy proces podejrzałem sobie na konsoli szeregowej: Jak widać, tryb recovery automatyzuje cały proces naprawy routera przez konsolę szeregową. Niżej zaś w logu mamy jeszcze: Czyli proces flash'owania przebiegł bez problemów i router startuje. Zatem jeśli bootloader w naszym routerze posiada taki tryb recovery, to możemy zapomnieć o bawieniu się konsolą szeregową, przynajmniej jeśli chodzi o odzysk routerów po nieudanym wgraniu firmware.
  9. Wielu zaawansowanych użytkowników komputera, zwłaszcza tych korzystających z linux'a, bardzo ceni sobie możliwość bezgranicznego zarządzania posiadanym sprzętem elektronicznym. Nie chodzi tylko o zwykłego desktopa czy laptopa ale też o urządzenia z systemami wbudowanymi jak, np. routery WiFi. Większość routerów nie obsługuje modemów LTE ale mogłaby, gdyby pozwalało im na to zainstalowane na nich oprogramowanie. Na moim blogu jest kilka artykułów dotyczących instalacji i konfiguracji modemów LTE właśnie na takich routerach, z tym, że w oparciu o firmware OpenWRT/LEDE. Niemniej jednak, w przypadku takiego alternatywnego firmware wymagana jest drobna znajomość obsługi komputera, a cała masa użytkowników nie chce poświęcać czasu na zgłębianie technik informatycznych. Te osoby chcą zwyczajnie podłączyć dane urządzenie do prądu i móc z niego korzystać tuż po wyjęciu go z pudełka. Mam właśnie jedno takie urządzenie, które byłoby w stanie zaspokoić większość osób z tego grona. Nie jest to co prawda pełnowymiarowy router WiFi z modemem LTE na pokładzie ale w przeciwieństwie do swoich kolegów jest o wiele bardziej mobilny. Mowa o przenośnym hotspocie LTE M7310 od TP-LINK. Zawartość opakowania Poniżej są fotki opakowania i jego zawartości. Sorry za pomięte pudło ale najwyraźniej ktoś tym routerem rzucał podczas transportu. Niemniej jednak, sam M7310 dotarł sprawny i przeżył podróż w tych nieludzkich warunkach zafundowanych za free przez pocztę polską. Jak widać, M7310 jest raczej niewielkich rozmiarów: 98 x 60 x 16 mm (dł/sz/wy). Ma on wbudowany wyświetlacz TFT 1,44 cala. Ten wyświetlacz jest bardzo niskiej jakości i widać na nim pojedyncze piksele, co trochę wali po oczach. Efekt mniej więcej taki jak w przypadku pierwszych telefonów komórkowych z kolorowym wyświetlaczem. Da radę patrzeć ale nie zbyt długo. Obok wyświetlacza są także ulokowane dwa przyciski, przy pomocy których można sterować urządzeniem: Na boku obudowy mamy także ulokowany port mikro USB typ B: Przy jego pomocy jesteśmy w stanie podłączyć router do portu USB komputera w celu ładowania i ewentualnej interakcji z kartą SD. Jeśli chodzi zaś o samą kwestię ładowania, to możemy tutaj również podpiąć zwykłą ładowarkę 5V/1A czy też 5V/2A i przy jej pomocy zasilić i naładować urządzenie. Ładowarki nie ma w zestawie, jedynie jest tylko widoczny wyżej krótki przewód USB. Co ciekawe, po podłączeniu do komputera, w systemie pojawia się nowy interfejs sieciowy, który można skonfigurować w taki sam sposób jak interfejs zwyczajnej karty sieciowej. Może i jesteśmy w stanie zasilić M7310 bezpośrednio z sieci elektrycznej ale bez baterii ten router się nam nie uruchomi. Na szczęście do zestawu jest dołączony akumulator litowo-jonowy (model TBL-55A2000) o pojemności 2000 mAh. Czytając to info na etykiecie baterii, nie wiem dokładnie co ona robi po wrzuceniu w ogień ale lepiej tego nie sprawdzać. Spód routera jest standardowy, tj. śliski i bez jakichkolwiek nóżek, choć przydałyby mu się one, bo w końcu to urządzenie ma należeć do tych wysoce mobilnych. Jeden z rogów M7310 umożliwia łatwe otwarcie obudowy urządzenia: W środku obudowy znajdziemy zaś jeden slot na kartę Mini SIM oraz drugi slot dla kart mikro SD (max. 32 GiB). Oba sloty mają metalowe zabezpieczenia przed ewentualnym wysunięciem lub przemieszczeniem się kart: W przypadku, gdy dysponujemy jedynie kartą SIM w rozmiarze mikro, to trzeba będzie skorzystać z adaptera mini => mikro, który jest dołączony do zestawu. Niestety te zwykłe karty SIM są za duże i nie zmieszczą się nam w ogóle do slotu. Poniżej fotka adaptera mini => mikro SIM: Oba te sloty są przysłaniane baterią i nie ma możliwości wyciągnięcia karty SD bez wyciągania akumulatora, co skutkuje wyłączeniem urządzenia: Specyfikacja routera M7310 Zgodnie ze specyfikacją podaną na opakowaniu (i stronie TP-LINK), router M7310 potrafi obsługiwać LTE w technologi FDD: B1/B3/B7/B8/B20(2100/1800/2600/900/800MHz) oraz TDD: B38/B40/B41 (2600/2300/2500MHz). Deklarowana prędkość to 150/50 mbit/s down/up. Ten router jest także w stanie obsługiwać standardy DC-HSPA+/HSPA/UMTS: B1/B8(2100/900MHz) oraz EDGE/GPRS/GSM: 850/900/1800/1900MHz. Niemniej jednak, nas będzie interesować jedynie LTE. Warto zaznaczyć, że nie mamy możliwości wyboru konkretnej częstotliwości pracy modemu LTE. Jest ona dobierana automatycznie w zależności od panujących warunków, tj. dostępności BTS'ów w okolicy. Jeśli chodzi zaś o WiFi, to M7310 obsługuje zarówno pasmo 2,4 GHz jak i 5 GHz ale tylko jedno z tych dwóch pasm może być wykorzystywane w danym momencie. Deklarowana prędkość transmisji to 300 mbit/s, zatem mamy do czynienia ze standardem N w obu przypadkach. Sterowanie routerem M7310 za pomocą przycisków na obudowie Wsadźmy zatem katę SIM do slotu i podłączmy baterię. Router włączamy przyciskiem power trzymanym przez około 5 sekund. Po chwili router powinien zalogować się do sieci 3G/4G oraz zestawić sieć WiFi, do której będziemy mogli podłączyć do 10 stacji klienckich. Aktualna ilość podłączonych urządzeń jest cały czas wyświetlana na tym małym ekraniku na ikonce WiFi: Jako, że router M7310 jest w stanie nadawać w paśmie 2,4 GHz jak i 5 GHz, to możemy to pasmo sobie dostosować bez większego problemu: Dane logowania do sieci WiFi (ESSID i hasło) w przypadku tego mobilnego hotspotu można uzyskać na dwa sposoby. Jednym z nich jest zdjęcie tylnej klapki i zajrzenie na jej wewnętrzną stronę: Drugim i do tego bardziej wygodnym i przystępnym sposobem jest odczytanie tych danych z wyświetlacza (można je ukryć za pomocą panelu admina): M7310 ma także wbudowaną programową funkcję WPS, dzięki której nie będziemy musieli ręcznie wpisywać tych danych przy podłączaniu urządzeń do sieci WiFi: Ciekawą funkcją jest także tryb oszczędzania energii. W jego skład wchodzi dostosowanie mocy transmisyjnej (mała, średnia, duża) oraz automatyczne wyłączenie WiFi po pewnym czasie od wylogowania się ostatniego klienta bezprzewodowego. Przy pomocy przycisków mamy możliwość jedynie włączyć lub wyłączyć ten tryb. Jego konfigurację trzeba przeprowadzić przez panel administracyjny: Jako, że ten router ma wbudowany modem LTE, to możemy także wybrać jego tryb pracy. Mamy do wyboru wymuszony LTE, wymuszony 3G oraz preferowany LTE nad 3G: Możliwe jest także włączenie lub wyłączenie roamingu: I ostatnia rzecz, którą możemy zrobić za pomocą przycisków routera, to wyświetlenie kodu QR w celu zeskanowania go i pobrania aplikacji tpMiFi na smartfona, która umożliwi nam zdalne zarządzanie urządzeniem: Warto w tym miejscu zaznaczyć, że routerem można także sterować za pomocą każdego dowolnego komputera, który jest w stanie się podłączyć do routera M7310. To urządzenie ma standardowy panel administracyjny dostępny po HTTP. Znajduje się on pod adresem http://192.168.0.1/ . Sterowanie M7310 przez webowy panel administracyjny Podłączamy komputer do sieci WiFi. Następnie odpalamy przeglądarkę i przechodzimy na adres http://192.168.0.1/ . Naszym oczom powinna się pokazać poniższa strona: Podajemy hasło logowania admin i powinniśmy zostać zalogowani do panelu administracyjnego, gdzie możemy przeprowadzać nieco więcej działań niż w przypadku kontroli M7310 przy pomocy przycisków na jego obudowie: Poza statusem połączenia LTE/3G oraz WiFi i statystykami pobranych/wysłanych danych, mamy także możliwość odczytu i tworzenia SMS, co jest bardzo użyteczną rzeczą: Oczywiście nie musimy logować się co chwilę do panelu admina, by sprawdzić czy ktoś nam nie przysłał czasem jakiegoś SMS'a. Na tym malutkim ekranie co jest na routerze, możemy odczytać status SMS. Może nie mamy możliwość podejrzeć samej treści komunikatu ale informację o tym, że jakaś wiadomość zalega na skrzynce jest jak najbardziej widoczna: Niemniej jednak nie mamy żadnego powiadomienia o zdarzeniu, przez co musimy zerkać co chwila na ekran. Choć i tak jest to lepsza sytuacja niż logowanie się do panelu administracyjnego i tam sprawdzać czy ktoś nam wysłał SMS. Może kiedyś w przyszłości doczekamy się jakiegoś dźwięku czy wibracji po odebraniu SMS w tego typu urządzeniach. Dalej w panelu mamy możliwość dostosowania całej gamy ustawień, wliczając w to wszystkie funkcje, które byliśmy w stanie zmienić przez przyciski na routerze. Z tych ważniejszych rzeczy warto wymienić dostosowanie mocy transmisyjnej nadajnika. Do wyboru są trzy wartości: mała, średnia i duża. Im wyższą wartość ustawimy tutaj, tym z dalszej odległości będziemy w stanie się połączyć do routera ale też tym szybciej będzie nam siadać bateria. Możemy także dostosować sobie czas automatycznego wyłączenia WiFi. Inną ciekawą funkcją jest udostępnianie zasobów karty SD w sieci WiFi. Standardowo te zasoby są dostępne jedynie po podłączeniu urządzenia do portu USB komputera. Jeśli aktywujemy sobie taką funkcję, to dostęp do plików będziemy mogli uzyskać za pomocą protokołu FTP ( ftp://192.168.0.1/ ) oraz SMB ( smb://192.168.0.1/ ). Pozostałe opcje są raczej standardowe dla wszystkich routerów WiFi i nie ma raczej co się nad nimi rozwodzić. Konfiguracja połączenia LTE/3G przez panel admina Najważniejszą jednak rzeczą jest konfiguracja połączenia LTE/3G. W panelu administracyjnym mamy oczywiście zakładkę Quick Setup , dzięki której takie połączenie jesteśmy w stanie zestawić w mniej niż minutę. Wystarczy podać dane APN operatora GSM, z którego usług korzystamy: I to w zasadzie cała robota. Pamiętajmy też o tym, by ewentualnie dostosować sobie także tryb pracy modemu LTE tak, by np. wymusić LTE bez możliwości przełączenia w tryb 3G. Jeśli nasza karta SIM jest chroniona kodem PIN, to by uzyskać połączenie musimy ten kod PIN uwzględnić w panelu administracyjnym: Jeśli obawiamy się, że możemy przekroczyć limit danych oraz, że może nas to słono kosztować, to zawsze możemy ustawić sobie limit transferu danych oraz ostrzeżenie w przypadku zbliżania się do tego limitu. Po jego osiągnięciu zaś, M7310 odetnie nam automatycznie internet: Jak widzimy, TP-LINK pomyślał też o darmowych godzinach, w których operatorzy GSM zwykle nie naliczają transferu danych. Możemy je sobie dowolnie dostosować. I to w zasadzie cała konfiguracja połączenia LTE na routerze M7310. Sterowanie M7310 przy pomocy aplikacji tpMiFi Jeśli dysponujemy smartfonem, to możemy pobrać aplikację tpMiFi dla Androida i przy jej pomocy skonfigurować sobie pracę routera M7310. Mając zainstalowaną aplikację możemy sterować hotspotem podobnie jak to można robić z poziomu panelu www. Niemniej jednak, ta aplikacja nie może się równać funkcjonalnością z panelem administracyjnym. Choć wszystkie te bardziej użyteczne funkcje jak, np. dostosowanie APN operatorów GSM zostały zaimplementowane. Myślałem jednak, że może chociaż przy pomocy tej aplikacji da radę jakoś powiadomić użytkownika telefonu, że router odebrał SMS ale nic z tego, szkoda. Obsługa Aero2 przez M7310 M7310 jest w stanie obsługiwać darmowy internet od Aero2. Trzeba tylko przełączyć urządzenie w tryb Prefer LTE i włączyć roaming. Dodatkowo musimy ustawić parametry połączenia z siecią. Nie damy rady tego zrobić przez przyciski na routerze. Ta opcja jest dostępna tylko w panelu administracyjnym (ewentualnie przez aplikację tpMiFi), do którego możemy wbić z każdego komputera po podłączeniu się, np. przez WiFi. Jeśli byśmy spróbowali się podłączyć z marszu do sieci Aero2, to przywita nas taki komunikat na wyświetlaczu M7310: By zmienić ten stan rzeczy, logujemy się do panelu administracyjnego i przechodzimy na zakładkę Wizard. Wybieramy strefę czasową i przechodzimy na Dial-up Settings . Tutaj z kolei dodajemy nowy APN i uzupełniamy dane w taki sposób, by APN przyjął wartość darmowy , a login i hasło aero/aero : Po zapisaniu powinniśmy zostać automatycznie podłączeni do sieci Aero2, co możemy odczytać z wyświetlacza routera: Transfer jak widać wyżej jest w granicach 62 KiB/s, co daje około 500 kbit/s, czyli mniej więcej tyle ile oferuje usługa darmowy internet od tego operatora. Trzeba jednak też pamiętać o kodzie CAPTCHA, który będziemy musieli wpisywać co godzinę ale o tym fakcie powinniśmy zostać powiadomieni podczas surfowania po internecie. Podłączenie linux'owego klienta przewodowego Na opakowaniu M7310 znajduje się informacja, że ten router jest w stanie zapewnić połączenie przewodowe jednemu komputerowi. Trochę się zdziwiłem, bo przecież to urządzenie nie ma żadnego portu ethernet. Okazuje się, że to połączenie jest realizowane przez przewód USB. Po podłączeniu routera do portu USB komputera, w logu systemowym pojawiają się takie oto komunikaty: kernel: usb 2-1.3: new high-speed USB device number 7 using ehci-pci kernel: usb 2-1.3: New USB device found, idVendor=2357, idProduct=000a kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 2-1.3: Product: M7310 kernel: usb 2-1.3: Manufacturer: TP-LINK Technologies Co., Ltd. kernel: usb 2-1.3: SerialNumber: ef200a715739 kernel: usb-storage 2-1.3:1.2: USB Mass Storage device detected kernel: scsi host4: usb-storage 2-1.3:1.2 kernel: usbcore: registered new interface driver cdc_ether kernel: rndis_host 2-1.3:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.3, RNDIS device, ee:3f:49:c2:d5:72 kernel: usbcore: registered new interface driver rndis_host kernel: usb 2-1.3: USB disconnect, device number 7 kernel: rndis_host 2-1.3:1.0 usb0: unregister 'rndis_host' usb-0000:00:1d.0-1.3, RNDIS device Po chwili pojawia się także coś takiego: kernel: usb 2-1.3: new high-speed USB device number 8 using ehci-pci kernel: usb 2-1.3: New USB device found, idVendor=2357, idProduct=0006 kernel: usb 2-1.3: New USB device strings: Mfr=1, Product=2, SerialNumber=3 kernel: usb 2-1.3: Product: M7310 kernel: usb 2-1.3: Manufacturer: TP-LINK Technologies Co., Ltd. kernel: usb 2-1.3: SerialNumber: ef200a715739 kernel: rndis_host 2-1.3:1.0 usb0: register 'rndis_host' at usb-0000:00:1d.0-1.3, RNDIS device, 46:9c:a0:4b:77:26 W tym momencie właśnie został wykryty interfejs sieciowy usb0 , który można skonfigurować sobie jak każdy inny interfejs przewodowy. Przepustowość tego interfejsu to 100 mbit/s, w końcu USB 2.0. Po tych powyższych komunikatach, w logu pojawia się jeszcze poniższe wiadomości: kernel: usb-storage 2-1.3:1.2: USB Mass Storage device detected kernel: scsi host4: usb-storage 2-1.3:1.2 kernel: scsi 4:0:0:0: Direct-Access TP-LINK MMC Storage PQ: 0 ANSI: 2 kernel: sd 4:0:0:0: Attached scsi generic sg2 type 0 kernel: sd 4:0:0:0: [sdb] 3852288 512-byte logical blocks: (1.97 GB/1.84 GiB) kernel: sd 4:0:0:0: [sdb] Write Protect is off kernel: sd 4:0:0:0: [sdb] Mode Sense: 0f 00 00 00 kernel: sd 4:0:0:0: [sdb] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA kernel: sdb: kernel: sd 4:0:0:0: [sdb] Attached SCSI removable disk I to jest karta SD w routerze, którą możemy zamontować w systemie bez większego problemu. Czas pracy na baterii TP-LINK deklaruje, że router M7310 jest w stanie pracować do 10 godzin na dołączonym do zestawu akumulatorze (w trybie czuwania do 600 godzin). Pytanie tylko jak liczony jest ten czas. Raczej wątpię by to urządzenie tyle pociągnęło na tych 2000 mAh przy podłączonych 10 klientach WiFi i korzystaniu z internetu 50 mbit/s w technologi LTE. Postanowiłem jednak sprawdzić jak wyglądają te osiągi, bo bardzo mnie ta kwestia interesowała. Zanim jednak przejdziemy do faktycznego czasu rozładowania akumulatora, warto wspomnieć, że by go naładować od 0% do 100%, proces ładowania musi trwać około 2,5 godziny, oczywiście przy założeniu, że będziemy ten router ładować dedykowaną ładowarką 5V/1A, której standardowo nie ma w zestawie oraz że router nie będzie w tym czasie wykorzystywany do połączenia z internetem. Jeśli zamierzamy ładować ten router z portu USB komputera, to trzeba brać drobną poprawkę, bo port USB w wersji 2.0 ma maksymalną wydajność prądową na poziomie 0,5 A, przez co ładowanie może ulec znacznemu wydłużeniu. Czas rozładowania akumulatora M7310 przy standardowej pracy tego routera jest w granicach 8 i pół godziny. Standardowa praca rozumiana jest jako podpięte 4 urządzenia po WiFi (2x laptop, 2x smartfon), a aktywność w sieci sprowadza się jedynie do przeglądania stron internetowych w przeglądarce www i ewentualnie pobierania małych plików/filmów. W sumie transfer danych przekroczył nico 4 GiB przez te 8,5 godziny. Jeśli zamierzamy intensywnie pobierać dane, to trzeba liczyć się ze skróceniem czasu pracy routera na baterii. Dlatego też dobrze jest mieć ze sobą zawsze jakiś power bank. Warto też zaznaczyć, że wskazania na wyświetlaczu co do stanu baterii nie są wiarygodne. Router potrafi przez 2 godziny mieć 100%, a przy 20% zjechać do 0 w jakieś 20 minut. Podobnie z ładowaniem baterii, gdzie przez 10 minut można ją niby naładować do poziomu 50%. Problemy z wydajnością Podczas przeprowadzania testów hotspotu M7310 napotkałem pewne problemy z połączeniem. U mnie na linux w logu systemowym można dostrzec tego typu komunikaty: kernel: wlan1: AP ec:08:6b:00:fb:b0 changed bandwidth, new config is 2462 MHz, width 1 (2462/0 MHz) kernel: wlan1: AP ec:08:6b:00:fb:b0 changed bandwidth in a way we can't support - disconnect kernel: wlan1: failed to follow AP ec:08:6b:00:fb:b0 bandwidth change, disconnect kernel: wlan1: authenticate with ec:08:6b:00:fb:b0 kernel: wlan1: send auth to ec:08:6b:00:fb:b0 (try 1/3) kernel: wlan1: authenticated kernel: wlan1: associate with ec:08:6b:00:fb:b0 (try 1/3) kernel: wlan1: RX AssocResp from ec:08:6b:00:fb:b0 (capab=0x411 status=0 aid=1) kernel: wlan1: AP has invalid WMM params (AIFSN=1 for ACI 0), will use 2 kernel: wlan1: AP has invalid WMM params (AIFSN=1 for ACI 2), will use 2 kernel: wlan1: AP has invalid WMM params (AIFSN=1 for ACI 3), will use 2 kernel: wlan1: associated Nie wiem dokładnie o co chodzi ale ten problem występuje tylko w przypadku AP na routerze M7310. Próba wymiany danych między dwiema maszynami (smartfon i laptop) w sieci WiFi powoduje pojawienie się takiego komunikatu co kilkanaście sekund i klient jest rozłączany. Może i łączy się automatycznie za chwilę ale transfer danych w sieci jest wręcz katastrofalnie niski 5-8 mbit/s z ciągłymi spadkami prędkości do 0. Nie mam pojęcia co jest przyczyną takiego stanu rzeczy ale nie wszystkie karty WiFi się w ten sposób zachowują. Ta wyżej jest na czipie od Qualcomm Atheros (TL-WN722N). Co do pozostałych kart, to sytuacja jest mniej więcej standardowa. Trzeba jednak pamiętać, że skoro w przypadku tego routera komunikacja odbywa się głównie za pomocą WiFi, to faktyczny transfer jest rozdzielony między dwóch klientów mniej więcej po połowie. Zatem zakładając, że w okolicy mamy inne sieci WiFi, to M7310 może mieć problemy z przełączeniem się na kanał 40 MHz. Stracimy zatem połowę przepustowości i z obiecanych 300 mbit/s zostanie nam 150 mbit/s. Do tego realny transfer jest na poziomie 66% i tak zostaje nam 100 mbit/s do rozdysponowania w sieci WiFi. Zakładając, że przesyłamy dane między dwoma klientami w tej sieci, to maksymalnie osiągniemy 50 mbit/s. Oczywiście przy niewielkich zakłóceniach. W dziczy te osiągi powinny być 2x lepsze. Połączenie LAN => WAN (LTE) też mogłoby być nieco bardziej przyzwoite. W tym przypadku nie udało mi się wyjść poza granicę 30 mbit/s. Wiem, że transfer po LTE zależy głównie od lokalizacji i obciążenia BTS ale w moim przypadku BTS jest dość blisko (< 900 m, widoczność zachowana), a test był przeprowadzany w godzinach 2-3 w nocy, z tym, że w budynku. Dla porównania, przekładając kartę SIM z routera M7310 do smartfona Neffos C5, transfer LTE jest na poziomie 42 mbit/s: Trzy pierwsze wyniki dotyczą połączenia przez router M7310, a dwa ostatnie przez Neffos'a C5. Różnica jest widoczna gołym okiem. Trochę daleko do tych obiecanych 150/50 mbit/s, a za dnia może być tylko gorzej. Stacjonarne podłączenie routera M7310 Może i ten hotspot M7310 jest mobilny ale biorąc pod uwagę fakt, że jest on także w stanie zapewnić połączenie dziesięciu komputerom po WiFi i jednemu po USB, to możemy taki router postawić u siebie w domu i wykorzystywać go jako odpowiednik tych stacjonarnych routerów LTE. Niemniej jednak, trzeba liczyć się z faktem, że M7310 nigdy nie dorówna osiągom tradycyjnym routerom. Osobną kwestią jest sprawa zasilania M7310. W zestawie jest dołączony tylko przewód USB. Nie ma ładowarki. Jeśli chcielibyśmy się bawić w zastosowania stacjonarne, to trzeba by dokupić ładowarkę 5V/1A i przy jej pomocy podłączyć M7310 do sieci elektrycznej w domu. Oczywiście nic nie stoi na przeszkodzie, by korzystać z portu USB komputera, z tym, że wtedy pokrycie zasięgiem WiFi może nie być optymalne. To urządzenie nie potrafi pracować bez baterii ale nie ma z nim problemów przy realizacji połączenia internetowego, gdy jest ono jednocześnie ładowane z gniazdka. Dlatego też może ono robić za stacjonarny router LTE, choć nie jest to zbyt opłacalne przedsięwzięcie.
  10. Któż z nas nie ma gdzieś koło swojego domowego ogniska takiego małego urządzenia z antenami, które nic tylko sobie leży gdzieś na półce i od czasu do czasu tylko mignie do nas swoimi diodami? Mowa oczywiście o routerach WiFi, które można powoli chyba zacząć traktować jak nowych członków naszej rodziny. Te elektroniczne stworzenia są tak bardzo użyteczne, że wielu z nas już sobie życia bez nich nie wyobraża. Technologia bezprzewodowej łączności rozwija się bardzo prężnie i, gdy niecałe dwa lata temu sprawiłem sobie mój pierwszy router WiFi (model TL-WR1043ND v2), to myślałem, że wystarczy mi on na jakiś dłuższy czas. Wtedy 450 mbit/s w paśmie 2,4 GHz to były naprawdę przyzwoite osiągi, przynajmniej teoretycznie rzecz ujmując. Od tamtego czasu bardzo dużo się zmieniło w kwestii WiFi, nie tylko pod względem przepustowości ale także technologii, które znajdują zastosowanie w tym bezprzewodowym wymiarze otaczającej nas rzeczywistości. Tak się składa, że mam jedno z tych bardziej zaawansowanych urządzeń i postanowiłem sobie je dokładnie obadać. Jest to router Archer C2600 od TP-LINK, który ma być zdolny przesłać sygnał po WiFi z prędkością 800 mbit/s w paśmie 2,4 GHz i 1733 mbit/s w paśmie 5 GHz, także zobaczmy co to jest za maszyna. Zawartość pudełka Jak zawsze, zacznijmy od tego co znajduje się wewnątrz opakowania. Poniżej są fotki samego pudełka oraz wszystkich elementów załączonych w zestawie: Przede wszystkim, w pudełku mamy router. Jak widać jest to dość byczy sprzęt (mniej więcej 2x TL-WR1043ND). Jego dokładne wymiary to jakieś 264x198x38mm (dł-sz-wy) i waży prawie 1 kilogram. Połowa powierzchni tego routera robi za matową kratkę wentylacyjną, a połowa za coś co się świeci jak nie powiem komu co. Przynajmniej router jest tylko w połowie łatwy do zarysowania, także krok w dobrą stronę. Na środku tej dwurodzajowej powierzchni znajdują się diody. Diody świecą się na kolor biały, za wyjątkiem tej, która ma sygnalizować połączenie ze światem. W przypadku podłączenia przewodu i braku łączności z internetem, router podświetla diodę na pomarańczowo. Diody można wyłączyć przyciskiem lub też zaprogramować ich automatyczne włączanie i wyłączanie w panelu administracyjnym w zależności od pory dnia. Bardzo przydatna rzecz jeśli w nocy nam te diody nie dają spać. Spód oczywiście jest cały zakratkowany i na szczęście matowy: Do zestawu są dołączone cztery anteny dwupasmowe: Jeden przewód ethernet CAT5E: Nie mogło też zabraknąć zasilacza: Jak widzimy, na zasilaczu widnieje 12V/4A, zatem ten router jest w stanie wyciągnąć prawie 50 W. Oczywiście w przypadku standardowej pracy tego urządzenia, pobiera ono sporo mniej energii i jest to rząd wielkości 7-10 W. No chyba, że podłączymy do niego urządzenia USB. Archer C2600 posiada również dwa porty USB 3.0: Wyżej poza portami widzimy również przyciski WiFi i WPS oraz małą dziurkę, która skrywa przycisk reset. Wymagana będzie igła czy inny tego typu przedmiot, by ten ostatni przycisk wcisnąć. Tylny panel routera Archer C2600 prezentuje się raczej standardowo: Mamy cztery żółte gniazdka RJ-45 przeznaczone na porty LAN. Dalej jest też jeden niebieski port WAN. No i oczywiście włącznik oraz gniazdo zasilania. Widzimy również cztery złącza antenowe RP-SMA. To mniej więcej tyle jeśli chodzi o zawartość pudełka i wygląd samego routera. Zobaczmy czym dokładnie ten sprzęt jest nas w stanie do siebie przekonać. Specyfikacja routera Archer C2600 Router Archer C2600 pracuje w standardzie 802.11ac i jest w stanie osiągać przepustowość 800 mbit/s w paśmie 2,4 GHz oraz 1733 mbit/s w paśmie 5 GHz. Niemniej jednak, szereg warunków musi być spełniony, by być w stanie osiągnąć taki transfer. Przede wszystkim, szerokość kanału musi być ustawiona na 40 MHz w paśmie 2,4 GHz oraz 80 MHz w paśmie 5 GHz. Oczywiście ta wysoka przepustowość zależy także od zastosowanej techniki modulacji (QAM-256), liczby strumieni przestrzennych (4), sprawności kodera (5/6) oraz od interwału ochronnego (krótki). Trzeba jednak pamiętać, że te cyferki 800/1733 mbit/s są wartościami teoretycznymi, a realny transfer jest nieco niższy. To jakie wyniki uzyskamy zależą głównie od warunków w jakich router będzie pracował oraz parametrów, które klient wynegocjuje w oparciu o jakość odbieranego sygnału WiFi. Więcej informacji na temat teoretycznej przepustowości sieci WiFi w warstwie fizycznej (interfejs radiowy) można znaleźć w indeksie MCS (Modulation and Coding Scheme). Szerokość kanałów Termin szerokości kanału jest nam raczej wszystkim znany. Zasada jest zawsze taka sama, tj. im szerszy kanał, tym więcej danych jesteśmy w stanie przesłać w jednostce czasu. Niemniej jednak, szerokie kanały, zwłaszcza w warunkach miejskich, mogą powodować degradację sygnału w skutek zakłóceń generowanych przez sąsiednie sieci, zwłaszcza w przypadku blokowisk, czy innych tego większych skupisk ludzkich. Trzeba ten czynnik brać pod uwagę w przypadku, gdy mieszkamy w tak zatłoczonym miejscu. Oczywiście częstotliwość 5 GHz nie jest tak bardzo zaszumiona jak pasmo 2,4 GHz i tutaj sytuacja powinna być nieco lepsza ale też trzeba liczyć się z większym tłumieniem, które towarzyszy falom o częstotliwości 5 GHz. Technika modulacji i sprawność kodera (coding rate) W routerze Archer C2600 mamy do czynienia z techniką modulacji QAM-256 (kwadraturowa modulacja amplitudowo-fazowa) ze sprawnością kodera 5/6, czyli 83% danych przesyłanych po WiFi to są faktyczne dane przesyłane przez sieć, reszta to narzut protokołu (overhead). Ta technika jest wykorzystywana zarówno w paśmie 2,4 GHz jak i 5 GHz. Więcej informacji na temat technik wykorzystywanych do przesyłania sygnału drogą radiową można znaleźć tutaj. Z kolei na YT jest ciekawy materiał opisujący i porównujący różne techniki modulacji. Dzięki wykorzystaniu modulacji QAM-256 5/6, możliwe jest zakodowanie większej ilości informacji w kanale o takiej samej szerokości. Dla porównania, w przypadku modulacji 64 QAM 5/6 w jednym symbolu OFDM można było zakodować 6 bitów. Modulacja QAM-256 5/6 podnosi ten limit do 8 bitów, co przekłada się na zwiększenie przepustowości o jakieś 33%. Najważniejszą rzeczą, z której powinniśmy sobie zdawać sprawę w przypadku tych technik modulacji jest fakt, że wraz ze wzrostem złożoności techniki, maleje dość znacznie margines błędu jaki odbiornik może popełnić przy dekodowaniu symboli OFDM. Sygnał musi być zatem bardzo dobrej jakości, czyli posiadać duży współczynnik sygnału do szumu (SNR). W warunkach miejskich może być z tym problem, zwłaszcza w przypadku WiFi w paśmie 2,4 GHz. Anteny i strumienie przestrzenne (spatial sterams) Router Archer C2600 dysponuje czterema dwupasmowymi zewnętrznymi antenami nadawczo-odbiorczymi (8 wzmacniaczy, 4 na każde pasmo). Zatem nie mamy tutaj słabych anten wewnętrznych dla jednego z pasm, tak jak to mają niektóre słabsze modele routerów. Cztery anteny w routerze są w stanie transmitować dane czterema różnymi strumieniami przestrzennymi. Każdy strumień jest w stanie przesłać 200 mbit/s i 433 mbit/s odpowiednio w paśmie 2,4 GHz i 5 GHz. Dzięki zastosowanej technologi MIMO, tego typu zabieg jest nam w stanie poprawić przepustowość sieci WiFi czterokrotnie. Interwał ochronny (Guard Interval) Interwał ochronny ma za zadanie minimalizować zakłócenia wynikające z transmisji danych w sieci bezprzewodowej. Chodzi o to, że transmisja symboli OFDM może ulec opóźnieniu, czego efektem będzie nałożenie się na siebie dwóch lub więcej symboli po dotarciu do odbiornika. Taka sytuacja powoduje osłabienie współczynnika SNR, czyli sygnał ulega w ten sposób degradacji i spada nam transfer. Interwał ochronny określa czas ciszy pomiędzy symbolami i jest wyrażony w mikrosekundach. Mamy dwa rodzaje Guard Interval: krótki 0,4 us i długi 0,8 us. W przypadku długiego interwału będziemy notować mniej zakłóceń. W warunkach domowych, gdzie odległości odbiorników od routera nie są duże i nie ma w okolicy za wiele urządzeń zdolnych zakłócać transmisję bezprzewodową, można korzystać z krótkiego Guard Interval, przez co transfer danych może zostać zwiększony o jakieś 10% (bonus już wliczony). Technologia MU-MIMO Całą masa kart bezprzewodowych jest wyposażona tylko w jedną antenę, przez co pasmo WiFi nie jest efektywnie wykorzystywane. Chodzi o to, że większość routerów jest w stanie rozmawiać tylko z jednym urządzeniem w danej jednostce czasu (technologia SU-MIMO, Single-User Multiple Input Multiple Output). Jeśli mamy smartfona z jedną anteną w paśmie 5 GHz, to moglibyśmy wykorzystać tylko jeden strumień routera. W przypadku, gdy router dysponuje większą ilością strumieni, to cześć pasma nie może być wykorzystana w tej jednostce czasu, a pozostałe klienty muszą czekać na swoją kolej. Mniej więcej jest to taka sama sytuacja co w przypadku HUB'a, tego urządzenia sieciowego, które było wykorzystywane lata temu do rozdzielania sygnału na kilka komputerów w sieci przewodowej. W przypadku routera Archer C2600 sprawa wygląda nieco inaczej, bo w tym urządzeniu został zaimplementowany mechanizm MU-MIMO (Multi-User Multiple Input Multiple Output). Ma on za zadanie zwiększyć ilość obsługiwanych jednocześnie urzadzeń tak, by klienci WiFi nie czekali na swoją kolej. W tym przypadku router się zachowuje bardziej jak switch, a nie HUB. Niemniej jednak, ta technologia nie jest taka wypasiona jak mogłoby się wydawać na pierwszy rzut oka. Przede wszystkim dotyczy ona jedynie pasma 5 GHz. Zatem jeśli posiadamy szereg urządzeń zdolnych łączyć się po WiFi i większość (albo i wszystkie) z nich potrafi to robić jedynie w paśmie 2,4 GHz, to MU-MIMO nam zbytnio nic nie da. By odczuć różnicę, trzeba by zmodernizować swoje domowe zabawki. Drugi problem z technologią MU-MIMO jest taki, że jest ona w stanie obsłużyć jednocześnie tyle urządzeń, iloma strumieniami przestrzennymi (spatial streams) dysponuje router. W przypadku routera Archer C2600 będą to maksymalnie cztery urządzenia. Każde następne urządzenie będzie kolejkowane. Niemniej jednak, cztery urządzenia w stosunku do jednego, to całkiem przyzwoity krok na przód. Na warunki domowe się nada w sam raz. Kształtowanie wiązki (Transmit Beamforming) Mając do dyspozycji cztery anteny, router Archer C2600 jest w stanie ukształtować nieco wiązkę wysyłanego sygnału do stacji odbiorczych. W ten sposób sygnał docierający do klienta ulega poprawie. Owocuje to zwiększonym zasięgiem, co przekłada się na lepszy transferem danych u klientów sieci WiFi, także podczas ich przemieszczania się. Zasada działania beamforming'u jest stosunkowo dość prosta. Cztery anteny routera Archer C2600 wysyłają cztery sygnały radiowe. Gdy takie sygnały docierają do odbiornika, są one sumowane. Problem w tym, że drogą, jaką musi przebyć sygnał radiowy wysłany z oddalonych od siebie fizycznie anten, jest różna. To z kolei powoduje przesunięcie faz sygnałów i w standardowej sytuacji sygnał ulega wytłumieniu. W przypadku zastosowania kształtowania wiązki, fazy wysłanych sygnałów są precyzyjnie dobierane, przez co likwidowane jest ich przesunięcie i do odbiornika dociera mocniejszy sygnał (zwiększa się SNR). Tutaj jest materiał obrazujący ten proces. Podzespoły routera Archer C2600 Przyjrzyjmy się zatem nieco podzespołom z jakich zbudowany jest router Archer C2600. By się do tego urządzenia dobrać, trzeba pierw wyciągnąć cztery nóżki ze spodu obudowy i odkręcić skrywane pod nimi śrubki: Później wystarczy podważyć nieco pokrywę routera i powinna ona bez problemu zeskoczyć z zaczepów. Dobrze jest poszukać ciemniejszych miejsc, w których znajdują się zaczepy i tam podważać. Po ściągnięciu pokrywy trzeba nieco uważać, bo diody na niej są połączone z płytą główną: Po odłączeniu przewodu, mamy dostęp do płytki. Pierwsze co rzuca się w oczy do dwa masywne radiatory: A tu jeszcze widok płytki od spodu: By wyjąc płytkę z obudowy, trzeba pierw odłączyć widoczne wyżej cztery przewody antenowe. Po ściągnięciu radiatorów, płytka prezentuje się następująco: Poniżej zaś jest nieco bardziej dokładny opis poszczególnych elementów. Gigabitowy switch (QCA8337) Gigabitowy switch jest na układzie Qualcomm Atheros QCA8337: Oraz układy Group-Tek HST-24002SAR i HST-48002SAR: WiFi 2,4 GHz (QCA9980 + SKY2623L) W sekcji radia 2,4 GHz (4x4:4, standard N) znajduje się czip WiFi QCA9980 oraz 4 wzmacniacze sygnału SKY2623L. WiFi 5 GHz (QCA9980 + SKY85405) W sekcji radia 5 GHz (4x4:4, standard AC) znajduje się czip WiFi QCA9980 oraz 4 wzmacniacze sygnału SKY85405 System-On-Chip (IPQ8064) W routerze Archer C2600 znajduje się SoC IPQ8064, w którym to z kolei mamy dwa procesory Krait 300 z taktowaniem 1,4 GHz. Pamięć operacyjna RAM Router Archer C2600 jest wyposażony w 512 MiB pamięci operacyjnej RAM. Zatem jest to dość sporo i na pewno nie będzie się marnować pod alternatywnym firmware OpenWRT/LEDE. Na pokładzie mamy dwie kości po 256 MiB DDR3. Producentem układów jest zaś Micron, model MT41K128M16JT-125:K: Flash Router Archer C2600 ma flash o wielkości 32 MiB. Układ Spansion FL256SAIFR0: Zarządzanie routerem Archer C2600 Routerem Archer C2600 zarządza się przez panel administracyjny, który jest dostępny pod adresem http://192.168.0.1/ . Dane logowania są standardowe, tj. admin/admin : Po zalogowaniu się na router, zostaniemy poproszeni o zmianę hasła: Następnie zostaniemy przeprowadzeni przez szybki proces konfiguracji routera Archer C2600, podczas którego będziemy w stanie dostosować kraj oraz strefę czasową: Adresację IP: Nazwy i hasła sieci WiFi: Jak widzimy, proces konfiguracji routera Archer C2600 jest bardzo prosty, praktycznie automatyczny i sprowadza się jedynie do kilku klików myszką: Sam panel administracyjny jest podzielony na dwie części. Jedna z nich skupia się na prostocie konfiguracji, przez co nawet osoby, które nie znają się zbytnio na komputerach, powinny sobie poradzić ze skonfigurowaniem routera Archer C2600: Dla bardziej wymagających są ustawienia zaawansowane, gdzie można dostosować sobie praktycznie każdy aspekt pracy routera Archer C2600: W tym panelu admina można skonfigurować naprawdę całą masę rzeczy i zamiast je tutaj wszystkie wymieniać, to zachęcam do zapoznania się z tym panelem w emulatorze jaki jest udostępniany przez TP-LINK. Kilka słów o firmware TP-LINK'a Na tym oryginalnym firmware od TP-LINK, router Archer C2600 jest gotowy do pracy w jakieś 70-80 sekund od włączenia go. Trochę się wlecze zatem. Druga sprawa to zasięg. W porównaniu do mojego routera Archer C7 v2, w paśmie 5 GHz nie ma praktycznie żadnej różnicy w kwestii zasięgu. Natomiast jeśli chodzi o pasmo 2,4 GHz, to już tutaj widać dość znaczny boost, bo w granicach 10 dBm na korzyść routera Archer C2600, zatem te zewnętrzne anteny jednak trochę pomagają. W przypadku portów USB, Archer C2600 uzyskał ciągły transfer na poziomie 37-38 MiB/s (ok, 300 mbit/s), także całkiem nieźle. W końcu można podpiąć zewnętrzny dysk do routera, który może robić za dość przyzwoity NAS. Problem tylko w systemie plików takich urządzeń. Wygląda na to, że nie jest wspierany linux'owy system plików EXT4. Partycje dało radę zamontować, tylko gdy te miały system plików FAT32 lub NTFS. Problemem też jest logowanie się do panelu administracyjnego. Może samo logowanie jest jak najbardziej w porządku ale tylko jeden host może być zalogowanym w panelu w danej chwili. Tę kwestię jeszcze można by przemilczeć ale po utracie połączenia (np. wyciągnięciu wtyczki z portu ethernet), system routera w dalszym ciągu traktuje taką maszynę jako podłączoną i zalogowaną jako admin. W efekcie nie ma możliwość przez pewien czas wbić do panelu administracyjnego. Jak długo, tego dokładnie nie wiem, prawdopodobnie 5-10 minut. Męczący jest także ciągle ten prompt o zmianę hasła w panelu admina. Za każdym razem, gdy człowiek się loguje do panelu z wykorzystaniem domyślnych danych logowania, ciągle mu jest prezentowana informacja, by zmienić te dane i to jeszcze w formie okienka, które trzeba zamknąć. Wsparcie w OpenWRT/LEDE Mnie oczywiście najbardziej interesuje czy ten router Archer C2600 jest wspierany w alternatywnym firmware. Wygląda na to, że ten model ma wsparcie (częściowe póki co) w LEDE. Jest nawet stosowna strona na wiki OpenWRT. Obraz można zaś znaleźć na dl.eko.one.pl. Jako, że jest obraz, to postanowiłem go wgrać na router i zobaczyć, czy aktualnie ten firmware jest zjadliwy. Router nawet działa: Niemniej jednak, są z nim problemy. Przede wszystkim, część przycisków nie działa. Działają tylko reset i WPS. Nie świecą się też diody od WiFi, no i brakuje pomarańczowej diody sygnalizującej status połączenia z internetem. Pozostałe rzeczy zdają się działać poprawnie. Da radę się połączyć po WiFi, zarówno po 2,4 GHz jak i 5 GHz, a na dysku podpiętym do portu USB udało mi się wyciągnąć transfer około 26 MiB/s przy zapisie. Także router jest jak najbardziej używalny. Poniżej znajduje się wyjście szeregu poleceń Log systemowy: root@lede:~# dmesg [ 0.000000] Booting Linux on physical CPU 0x0 [ 0.000000] Linux version 4.4.19 (cezary@eko.one.pl) (gcc version 5.4.0 (LEDE GCC 5.4.0 r1491) ) #0 SMP PREEMPT Thu Sep 8 13:28:39 2016 [ 0.000000] CPU: ARMv7 Processor [512f04d0] revision 0 (ARMv7), cr=10c5787d [ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, PIPT instruction cache [ 0.000000] Machine model: TP-Link Archer C2600 [ 0.000000] Memory policy: Data cache writealloc [ 0.000000] On node 0 totalpages: 122880 [ 0.000000] free_area_init_node: node 0, pgdat c07f9cc0, node_mem_map ddc39000 [ 0.000000] Normal zone: 960 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 122880 pages, LIFO batch:31 [ 0.000000] PERCPU: Embedded 11 pages/cpu @ddc10000 s14912 r8192 d21952 u45056 [ 0.000000] pcpu-alloc: s14912 r8192 d21952 u45056 alloc=11*4096 [ 0.000000] pcpu-alloc: [0] 0 [0] 1 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 121920 [ 0.000000] Kernel command line: [ 0.000000] Bootloader command line (ignored): console=ttyHSL1,115200n8 root=mtd:rootfs rootfstype=squashfs [ 0.000000] PID hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Dentry cache hash table entries: 65536 (order: 6, 262144 bytes) [ 0.000000] Inode-cache hash table entries: 32768 (order: 5, 131072 bytes) [ 0.000000] Memory: 480452K/491520K available (4249K kernel code, 246K rwdata, 1608K rodata, 204K init, 293K bss, 11068K reserved, 0K cma-reserved, 0K highmem) [ 0.000000] Virtual kernel memory layout: [ 0.000000] vector : 0xffff0000 - 0xffff1000 ( 4 kB) [ 0.000000] fixmap : 0xffc00000 - 0xfff00000 (3072 kB) [ 0.000000] vmalloc : 0xde800000 - 0xff800000 ( 528 MB) [ 0.000000] lowmem : 0xc0000000 - 0xde000000 ( 480 MB) [ 0.000000] pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB) [ 0.000000] modules : 0xbf000000 - 0xbfe00000 ( 14 MB) [ 0.000000] .text : 0xc0208000 - 0xc07c0978 (5859 kB) [ 0.000000] .init : 0xc07c1000 - 0xc07f4000 ( 204 kB) [ 0.000000] .data : 0xc07f4000 - 0xc0831800 ( 246 kB) [ 0.000000] .bss : 0xc0834000 - 0xc087d504 ( 294 kB) [ 0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1 [ 0.000000] Preemptible hierarchical RCU implementation. [ 0.000000] RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2. [ 0.000000] RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 [ 0.000000] NR_IRQS:16 nr_irqs:16 16 [ 0.000000] clocksource: dg_timer: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 305801671480 ns [ 0.000007] sched_clock: 32 bits at 6MHz, resolution 160ns, wraps every 343597383600ns [ 0.000022] Switching to timer-based delay loop, resolution 160ns [ 0.000202] Calibrating delay loop (skipped), value calculated using timer frequency.. 12.50 BogoMIPS (lpj=62500) [ 0.000227] pid_max: default: 32768 minimum: 301 [ 0.000360] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.000380] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.001069] CPU: Testing write buffer coherency: ok [ 0.001391] CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 [ 0.001496] Setting up static identity map for 0x42208280 - 0x422082d8 [ 0.094469] CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 [ 0.094631] Brought up 2 CPUs [ 0.094652] SMP: Total of 2 processors activated (25.00 BogoMIPS). [ 0.094665] CPU: All CPU(s) started in SVC mode. [ 0.104943] VFP support v0.3: implementor 51 architecture 64 part 4d variant 2 rev 0 [ 0.105402] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns [ 0.105567] pinctrl core: initialized pinctrl subsystem [ 0.107180] NET: Registered protocol family 16 [ 0.107458] DMA: preallocated 256 KiB pool for atomic coherent allocations [ 0.134930] cpuidle: using governor ladder [ 0.165946] cpuidle: using governor menu [ 0.179884] gpiochip_add: registered GPIOs 0 to 68 on device: 800000.pinmux [ 0.179911] GPIO chip 800000.pinmux: created GPIO range 0->68 ==> 800000.pinmux PIN 0->68 [ 0.181543] qcom_rpm 108000.rpm: RPM firmware 3.0.16777342 [ 0.230169] pps_core: LinuxPPS API ver. 1 registered [ 0.230189] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it> [ 0.230237] PTP clock support registered [ 0.231517] clocksource: Switched to clocksource dg_timer [ 0.233501] NET: Registered protocol family 2 [ 0.234394] TCP established hash table entries: 4096 (order: 2, 16384 bytes) [ 0.234440] TCP bind hash table entries: 4096 (order: 3, 32768 bytes) [ 0.234497] TCP: Hash tables configured (established 4096 bind 4096) [ 0.234555] UDP hash table entries: 256 (order: 1, 8192 bytes) [ 0.234583] UDP-Lite hash table entries: 256 (order: 1, 8192 bytes) [ 0.234828] NET: Registered protocol family 1 [ 0.234911] PCI: CLS 0 bytes, default 64 [ 0.236746] futex hash table entries: 512 (order: 3, 32768 bytes) [ 0.236888] No memory allocated for crashlog [ 0.245925] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.245954] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.249170] io scheduler noop registered [ 0.249201] io scheduler deadline registered (default) [ 0.250607] qcom-pcie 1b500000.pci: GPIO lookup for consumer perst [ 0.250631] qcom-pcie 1b500000.pci: using device tree for GPIO lookup [ 0.250653] of_get_named_gpiod_flags: can't parse 'perst-gpios' property of node '/soc/pci@1b500000[0]' [ 0.250683] of_get_named_gpiod_flags: parsed 'perst-gpio' property of node '/soc/pci@1b500000[0]' - status (0) [ 0.250794] 1b500000.pci supply vdda not found, using dummy regulator [ 0.250912] 1b500000.pci supply vdda_phy not found, using dummy regulator [ 0.251008] 1b500000.pci supply vdda_refclk not found, using dummy regulator [ 0.251503] PCI host bridge /soc/pci@1b500000 ranges: [ 0.251547] IO 0x0fe00000..0x0fefffff -> 0x0fe00000 [ 0.251574] MEM 0x08000000..0x0fdfffff -> 0x08000000 [ 0.281066] qcom-pcie 1b500000.pci: PCI host bridge to bus 0000:00 [ 0.281095] pci_bus 0000:00: root bus resource [bus 00-ff] [ 0.281119] pci_bus 0000:00: root bus resource [io 0x0000-0xfffff] (bus address [0xfe00000-0xfefffff]) [ 0.281137] pci_bus 0000:00: root bus resource [mem 0x08000000-0x0fdfffff] [ 0.281156] pci_bus 0000:00: scanning bus [ 0.281210] pci 0000:00:00.0: [17cb:0101] type 01 class 0x060400 [ 0.281340] pci 0000:00:00.0: calling pci_fixup_ide_bases+0x0/0x44 [ 0.281418] pci 0000:00:00.0: supports D1 [ 0.281435] pci 0000:00:00.0: PME# supported from D0 D1 D3hot [ 0.281459] pci 0000:00:00.0: PME# disabled [ 0.282109] pci_bus 0000:00: fixups for bus [ 0.282140] PCI: bus0: Fast back to back transfers disabled [ 0.282163] pci 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 0 [ 0.282390] pci_bus 0000:01: scanning bus [ 0.282554] pci 0000:01:00.0: [168c:0040] type 00 class 0x028000 [ 0.282913] pci 0000:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit] [ 0.283331] pci 0000:01:00.0: calling pci_fixup_ide_bases+0x0/0x44 [ 0.283768] pci 0000:01:00.0: PME# supported from D0 D3hot D3cold [ 0.283812] pci 0000:01:00.0: PME# disabled [ 0.284266] pci_bus 0000:01: fixups for bus [ 0.284336] PCI: bus1: Fast back to back transfers disabled [ 0.284353] pci_bus 0000:01: bus scan returning with max=01 [ 0.284378] pci 0000:00:00.0: scanning [bus 01-01] behind bridge, pass 1 [ 0.284401] pci_bus 0000:00: bus scan returning with max=01 [ 0.284486] pci 0000:00:00.0: fixup irq: got 132 [ 0.284502] pci 0000:00:00.0: assigning IRQ 132 [ 0.284572] pci 0000:01:00.0: fixup irq: got 132 [ 0.284587] pci 0000:01:00.0: assigning IRQ 132 [ 0.284660] pci 0000:00:00.0: BAR 8: assigned [mem 0x08000000-0x081fffff] [ 0.284687] pci 0000:01:00.0: BAR 0: assigned [mem 0x08000000-0x081fffff 64bit] [ 0.284808] pci 0000:00:00.0: PCI bridge to [bus 01] [ 0.284834] pci 0000:00:00.0: bridge window [mem 0x08000000-0x081fffff] [ 0.285264] pcieport 0000:00:00.0: Signaling PME through PCIe PME interrupt [ 0.285283] pci 0000:01:00.0: Signaling PME through PCIe PME interrupt [ 0.285307] pcie_pme 0000:00:00.0:pcie01: service driver pcie_pme loaded [ 0.285530] aer 0000:00:00.0:pcie02: service driver aer loaded [ 0.285854] qcom-pcie 1b700000.pci: GPIO lookup for consumer perst [ 0.285874] qcom-pcie 1b700000.pci: using device tree for GPIO lookup [ 0.285893] of_get_named_gpiod_flags: can't parse 'perst-gpios' property of node '/soc/pci@1b700000[0]' [ 0.285918] of_get_named_gpiod_flags: parsed 'perst-gpio' property of node '/soc/pci@1b700000[0]' - status (0) [ 0.286006] 1b700000.pci supply vdda not found, using dummy regulator [ 0.286115] 1b700000.pci supply vdda_phy not found, using dummy regulator [ 0.286222] 1b700000.pci supply vdda_refclk not found, using dummy regulator [ 0.286691] PCI host bridge /soc/pci@1b700000 ranges: [ 0.286731] IO 0x31e00000..0x31efffff -> 0x31e00000 [ 0.286755] MEM 0x2e000000..0x31dfffff -> 0x2e000000 [ 0.319729] qcom-pcie 1b700000.pci: PCI host bridge to bus 0001:00 [ 0.319753] pci_bus 0001:00: root bus resource [bus 00-ff] [ 0.319772] pci_bus 0001:00: root bus resource [mem 0x2e000000-0x31dfffff] [ 0.319787] pci_bus 0001:00: scanning bus [ 0.319834] pci 0001:00:00.0: [17cb:0101] type 01 class 0x060400 [ 0.319943] pci 0001:00:00.0: calling pci_fixup_ide_bases+0x0/0x44 [ 0.320008] pci 0001:00:00.0: supports D1 [ 0.320024] pci 0001:00:00.0: PME# supported from D0 D1 D3hot [ 0.320044] pci 0001:00:00.0: PME# disabled [ 0.320421] pci_bus 0001:00: fixups for bus [ 0.320447] PCI: bus0: Fast back to back transfers disabled [ 0.320466] pci 0001:00:00.0: scanning [bus 01-01] behind bridge, pass 0 [ 0.320692] pci_bus 0001:01: scanning bus [ 0.320856] pci 0001:01:00.0: [168c:0040] type 00 class 0x028000 [ 0.321208] pci 0001:01:00.0: reg 0x10: [mem 0x00000000-0x001fffff 64bit] [ 0.321622] pci 0001:01:00.0: calling pci_fixup_ide_bases+0x0/0x44 [ 0.322148] pci 0001:01:00.0: PME# supported from D0 D3hot D3cold [ 0.322193] pci 0001:01:00.0: PME# disabled [ 0.322646] pci_bus 0001:01: fixups for bus [ 0.322716] PCI: bus1: Fast back to back transfers disabled [ 0.322731] pci_bus 0001:01: bus scan returning with max=01 [ 0.322754] pci 0001:00:00.0: scanning [bus 01-01] behind bridge, pass 1 [ 0.322779] pci_bus 0001:00: bus scan returning with max=01 [ 0.322827] pcieport 0000:00:00.0: fixup irq: got 132 [ 0.322843] pcieport 0000:00:00.0: assigning IRQ 132 [ 0.322911] pci 0000:01:00.0: fixup irq: got 132 [ 0.322928] pci 0000:01:00.0: assigning IRQ 132 [ 0.323005] pci 0001:00:00.0: fixup irq: got 165 [ 0.323020] pci 0001:00:00.0: assigning IRQ 165 [ 0.323089] pci 0001:01:00.0: fixup irq: got 165 [ 0.323104] pci 0001:01:00.0: assigning IRQ 165 [ 0.323165] pci 0001:00:00.0: BAR 8: assigned [mem 0x2e000000-0x2e1fffff] [ 0.323191] pci 0001:01:00.0: BAR 0: assigned [mem 0x2e000000-0x2e1fffff 64bit] [ 0.323305] pci 0001:00:00.0: PCI bridge to [bus 01] [ 0.323328] pci 0001:00:00.0: bridge window [mem 0x2e000000-0x2e1fffff] [ 0.323717] pcieport 0001:00:00.0: Signaling PME through PCIe PME interrupt [ 0.323734] pci 0001:01:00.0: Signaling PME through PCIe PME interrupt [ 0.323757] pcie_pme 0001:00:00.0:pcie01: service driver pcie_pme loaded [ 0.323987] aer 0001:00:00.0:pcie02: service driver aer loaded [ 0.327429] gsbi 16300000.gsbi: GSBI port protocol: 6 crci: 0 [ 0.328759] gsbi 1a200000.gsbi: GSBI port protocol: 3 crci: 0 [ 0.329846] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.335144] msm_serial 16340000.serial: msm_serial: detected port #0 [ 0.335269] msm_serial 16340000.serial: uartclk = 1843200 [ 0.335347] 16340000.serial: ttyMSM0 at MMIO 0x16340000 (irq = 166, base_baud = 115200) is a MSM [ 0.335394] msm_serial: console setup on port #0 [ 1.016609] console [ttyMSM0] enabled [ 1.021429] msm_serial: driver initialized [ 1.026511] spi_qup 1a280000.spi: IN:block:16, fifo:64, OUT:block:16, fifo:64 [ 1.028716] of_get_named_gpiod_flags: parsed 'cs-gpios' property of node '/soc/gsbi@1a200000/spi@1a280000[0]' - status (0) [ 1.030133] m25p80 spi32766.0: s25fl256s1 (32768 Kbytes) [ 1.036185] 25 ofpart partitions found on MTD device spi32766.0 [ 1.041199] Creating 25 MTD partitions on "spi32766.0": [ 1.046932] 0x000000000000-0x000000020000 : "SBL1" [ 1.064377] 0x000000020000-0x000000040000 : "MIBIB" [ 1.076233] 0x000000040000-0x000000060000 : "SBL2" [ 1.087986] 0x000000060000-0x000000090000 : "SBL3" [ 1.099759] 0x000000090000-0x0000000a0000 : "DDRCONFIG" [ 1.111551] 0x0000000a0000-0x0000000b0000 : "SSD" [ 1.123424] 0x0000000b0000-0x0000000e0000 : "TZ" [ 1.135323] 0x0000000e0000-0x000000100000 : "RPM" [ 1.147150] 0x000000100000-0x000000170000 : "fs-uboot" [ 1.158977] 0x000000170000-0x0000001b0000 : "uboot-env" [ 1.170784] 0x0000001b0000-0x0000001f0000 : "radio" [ 1.182605] 0x0000001f0000-0x0000003f0000 : "os-image" [ 1.194394] 0x0000003f0000-0x000001ef0000 : "rootfs" [ 1.206170] mtd: device 12 (rootfs) set to be root filesystem [ 1.206466] 1 squashfs-split partitions found on MTD device rootfs [ 1.210900] 0x0000006d0000-0x000001ef0000 : "rootfs_data" [ 1.228957] 0x000001ef0000-0x000001ef0200 : "default-mac" [ 1.240853] 0x000001ef0200-0x000001ef0400 : "pin" [ 1.252664] 0x000001ef0400-0x000001f00000 : "product-info" [ 1.264481] 0x000001f00000-0x000001f10000 : "partition-table" [ 1.276305] 0x000001f10000-0x000001f20000 : "soft-version" [ 1.277846] 0x000001f20000-0x000001f30000 : "support-list" [ 1.282274] 0x000001f30000-0x000001f40000 : "profile" [ 1.287669] 0x000001f40000-0x000001f50000 : "default-config" [ 1.292877] 0x000001f50000-0x000001f90000 : "user-config" [ 1.308894] 0x000001f90000-0x000001fd0000 : "qos-db" [ 1.320733] 0x000001fd0000-0x000001fe0000 : "usb-config" [ 1.332537] 0x000001fe0000-0x000002000000 : "log" [ 1.334887] libphy: Fixed MDIO Bus: probed [ 1.336538] of_get_named_gpiod_flags: parsed 'gpios' property of node '/soc/mdio[0]' - status (0) [ 1.336566] of_get_named_gpiod_flags: parsed 'gpios' property of node '/soc/mdio[1]' - status (0) [ 1.336587] of_get_named_gpiod_flags: can't parse 'gpios' property of node '/soc/mdio[2]' [ 1.336788] libphy: GPIO Bitbanged MDIO: probed [ 1.365116] switch0: Atheros AR8337 rev. 2 switch registered on gpio-0 [ 1.633168] of_get_named_gpiod_flags: can't parse 'link-gpios' property of node '/soc/ethernet@37200000/fixed-link[0]' [ 1.633954] stmmac - user ID: 0x10, Synopsys ID: 0x37 [ 1.633986] Ring mode enabled [ 1.637982] DMA HW capability register supported [ 1.640938] Enhanced/Alternate descriptors [ 1.645755] Enabled extended descriptors [ 1.649704] RX Checksum Offload Engine supported (type 2) [ 1.654007] TX Checksum insertion supported [ 1.659251] Wake-Up On Lan supported [ 1.663894] Enable RX Mitigation via HW Watchdog Timer [ 1.668464] of_get_named_gpiod_flags: can't parse 'link-gpios' property of node '/soc/ethernet@37400000/fixed-link[0]' [ 1.669146] stmmac - user ID: 0x10, Synopsys ID: 0x37 [ 1.672432] Ring mode enabled [ 1.677476] DMA HW capability register supported [ 1.680432] Enhanced/Alternate descriptors [ 1.685240] Enabled extended descriptors [ 1.689198] RX Checksum Offload Engine supported (type 2) [ 1.693515] TX Checksum insertion supported [ 1.698747] Wake-Up On Lan supported [ 1.703361] Enable RX Mitigation via HW Watchdog Timer [ 1.707540] i2c /dev entries driver [ 1.713240] Speed bin: 0 [ 1.715237] PVS bin: 1 [ 1.720536] L2 @ QSB rate. Forcing new rate. [ 1.720694] L2 @ 384000 KHz [ 1.724921] CPU0 @ 800000 KHz [ 1.727132] CPU1 @ QSB rate. Forcing new rate. [ 1.730340] CPU1 @ 384000 KHz [ 1.736264] NET: Registered protocol family 10 [ 1.739380] NET: Registered protocol family 17 [ 1.742216] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.746739] 8021q: 802.1Q VLAN Support v1.8 [ 1.759347] Registering SWP/SWPB emulation handler [ 1.770942] hctosys: unable to open rtc device (rtc0) [ 1.787608] VFS: Mounted root (squashfs filesystem) readonly on device 31:12. [ 1.787796] Freeing unused kernel memory: 204K (c07c1000 - c07f4000) [ 1.963474] random: nonblocking pool is initialized [ 3.003566] init: Console is alive [ 3.003713] init: - watchdog - [ 4.880544] usbcore: registered new interface driver usbfs [ 4.880622] usbcore: registered new interface driver hub [ 4.885141] usbcore: registered new device driver usb [ 4.897743] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys/wifi[0]' - status (0) [ 4.897767] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys/reset[0]' - status (0) [ 4.897783] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys/wps[0]' - status (0) [ 4.897798] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-keys/ledgeneral[0]' - status (0) [ 4.901263] SCSI subsystem initialized [ 4.903241] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 4.904329] ehci-platform: EHCI generic platform driver [ 4.912712] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 4.915988] ohci-platform: OHCI generic platform driver [ 5.408478] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 5.408527] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1 [ 5.413173] xhci-hcd xhci-hcd.0.auto: hcc params 0x0228f065 hci version 0x100 quirks 0x00010010 [ 5.420561] xhci-hcd xhci-hcd.0.auto: irq 168, io mem 0x11000000 [ 5.429849] hub 1-0:1.0: USB hub found [ 5.435508] hub 1-0:1.0: 1 port detected [ 5.439252] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller [ 5.443074] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2 [ 5.448354] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM. [ 5.456447] hub 2-0:1.0: USB hub found [ 5.464248] hub 2-0:1.0: 1 port detected [ 5.468103] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 5.471887] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 3 [ 5.477256] xhci-hcd xhci-hcd.1.auto: hcc params 0x0228f065 hci version 0x100 quirks 0x00010010 [ 5.484746] xhci-hcd xhci-hcd.1.auto: irq 169, io mem 0x10000000 [ 5.493934] hub 3-0:1.0: USB hub found [ 5.499593] hub 3-0:1.0: 1 port detected [ 5.503527] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller [ 5.507218] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 4 [ 5.512668] usb usb4: We don't know the algorithms for LPM for this host, disabling LPM. [ 5.520596] hub 4-0:1.0: USB hub found [ 5.528475] hub 4-0:1.0: 1 port detected [ 5.533103] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/lan[0]' - status (0) [ 5.533226] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/usb4[0]' - status (0) [ 5.533329] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/usb2[0]' - status (0) [ 5.533422] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/wps[0]' - status (0) [ 5.533510] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/wan_blue[0]' - status (0) [ 5.533603] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/status[0]' - status (0) [ 5.533701] of_get_named_gpiod_flags: parsed 'gpios' property of node '/gpio-leds/ledgnr[0]' - status (0) [ 5.535133] usbcore: registered new interface driver usb-storage [ 5.541315] init: - preinit - [ 5.888513] usb 3-1: new high-speed USB device number 2 using xhci-hcd [ 6.024820] usb-storage 3-1:1.0: USB Mass Storage device detected [ 6.035320] scsi host0: usb-storage 3-1:1.0 [ 7.045942] scsi 0:0:0:0: Direct-Access WDC WD15 EARS-00MVWB0 AB51 PQ: 0 ANSI: 2 CCS [ 7.047336] sd 0:0:0:0: [sda] 2930275055 512-byte logical blocks: (1.50 TB/1.36 TiB) [ 7.054105] sd 0:0:0:0: [sda] Write Protect is off [ 7.061171] sd 0:0:0:0: [sda] Mode Sense: 00 38 00 00 [ 7.061699] sd 0:0:0:0: [sda] Asking for cache data failed [ 7.065872] sd 0:0:0:0: [sda] Assuming drive cache: write through [ 7.089722] sda: sda1 sda2 sda3 sda4 [ 7.093002] sd 0:0:0:0: [sda] Attached SCSI disk [ 8.392119] ipq806x-gmac-dwmac 37400000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off [ 9.528118] mount_root: loading kmods from internal overlay [ 11.803122] jffs2: notice: (145) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 11.807111] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab [ 11.831647] block: extroot: not configured [ 12.602397] jffs2: notice: (142) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 12.608037] mount_root: loading kmods from internal overlay [ 15.020562] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab [ 15.025038] block: extroot: not configured [ 15.052977] mount_root: switching to jffs2 overlay [ 15.065987] urandom-seed: Seeding with /etc/urandom.seed [ 15.139207] procd: - early - [ 15.139279] procd: - watchdog - [ 15.753728] procd: - ubus - [ 15.805367] procd: - init - [ 15.949330] ip6_tables: (C) 2000-2006 Netfilter Core Team [ 15.954508] Loading modules backported from Linux version wt-2016-06-20-0-gbc17424 [ 15.954542] Backport generated by backports.git backports-20160216-7-g5735958 [ 15.993204] ath10k_pci 0000:01:00.0: enabling device (0140 -> 0142) [ 15.993295] ath10k_pci 0000:01:00.0: enabling bus mastering [ 15.993769] ath10k_pci 0000:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 [ 16.126945] ath10k_pci 0000:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0000:01:00.0.bin failed with error -2 [ 16.126983] ath10k_pci 0000:01:00.0: Falling back to user helper [ 17.155370] firmware ath10k!pre-cal-pci-0000:01:00.0.bin: firmware_loading_store: map pages failed [ 17.763291] ath10k_pci 0000:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002 [ 17.763328] ath10k_pci 0000:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1 [ 17.773068] ath10k_pci 0000:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01 [ 17.779951] ath10k_pci 0000:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0040,subsystem-vendor=168c,subsystem-device=0002 from ath10k/QCA99X0/hw2.0/board-2.bin [ 17.789272] ath10k_pci 0000:01:00.0: board_file api 1 bmi_id N/A crc32 7e56fd07 [ 18.973235] ath10k_pci 0000:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1 [ 19.035116] ath: EEPROM regdomain: 0x0 [ 19.035125] ath: EEPROM indicates default country code should be used [ 19.035132] ath: doing EEPROM country->regdmn map search [ 19.035141] ath: country maps to regdmn code: 0x3a [ 19.035148] ath: Country alpha2 being used: US [ 19.035154] ath: Regpair used: 0x3a [ 19.050584] ath10k_pci 0001:01:00.0: enabling device (0140 -> 0142) [ 19.050688] ath10k_pci 0001:01:00.0: enabling bus mastering [ 19.051170] ath10k_pci 0001:01:00.0: pci irq msi oper_irq_mode 2 irq_mode 0 reset_mode 0 [ 19.183351] ath10k_pci 0001:01:00.0: Direct firmware load for ath10k/pre-cal-pci-0001:01:00.0.bin failed with error -2 [ 19.183388] ath10k_pci 0001:01:00.0: Falling back to user helper [ 19.208950] firmware ath10k!pre-cal-pci-0001:01:00.0.bin: firmware_loading_store: map pages failed [ 19.213513] ath10k_pci 0001:01:00.0: qca99x0 hw2.0 target 0x01000000 chip_id 0x003b01ff sub 168c:0002 [ 19.216807] ath10k_pci 0001:01:00.0: kconfig debug 0 debugfs 1 tracing 0 dfs 1 testmode 1 [ 19.227954] ath10k_pci 0001:01:00.0: firmware ver 10.4.1.00030-1 api 5 features no-p2p crc32 d2901e01 [ 19.234507] ath10k_pci 0001:01:00.0: failed to fetch board data for bus=pci,vendor=168c,device=0040,subsystem-vendor=168c,subsystem-device=0002 from ath10k/QCA99X0/hw2.0/board-2.bin [ 19.243684] ath10k_pci 0001:01:00.0: board_file api 1 bmi_id N/A crc32 7e56fd07 [ 20.428647] ath10k_pci 0001:01:00.0: htt-ver 2.2 wmi-op 6 htt-op 4 cal file max-sta 512 raw 0 hwcrypto 1 [ 20.485638] ath: EEPROM regdomain: 0x0 [ 20.485646] ath: EEPROM indicates default country code should be used [ 20.485652] ath: doing EEPROM country->regdmn map search [ 20.485661] ath: country maps to regdmn code: 0x3a [ 20.485668] ath: Country alpha2 being used: US [ 20.485675] ath: Regpair used: 0x3a [ 20.492108] ip_tables: (C) 2000-2006 Netfilter Core Team [ 20.495981] nf_conntrack version 0.5.0 (7510 buckets, 30040 max) [ 20.598928] xt_time: kernel timezone is -0000 [ 20.602620] PPP generic driver version 2.4.2 [ 20.603266] NET: Registered protocol family 24 [ 23.245823] device eth1 entered promiscuous mode [ 23.248538] IPv6: ADDRCONF(NETDEV_UP): br-lan: link is not ready [ 25.221939] ipq806x-gmac-dwmac 37400000.ethernet eth1: Link is Up - 1Gbps/Full - flow control off [ 25.251927] ipq806x-gmac-dwmac 37200000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off [ 26.492501] IPv6: ADDRCONF(NETDEV_UP): wlan0: link is not ready [ 26.492574] br-lan: port 1(eth1) entered forwarding state [ 26.497257] br-lan: port 1(eth1) entered forwarding state [ 26.510429] device wlan0 entered promiscuous mode [ 26.511224] IPv6: ADDRCONF(NETDEV_CHANGE): br-lan: link becomes ready [ 27.975188] IPv6: ADDRCONF(NETDEV_UP): wlan1: link is not ready [ 27.993478] device wlan1 entered promiscuous mode [ 28.125087] ath10k_pci 0001:01:00.0: no channel configured; ignoring frame(s)! [ 28.126407] ath10k_pci 0001:01:00.0: no channel configured; ignoring frame(s)! [ 28.131234] ath10k_pci 0001:01:00.0: no channel configured; ignoring frame(s)! [ 28.138546] ath10k_pci 0001:01:00.0: no channel configured; ignoring frame(s)! [ 28.364942] ath10k_pci 0001:01:00.0: no channel configured; ignoring frame(s)! [ 28.492129] br-lan: port 1(eth1) entered forwarding state [ 28.816855] IPv6: ADDRCONF(NETDEV_CHANGE): wlan0: link becomes ready [ 28.816991] br-lan: port 2(wlan0) entered forwarding state [ 28.822373] br-lan: port 2(wlan0) entered forwarding state [ 28.827740] IPv6: ADDRCONF(NETDEV_CHANGE): wlan1: link becomes ready [ 28.833253] br-lan: port 3(wlan1) entered forwarding state [ 28.839590] br-lan: port 3(wlan1) entered forwarding state [ 30.825418] br-lan: port 2(wlan0) entered forwarding state [ 30.831817] br-lan: port 3(wlan1) entered forwarding state Informacje o procesorze: # cat /proc/cpuinfo processor : 0 model name : ARMv7 Processor rev 0 (v7l) BogoMIPS : 21.87 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x2 CPU part : 0x04d CPU revision : 0 processor : 1 model name : ARMv7 Processor rev 0 (v7l) BogoMIPS : 45.57 Features : half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 CPU implementer : 0x51 CPU architecture: 7 CPU variant : 0x2 CPU part : 0x04d CPU revision : 0 Hardware : Qualcomm (Flattened Device Tree) Revision : 0000 Serial : 0000000000000000 Porty USB: root@lede:~# cat /sys/kernel/debug/usb/devices T: Bus=04 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1 P: Vendor=1d6b ProdID=0003 Rev= 4.04 S: Manufacturer=Linux 4.4.19 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=xhci-hcd.1.auto C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=03 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 4.04 S: Manufacturer=Linux 4.4.19 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=xhci-hcd.1.auto C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=5000 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 3.00 Cls=09(hub ) Sub=00 Prot=03 MxPS= 9 #Cfgs= 1 P: Vendor=1d6b ProdID=0003 Rev= 4.04 S: Manufacturer=Linux 4.4.19 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=xhci-hcd.0.auto C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 4.04 S: Manufacturer=Linux 4.4.19 xhci-hcd S: Product=xHCI Host Controller S: SerialNumber=xhci-hcd.0.auto C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms Informacje o WiFi: root@lede:~# iw list Wiphy phy1 max # scan SSIDs: 16 max scan IEs length: 209 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Available Antennas: TX 0xf RX 0xf Configured Antennas: TX 0xf RX 0xf Supported interface modes: * managed * AP * AP/VLAN * monitor * mesh point Band 1: Capabilities: 0x19ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-31 Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) valid interface combinations: * #{ managed } <= 1, #{ AP, mesh point } <= 16, total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz } HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports VHT-IBSS. Wiphy phy0 max # scan SSIDs: 16 max scan IEs length: 199 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Available Antennas: TX 0xf RX 0xf Configured Antennas: TX 0xf RX 0xf Supported interface modes: * managed * AP * AP/VLAN * monitor * mesh point Band 2: Capabilities: 0x19ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-31 VHT Capabilities (0x339b79b2): Max MPDU length: 11454 Supported Channel Width: neither 160 nor 80+80 RX LDPC short GI (80 MHz) TX STBC SU Beamformer SU Beamformee MU Beamformer MU Beamformee RX antenna pattern consistency TX antenna pattern consistency VHT RX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: MCS 0-9 4 streams: MCS 0-9 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT RX highest supported: 0 Mbps VHT TX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: MCS 0-9 4 streams: MCS 0-9 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT TX highest supported: 0 Mbps Frequencies: * 5180 MHz [36] (20.0 dBm) * 5200 MHz [40] (20.0 dBm) * 5220 MHz [44] (20.0 dBm) * 5240 MHz [48] (20.0 dBm) * 5260 MHz [52] (20.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5280 MHz [56] (20.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5300 MHz [60] (20.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5320 MHz [64] (20.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5500 MHz [100] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5520 MHz [104] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5540 MHz [108] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5560 MHz [112] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5580 MHz [116] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5600 MHz [120] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5620 MHz [124] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5640 MHz [128] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5660 MHz [132] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5680 MHz [136] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5700 MHz [140] (27.0 dBm) (radar detection) DFS state: usable (for 438 sec) DFS CAC time: 60000 ms * 5720 MHz [144] (disabled) * 5745 MHz [149] (disabled) * 5765 MHz [153] (disabled) * 5785 MHz [157] (disabled) * 5805 MHz [161] (disabled) * 5825 MHz [165] (disabled) valid interface combinations: * #{ managed } <= 1, #{ AP, mesh point } <= 16, total <= 16, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz } HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports VHT-IBSS.
  11. Coraz więcej użytkowników migruje od lokalnych providerów internetowych na technologię LTE, która zapewnia nam połączenie z siecią globalną niezależnie od naszej fizycznej lokalizacji. Do obsługi LTE potrzebny jest odpowiedni modem lub router WiFi, który już ma taki modem wbudowany. Jeśli posiadamy modem LTE, to może się pojawić problem z udostępnianiem połączenia, np. w sieci domowej. Jakby nie patrzeć taki modem jest przeznaczony na jedno urządzenie. Oczywiście w dalszym ciągu możemy przerobić nasz router WiFi i dodać do niego obsługę modemów LTE ale takie rozwiązanie wymaga firmware OpenWRT/LEDE. Istnieje prostsza alternatywa, która, można by rzec, działa OOTB i nie trzeba się zbytnio wysilać przy jej implementacji. Musimy jednak posiadać odpowiednie urządzenie. W tym artykule obadamy sobie przenośny router 3G/4G TL-MR3020 od TP-LINK. Zawartość opakowania Opakowanie routera TL-MR3020 jest dość spore ale to z tego powodu, że do zestawu jest dołączonych jeszcze kilka rzeczy. Poniżej fotki zawartości pudełka: Jak widzimy wyżej, poza samym routerem, mamy jeszcze dołączony płaski przewód ethernet CAT5: Mamy także biały zasilacz (5V/1A), do którego możemy podłączyć przewód USB: Router można zasilać na kilka sposobów. Najpopularniejszym jest oczywiście podłączenie zasilacza. Ten przewód w zestawie jest zakończony z jednej strony wtykiem mini USB (do gniazda w routerze), a drugiej strony ma dwie standardowe wtyki USB typ A. Jedną z nich podłączamy do zasilacza, a zasilacz wpinamy do gniazdka. Po co nam dwie wtyczki USB na tym przewodzie? Otóż w przypadku braku dostępu do gniazdka, możemy posiłkować się portami USB w komputerze. Niemniej jednak, standardowy port USB 2.0 dysponuje natężeniem 0,5 A i może okazać się to niewystarczające, by router działał stabilnie, zwłaszcza po podłączeniu modemu LTE lub/i odpaleniu WiFi. W takim przypadku, router będzie potrzebował więcej niż 0,5 A. Dlatego właśnie są dwie wtyczki, które możemy podłączyć do dwóch portów USB i w ten sposób zasilić router. Jeśli dysponujemy power bankiem, np. takim jak ten ostatnio recenzowany TL-PB10400, to za jego pomocą również jesteśmy w stanie zasilić router TL-MR3020: Zakładając, że ten router będzie konsumował średnio 1 A (z podłączonym modemem LTE), to ten power bank jest w stanie go zasilać przez jakieś 10 godzin. Przyda się to na wypadek chwilowej awarii zasilania w okolicy. W opakowaniu routera mamy jeszcze instrukcję obsługi, również w języku polskim oraz płytkę CD, na której jest dołączona bardziej rozbudowana instrukcja obsługi, z tym, że już w języku angielskim (format .pdf ). Specyfikacja routera TL-MR3020 Router TL-MR3020 jest bardzo niewielkich rozmiarów: 74x67x22 milimetrów i waży dosłownie kilka gram. Na jego obudowie mamy widocznych kilka diod: Licząc od lewej strony, diody sygnalizują stan zasilania, stan połączenia z internetem, stan WiFi, stan portu ethernet oraz stan WPS. Dioda WPS robi także za przycisk WPS/RESET. Jeśli ten przycisk zostanie przytrzymany przez czas do 5 sekund, to zadziała funkcja WPS. W przypadku przytrzymania przycisku przez 10 sekund i więcej, router zostanie zresetowany do ustawień fabrycznych. Na dwóch z czterech boków routera TL-MR3020 mamy szereg gniazdek i jeden przełącznik: Przełącznik jest w stanie przestawić tryb pracy routera. Mamy z grubsza trzy tryby do wyboru: 3G/4G (LTE), WISP (Wireless ISP) oraz AP (punkt dostępowy). Dalej mamy port fast ethernet (100 mbit/s) oraz gniazdo do podłączenia zasilacza. Na drugim boku zaś mamy złącze USB 2.0 , do którego możemy podłączyć jedynie modem LTE. Nie damy rady podłączyć tutaj pendrive, przynajmniej nie na oryginalnym firmware. W przypadku wgrania OpenWRT/LEDE, ten port będzie zachowywał się jak zwykły port USB i będziemy w stanie podłączyć do niego każde urządzenie. Router TL-MR3020 ma kilka różnych wersji, a ten który trafił do mnie ma wersję 1.9. Wewnątrz obudowy znajduje się układ WiSoC AR9331 (Wi-Fi System-On-Chip) od Qualcomm Atheros z procesorem o taktowaniu 400 MHz. Ten router posiada także układ WiFi pracujący w paśmie 2,4 GHz (standard N do 150 mbit/s). Brak zewnętrznej anteny odbija się także dość mocno na zasięgu WiFi. Pamięć operacyjna RAM tego urządzenia to 32 MiB. Natomiast flash jest rozmiarów jedynie 4 MiB. Nie są to może jakieś pokaźne gabaryty ale z racji swojej funkcjonalności i minimalistycznych rozmiarów, ten router ma nieco inne przeznaczenie w stosunku do swoich standardowych kolegów zapewniających nam dostęp do internetu w naszych domach. Router TL-MR3020 nadaje się wręcz idealnie jako urządzenie zapasowe, na wypadek awarii głównego routera. Poza tym, to urządzenie pobiera niezmiernie mało energii, średnio w granicach 0,6 W. Poniżej są fotki podzespołów. WiSoC AR9331: Pamięć RAM Windbond W9425G6JH: Flash Windbond 26232FVSIG: Konfiguracja routera TL-MR3020 Router możemy konfigurować przez panel administracyjny dostępny pod adresem 192.168.0.254 . Każdorazowe przełączenie trybu za pomocą przełącznika na obudowie zrestartuje router w celu zaaplikowania nowego trybu pracy. Część ustawień poszczególnych trybów pracy, jak nazwa ESSID i hasło sieci WiFi czy konfiguracja adresacji zostanie zapisana w routerze i przetrwa taki restart. Część pozostałych opcji zostanie zresetowana do ustawień domyślnych dla danego trybu pracy. Tryby routera możemy zmieniać także z poziomu panela administracyjnego. Musimy tylko aktywować opcję "Software Switch": Wyżej mamy informację, że po aktywowaniu tej funkcji, fizyczny przycisk przełączający tryby urządzenia na routerze zostanie dezaktywowany. Zatem mamy do wyboru przełączanie trybu za pomocą przycisków lub z poziomu panela administracyjnego i nie można korzystać z obu tych rozwiązań jednocześnie. Router ma trzy główne tryby pracy. Są to 3G/4G (LTE), WISP (Wireless ISP) oraz AP. Tryb AP zaś ma cztery mniejsze tryby: punkt dostępowy, repeater, bridge + AP oraz zwykły klient. Każdy z tych trybów ma swoje indywidualne opcje w panelu administracyjnym, które możemy sobie dowolnie skonfigurować. Tryb AP W trybie AP nie działa serwer DHCP routera, a port ethernet jest skonfigurowany jako WAN. Możemy jednak podłączyć do niego komputer za pomocą skrętki, z tym, że musimy ustawić statyczną konfigurację sieci 192.168.0.0/24 . Po podłączeniu możemy przejść do panela administracyjnego. Tam z kolei wchodzimy w Quick Setup i możemy zacząć konfigurować poszczególne tryby AP: W przypadku trybu AP, z routerem łączymy się zwykle przez WiFi. Adres IP otrzymamy z serwera DHCP sieci, do której jest podłączony router za pomocą poru WAN. Jest też zdjęty firewall i inne tego typu zabezpieczenia. Nie następuje także translacja adresów (NAT). Tryb WISP (Wireless ISP) Router w trybie WISP jest w stanie podłączyć się do sieci bezprzewodowej i udostępnić połączenie tak jak zwykły router WiFi. W tym przypadku port ethernet robi za port LAN, przez który możemy podłączyć się przewodowo do routera i nim zarządzać przez panel administracyjny. W panelu mamy możliwość skonfigurowania zarówno klienta sieci WiFi jak i samego AP, za pomocą którego będziemy mogli się łączyć z routerem również bezprzewodowo. Hasło do AP routera możemy ustawić w opcjach bezpieczeństwa sieci WiFi. Jeśli tego nie zrobimy, to domyślnie obowiązuje hasło to, które jest nadrukowane na obudowie routera TL-MR3020. Router w trybie WISP dysponuje serwerem DHCP, zatem nie musimy ręcznie konfigurować połączenia na klientach. Firewall i inne mechanizmy bezpieczeństwa są włączone. Translacja adresów (NAT) również występuje. Tryb 3G/4G (LTE) W routerze TL-MR3020 mamy jeden port USB, który jest przeznaczony na modem LTE. Jeśli dysponujemy takim urządzeniem, to możemy je podłączyć do tego portu, a router przełączyć w tryb 3G/4G. Router powinien skonfigurować automatycznie połączenie LTE. Ciekawą opcją jest możliwość skonfigurowania routera na dwóch ISP -- jednego przewodowego i jednego 3G/4G. W prawdzie tylko jedno połączenie może być wykorzystywane w danej chwili ale w przypadku braku sygnału LTE powinno nastąpić przełączenie na internet z portu WAN. Podobnie też w drugą stronę, w zależności od ustawionych preferencji: Oczywiście możemy zabronić takiego trybu failover i korzystać jedynie z łącza przewodowego lub LTE. W tym pierwszym przypadku, port ethernet zostanie skonfigurowany jako WAN, a w tym drugim jako LAN i będziemy w stanie podłączyć do niego jakiś komputer. Naturalnie sieć WiFi routera działa cały czas i można się również łączyć z tym urządzeniem bezprzewodowo. Jedyny problem na jaki możemy natrafić w trybie 3G/4G, to niewspierany modem LTE. Ten modem, którym ja dysponuję, tj. Huawei E3372s w wersji NON-HiLink, bez problemu współpracuje z tym routerem. Lista wspieranych modeli modemów LTE jest dostępna pod tym linkiem. Jeśli nasz modem jest na liście ale nie działa po podpięciu do routera, to prawdopodobnie powinniśmy zaktualizować firmware routera. Domyślnie mamy szereg predefiniowanych operatorów GSM (w zależności od kraju): Jeśli nie ma na tej liście tego operatora, z którego usług korzystamy, to zawsze ręcznie możemy określić parametry połączenia: WPS Router TL-MR3020 dysponuje przyciskiem WPS i jest możliwość za jego pomocą podłączyć klientów do sieci WiFi. Standardowo router obsługuje parowanie przez PIN jak i PBC. Przydałoby się ten PIN jak najszybciej wyłączyć i ustawić jedynie parowanie za pomocą przycisków: Wsparcie OpenWRT/LEDE dla routera TL-MR3020 Router TL-MR3020 jest wspierany przez alternatywny firmware OpenWRT/LEDE i nie powinno być z nim większych problemów. Poniżej znajduje się wynik kilku poleceń. Log systemowy: # dmesg [ 0.000000] Linux version 3.18.36 (cezary@eko.one.pl) (gcc version 4.8.3 (OpenWrt/Linaro GCC 4.8-2014.04 r46943) ) #54 Sat Jul 9 07:46:06 CEST 2016 [ 0.000000] MyLoader: sysp=5306ac2e, boardp=8e303482, parts=f904f9ea [ 0.000000] bootconsole [early0] enabled [ 0.000000] CPU0 revision is: 00019374 (MIPS 24Kc) [ 0.000000] SoC: Atheros AR9330 rev 1 [ 0.000000] Determined physical RAM map: [ 0.000000] memory: 02000000 @ 00000000 (usable) [ 0.000000] Initrd not found or empty - disabling initrd [ 0.000000] Zone ranges: [ 0.000000] Normal [mem 0x00000000-0x01ffffff] [ 0.000000] Movable zone start for each node [ 0.000000] Early memory node ranges [ 0.000000] node 0: [mem 0x00000000-0x01ffffff] [ 0.000000] Initmem setup node 0 [mem 0x00000000-0x01ffffff] [ 0.000000] On node 0 totalpages: 8192 [ 0.000000] free_area_init_node: node 0, pgdat 8037c2b0, node_mem_map 81000000 [ 0.000000] Normal zone: 64 pages used for memmap [ 0.000000] Normal zone: 0 pages reserved [ 0.000000] Normal zone: 8192 pages, LIFO batch:0 [ 0.000000] Primary instruction cache 64kB, VIPT, 4-way, linesize 32 bytes. [ 0.000000] Primary data cache 32kB, 4-way, VIPT, cache aliases, linesize 32 bytes [ 0.000000] pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 [ 0.000000] pcpu-alloc: [0] 0 [ 0.000000] Built 1 zonelists in Zone order, mobility grouping on. Total pages: 8128 [ 0.000000] Kernel command line: board=TL-MR3020 console=ttyATH0,115200 rootfstype=squashfs,jffs2 noinitrd [ 0.000000] PID hash table entries: 128 (order: -3, 512 bytes) [ 0.000000] Dentry cache hash table entries: 4096 (order: 2, 16384 bytes) [ 0.000000] Inode-cache hash table entries: 2048 (order: 1, 8192 bytes) [ 0.000000] Writing ErrCtl register=00000000 [ 0.000000] Readback ErrCtl register=00000000 [ 0.000000] Memory: 28324K/32768K available (2606K kernel code, 128K rwdata, 544K rodata, 232K init, 193K bss, 4444K reserved) [ 0.000000] SLUB: HWalign=32, Order=0-3, MinObjects=0, CPUs=1, Nodes=1 [ 0.000000] NR_IRQS:51 [ 0.000000] Clocks: CPU:400.000MHz, DDR:400.000MHz, AHB:200.000MHz, Ref:25.000MHz [ 0.000000] Calibrating delay loop... 265.42 BogoMIPS (lpj=1327104) [ 0.080000] pid_max: default: 32768 minimum: 301 [ 0.080000] Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.090000] Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) [ 0.100000] NET: Registered protocol family 16 [ 0.100000] MIPS: machine is TP-LINK TL-MR3020 [ 0.370000] Switched to clocksource MIPS [ 0.370000] NET: Registered protocol family 2 [ 0.380000] TCP established hash table entries: 1024 (order: 0, 4096 bytes) [ 0.380000] TCP bind hash table entries: 1024 (order: 0, 4096 bytes) [ 0.390000] TCP: Hash tables configured (established 1024 bind 1024) [ 0.390000] TCP: reno registered [ 0.390000] UDP hash table entries: 256 (order: 0, 4096 bytes) [ 0.400000] UDP-Lite hash table entries: 256 (order: 0, 4096 bytes) [ 0.410000] NET: Registered protocol family 1 [ 0.410000] PCI: CLS 0 bytes, default 32 [ 0.410000] futex hash table entries: 256 (order: -1, 3072 bytes) [ 0.430000] squashfs: version 4.0 (2009/01/31) Phillip Lougher [ 0.430000] jffs2: version 2.2 (NAND) (SUMMARY) (LZMA) (RTIME) (CMODE_PRIORITY) (c) 2001-2006 Red Hat, Inc. [ 0.440000] msgmni has been set to 55 [ 0.440000] io scheduler noop registered [ 0.450000] io scheduler deadline registered (default) [ 0.450000] Serial: 8250/16550 driver, 16 ports, IRQ sharing enabled [ 0.460000] ar933x-uart: ttyATH0 at MMIO 0x18020000 (irq = 11, base_baud = 1562500) is a AR933X UART [ 0.470000] console [ttyATH0] enabled [ 0.480000] bootconsole [early0] disabled [ 0.490000] m25p80 spi0.0: found w25q32, expected m25p80 [ 0.490000] m25p80 spi0.0: w25q32 (4096 Kbytes) [ 0.500000] 5 tp-link partitions found on MTD device spi0.0 [ 0.500000] Creating 5 MTD partitions on "spi0.0": [ 0.510000] 0x000000000000-0x000000020000 : "u-boot" [ 0.510000] 0x000000020000-0x000000141b28 : "kernel" [ 0.520000] 0x000000141b28-0x0000003f0000 : "rootfs" [ 0.520000] mtd: device 2 (rootfs) set to be root filesystem [ 0.530000] 1 squashfs-split partitions found on MTD device rootfs [ 0.530000] 0x000000390000-0x0000003f0000 : "rootfs_data" [ 0.540000] 0x0000003f0000-0x000000400000 : "art" [ 0.540000] 0x000000020000-0x0000003f0000 : "firmware" [ 0.580000] libphy: ag71xx_mdio: probed [ 1.170000] ag71xx ag71xx.0: connected to PHY at ag71xx-mdio.1:04 [uid=004dd041, driver=Generic PHY] [ 1.180000] eth0: Atheros AG71xx at 0xb9000000, irq 4, mode:MII [ 1.180000] TCP: cubic registered [ 1.180000] NET: Registered protocol family 17 [ 1.190000] bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this. [ 1.200000] Bridge firewalling registered [ 1.210000] 8021q: 802.1Q VLAN Support v1.8 [ 1.210000] drivers/rtc/hctosys.c: unable to open rtc device (rtc0) [ 1.220000] VFS: Mounted root (squashfs filesystem) readonly on device 31:2. [ 1.230000] Freeing unused kernel memory: 232K (80396000 - 803d0000) [ 2.530000] init: Console is alive [ 2.530000] init: - watchdog - [ 4.620000] usbcore: registered new interface driver usbfs [ 4.630000] usbcore: registered new interface driver hub [ 4.630000] usbcore: registered new device driver usb [ 4.690000] SCSI subsystem initialized [ 4.700000] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver [ 4.700000] ehci-platform: EHCI generic platform driver [ 4.710000] ehci-platform ehci-platform: EHCI Host Controller [ 4.710000] ehci-platform ehci-platform: new USB bus registered, assigned bus number 1 [ 4.720000] ehci-platform ehci-platform: irq 3, io mem 0x1b000000 [ 4.750000] ehci-platform ehci-platform: USB 2.0 started, EHCI 1.00 [ 4.750000] hub 1-0:1.0: USB hub found [ 4.750000] hub 1-0:1.0: 1 port detected [ 4.760000] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver [ 4.770000] ohci-platform: OHCI generic platform driver [ 4.780000] usbcore: registered new interface driver usb-storage [ 5.600000] init: - preinit - [ 6.360000] random: procd urandom read with 10 bits of entropy available [ 8.500000] eth0: link up (100Mbps/Full duplex) [ 9.740000] mount_root: loading kmods from internal overlay [ 10.110000] jffs2: notice: (380) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 10.130000] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab [ 10.140000] block: extroot: not configured [ 10.170000] jffs2: notice: (377) jffs2_build_xattr_subsystem: complete building xattr subsystem, 0 of xdatum (0 unchecked, 0 orphan) and 0 of xref (0 dead, 0 orphan) found. [ 10.320000] block: attempting to load /tmp/jffs_cfg/upper/etc/config/fstab [ 10.330000] block: extroot: not configured [ 10.340000] mount_root: switching to jffs2 overlay [ 10.380000] eth0: link down [ 10.390000] procd: - early - [ 10.390000] procd: - watchdog - [ 11.290000] procd: - ubus - [ 12.300000] procd: - init - [ 13.240000] Loading modules backported from Linux version v4.4-rc5-1913-gc8fdf68 [ 13.250000] Backport generated by backports.git backports-20151218-0-g2f58d9d [ 13.270000] nf_conntrack version 0.5.0 (446 buckets, 1784 max) [ 13.320000] xt_time: kernel timezone is -0000 [ 13.370000] ip_tables: (C) 2000-2006 Netfilter Core Team [ 13.450000] PPP generic driver version 2.4.2 [ 13.460000] NET: Registered protocol family 24 [ 13.530000] ath: EEPROM regdomain: 0x0 [ 13.530000] ath: EEPROM indicates default country code should be used [ 13.530000] ath: doing EEPROM country->regdmn map search [ 13.530000] ath: country maps to regdmn code: 0x3a [ 13.530000] ath: Country alpha2 being used: US [ 13.530000] ath: Regpair used: 0x3a [ 13.540000] ieee80211 phy0: Selected rate control algorithm 'minstrel_ht' [ 13.540000] ieee80211 phy0: Atheros AR9330 Rev:1 mem=0xb8100000, irq=2 [ 22.190000] device eth0 entered promiscuous mode [ 24.690000] eth0: link up (100Mbps/Full duplex) [ 24.690000] br-lan: port 1(eth0) entered forwarding state Informacje o procesorze: # cat /proc/cpuinfo system type : Atheros AR9330 rev 1 machine : TP-LINK TL-MR3020 processor : 0 cpu model : MIPS 24Kc V7.4 BogoMIPS : 265.42 wait instruction : yes microsecond timers : yes tlb_entries : 16 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available Informacje o porcie USB: # cat /sys/kernel/debug/usb/devices T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.18 S: Manufacturer=Linux 3.18.36 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=ehci-platform C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms Informacje o WiFi: # iw list Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Device supports T-DLS. Available Antennas: TX 0x1 RX 0x1 Configured Antennas: TX 0x1 RX 0x1 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point * P2P-client * P2P-GO * outside context of a BSS Band 1: Capabilities: 0x116e HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-7 Frequencies: * 2412 MHz [1] (15.0 dBm) * 2417 MHz [2] (18.0 dBm) * 2422 MHz [3] (18.0 dBm) * 2427 MHz [4] (18.0 dBm) * 2432 MHz [5] (18.0 dBm) * 2437 MHz [6] (18.0 dBm) * 2442 MHz [7] (18.0 dBm) * 2447 MHz [8] (18.0 dBm) * 2452 MHz [9] (18.0 dBm) * 2457 MHz [10] (18.0 dBm) * 2462 MHz [11] (15.0 dBm) * 2467 MHz [12] (disabled) * 2472 MHz [13] (disabled) * 2484 MHz [14] (disabled) valid interface combinations: * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1, total <= 2048, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz } * #{ WDS } <= 2048, total <= 2048, #channels <= 1, STA/AP BI must match HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing
  12. Routery bezprzewodowe to bardzo użyteczne urządzenia i na dobrą sprawę każdy dom powinien posiadać jeden taki wynalazek. Na rynku jest cała masa sprzętu WiFi, który w większości przypadków zaspokoi gust kupujących ale też trzeba wziąć pod uwagę fakt, że nie wszystkie routery posiadają pożądane przez nas ficzery. Część routerów ma tylko jedno radio, zwykle o zakresie 2,4 GHz. Te droższe modele mają także radio 5GHz. Routery różnią się także ilością portów w switch'u, ilością pamięci RAM, częstotliwością pracy procesora, no i rozmiarem pamięci flash. Wszystkie te cechy trzeba wziąć pod uwagę przy próbie ewentualnego zakupu routera bezprzewodowego. Oczywiście spora część z tych gabarytów będzie miała znaczenie tylko w przypadku zainstalowania alternatywnego firmware, np. OpenWRT. Niemniej jednak, dobrze zdawać sobie sprawę z tego co dany router ma pod obudową. W tym wpisie zostanie przedstawiony router TP-LINK Archer C7 v2, obsługujący pasma 2.4 GHz i 5 GHz, mający 128 MiB pamięci RAM, 16 MiB flash, gigabitowy switch 5-cio portowy i dwa porty USB 2.0 . Zawartość pudełka routera TP-LINK Archer C7 v2 W pudełku mamy oczywiście router, który wygląda jak większość routerów produkowanych przez TP-LINK. Na pierwszy rzut oka, patrząc po samej obudowie, ciężko by określić jaki to jest właściwie model: Router działa w dwóch różnych pasmach WiFi 2,4 GHz oraz 5 GHz i ma w sumie 6 anten: 3 wewnętrzne (2,4 GHz) oraz 3 zewnętrzne (5 GHz) widoczne na powyższej fotce. Poniżej jest kilka fotek tych anten zewnętrznych: Do zestawu jest dołączony także zasilacz 12V/2,5A. Zatem router Archer C7 v2 jest w stanie pobrać nawet 30W, choć w rzeczywistości pobiera znacznie mniej: Do zestawu jest także dołączona skrętka KAT5, długość około 1,2 metra: Poniżej jest jeszcze fotka obrazująca panel tylny routera. Mamy tutaj 3 gniazda na anteny, wyjście zasilacza, dwa porty USB 2.0 (po jednej diodzie na każdy z tych portów). Dalej mamy gigabitowy switch z wydzielonym portem WAN. Przyciski standardowe, tj. wyłącznik zasilania, wł/wył WiFi, i reset razem z WPS: Co router TP-LINK Archer C7 v2 ma pod maską Przydałoby się jeszcze zajrzeć routerowi Archer C7 pod maskę i zobaczyć jakie podzespoły wchodzą w skład całego urządzenia. Na sam początek spód obudowy, w którym jest szereg otworów wentylacyjnych ułatwiających odprowadzanie ciepła: Poniżej są zaś fotki obrazujące poszczególne podzespoły. Widok ogólny: Anteny wewnętrzne: Szereg układów pochodzi od Qualcomm Atheros. Mamy tutaj czip WiFi 5 GHz na MiniPCIe (QCA9880-BR4A (v2) 3x3 a/n/ac): System on a chip (SoC) wraz ze zintegrowanym układem WiFi 2,4 GHz (QCA9558 3x3 b/g/n): Czip gigabitowego switch'a (AR8327N-BL1A): Pamięć operacyjna RAM 2 x 64 MiB. Ciekawa sprawa, bo na wiki OpenWRT można znaleźć informacje, że ten model powinien zawierać kości od producenta Winbond. Niemniej jednak, na fotce widać wyraźnie, że układy są od firmy Zentel: Porty od konsoli szeregowej: Wsparcie dla routera TP-LINK Archer C7 v2 w OpenWRT Router Archer C7 v2 jest bez większych problemów obsługiwany przez firmware OpenWRT od wydania Chaos Calmer. W Barrier Breaker i wcześniejszych wersjach były problemy z przełącznikiem WiFi. Były też problemy z diodami i przyciskiem reset. Wszystkie te niedogodności zostały poprawione w najnowszym wydaniu. Poniżej znajduje się rozpiska informacji uzyskanych z poziomu firmware OpenWRT. Taktowanie: # dmesg | grep -i clocks [ 0.000000] Clocks: CPU:720.000MHz, DDR:600.000MHz, AHB:200.000MHz, Ref:40.000MHz Procesor: # cat /proc/cpuinfo system type : Qualcomm Atheros QCA9558 ver 1 rev 0 machine : TP-LINK Archer C7 processor : 0 cpu model : MIPS 74Kc V5.0 BogoMIPS : 358.80 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 dsp dsp2 shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available Porty USB: # cat /sys/kernel/debug/usb/devices T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.18 S: Manufacturer=Linux 3.18.29 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=ehci-platform.1 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.18 S: Manufacturer=Linux 3.18.29 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=ehci-platform.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms Pamięć operacyjna RAM (128 MiB): # dmesg | grep Memory [ 0.000000] Memory: 125788K/131072K available (2607K kernel code, 127K rwdata, 544K rodata, 232K init, 193K bss, 5284K reserved) Czipy bezprzewodowe WiFi: # iw list Wiphy phy1 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Device supports T-DLS. Available Antennas: TX 0x7 RX 0x7 Configured Antennas: TX 0x7 RX 0x7 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point * P2P-client * P2P-GO * outside context of a BSS Band 1: Capabilities: 0x11ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) valid interface combinations: * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1, total <= 2048, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz } * #{ WDS } <= 2048, total <= 2048, #channels <= 1, STA/AP BI must match HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Wiphy phy0 max # scan SSIDs: 16 max scan IEs length: 199 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Available Antennas: TX 0x7 RX 0x7 Configured Antennas: TX 0x7 RX 0x7 Supported interface modes: * managed * AP * AP/VLAN * monitor * mesh point Band 2: Capabilities: 0x19ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 7935 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 VHT Capabilities (0x338001b2): Max MPDU length: 11454 Supported Channel Width: neither 160 nor 80+80 RX LDPC short GI (80 MHz) TX STBC RX antenna pattern consistency TX antenna pattern consistency VHT RX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: MCS 0-9 4 streams: not supported 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT RX highest supported: 0 Mbps VHT TX MCS set: 1 streams: MCS 0-9 2 streams: MCS 0-9 3 streams: MCS 0-9 4 streams: not supported 5 streams: not supported 6 streams: not supported 7 streams: not supported 8 streams: not supported VHT TX highest supported: 0 Mbps Frequencies: * 5180 MHz [36] (20.0 dBm) * 5200 MHz [40] (20.0 dBm) * 5220 MHz [44] (20.0 dBm) * 5240 MHz [48] (20.0 dBm) * 5260 MHz [52] (20.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5280 MHz [56] (20.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5300 MHz [60] (20.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5320 MHz [64] (20.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5500 MHz [100] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5520 MHz [104] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5540 MHz [108] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5560 MHz [112] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5580 MHz [116] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5600 MHz [120] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5620 MHz [124] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5640 MHz [128] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5660 MHz [132] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5680 MHz [136] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5700 MHz [140] (27.0 dBm) (radar detection) DFS state: usable (for 90770 sec) DFS CAC time: 60000 ms * 5720 MHz [144] (disabled) * 5745 MHz [149] (disabled) * 5765 MHz [153] (disabled) * 5785 MHz [157] (disabled) * 5805 MHz [161] (disabled) * 5825 MHz [165] (disabled) valid interface combinations: * #{ AP, mesh point } <= 8, #{ managed } <= 1, total <= 8, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz, 80 MHz } HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Device supports VHT-IBSS. Konfiguracja switch'a: # swconfig dev switch0 show Global attributes: enable_vlan: 1 enable_mirror_rx: 0 enable_mirror_tx: 0 mirror_monitor_port: 0 mirror_source_port: 0 arl_table: address resolution table Port 0: MAC c4:6e:1f:95:ef:fe Port 4: MAC e8:94:f6:68:79:f1 Port 6: MAC c4:6e:1f:95:ef:ff Port 0: mib: Port 0 MIB counters ... enable_eee: ??? pvid: 1 link: port:0 link:up speed:1000baseT full-duplex txflow rxflow Port 1: mib: Port 1 MIB counters ... enable_eee: 0 pvid: 2 link: port:1 link:down Port 2: mib: Port 2 MIB counters ... enable_eee: 0 pvid: 1 link: port:2 link:down Port 3: mib: Port 3 MIB counters ... enable_eee: 0 pvid: 1 link: port:3 link:down Port 4: mib: Port 4 MIB counters ... enable_eee: 0 pvid: 1 link: port:4 link:up speed:1000baseT full-duplex txflow rxflow eee100 eee1000 auto Port 5: mib: Port 5 MIB counters ... enable_eee: 0 pvid: 1 link: port:5 link:down Port 6: mib: Port 6 MIB counters ... enable_eee: ??? pvid: 2 link: port:6 link:up speed:1000baseT full-duplex txflow rxflow VLAN 1: vid: 1 ports: 0 2 3 4 5 VLAN 2: vid: 2 ports: 1 6 Po zainstalowaniu świeżego firmware OpenWRT, do dyspozycji mamy nieco ponad 12 MiB wolnego miejsca na flashu. Czyli dość sporo. Podsumowanie Router Archer C7 v2 od TP-LINK'a z racji zastosowanych podzespołów firmy Qualcomm jest bardzo dobrze wspierany przez alternatywne oprogramowanie bazujące na dystrybucjach linux'a, min. OpenWRT. Jest idealny jeśli chodzi o możliwości rozbudowy pod względem programowym na alternatywnym firmware. Mamy do dyspozycji dużo pamięci operacyjnej, no i też sporej wielkości flash, który jest w stanie pomieścić masę dodatkowego oprogramowania. Oczywiście, nic nie stoi na przeszkodzie, by używać ten router z oryginalnym firmware producenta. Radio 5 GHz w połączeniu z zewnętrznymi antenami sprawia, że router znakomicie sprawuje się w warunkach miejskich, gdzie mamy duże zagęszczenie sieci bezprzewodowych. W domkach jednorodzinnych będzie radził sobie nieco gorzej ze względu na brak zewnętrznych anten i zwykle grubsze ściany. Ja osobiście jestem bardzo zadowolony z pracy tego routera. Działa u mnie już prawie dwa lata bez zarzutu, oczywiście na firmware OpenWRT.
  13. Jednym z popularniejszych routerów bezprzewodowych firmy TP-LINK jest model TL-WR1043ND v2 . Dlaczego ten router jest tak rozchwytywany? Wytłumaczenie tkwi w alternatywnym firmware OpenWRT, który daje znaczne możliwości rozbudowania funkcjonalności tego urządzenia. Jest to chyba jeden z najlepiej wpieranych przez OpenWRT modeli, co zapewnia bezproblemowe użytkowanie. Niewątpliwą zaletą TL-WR1043ND v2 jest dość silne WiFi, choć mamy do dyspozycji tylko pamso 2,4 GHz. Standardowo na wyposażeniu mamy także gigabitowy switch 5-cio portowy oraz tylko jeden port USB 2.0. Przy czym, ten jeden port USB nie powinien nam zbytnio przeszkadzać, zwłaszcza jeśli dysponujemy aktywnym hubem USB. W tym wpisie przyjrzymy się nieco bliżej temu routerowi. Wygląd routera TP-LINK TL-WR1043ND v2 Po wyjęciu z pudełka router wygląda mniej więcej tak jak widać to na obrazku poniżej: Jak widać mamy tutaj 3 anteny dla WiFi w paśmie 2,4 GHz. Teoretycznie maksymalna przepustowość powinna wynosić 300 mbit/s (w trybie Speed Boost nawet 450 mbit/s) ale z tym to różnie bywa i lepiej podchodzić do tych wartości ze sporym dystansem. Jakby nie patrzeć, jeśli korzystalibyśmy z tego routera na obszarze jakiegoś blokowiska, to raczej wątpliwe jest byśmy kiedyś się zbliżyli do tych prędkości. W domkach jednorodzinnych naturalnie sprawa może wyglądać inaczej, bo tam jest sporo mniej zakłóceń. Niemniej jednak, w dalszym ciągu trzeba brać poprawkę na grubsze ściany. Poniżej jest fotka samych anten: Panel tylny routera TL-WR1043ND v2 prezentuje się zaś następująco: Widoczne są 3 gniazda antenowe (RP-SMA). Mamy także gigabitowy switch 5-cio portowy z wydzielonym portem WAN. Dalej mamy jeden port USB w standardzie 2.0 i gniazdo zasilania. Jest też kilka przycisków: włącznik WiFi, przycisk od zasilania no i oczywiście reset razem z WPS. W zestawie jest dołączony także zasilacz (12V/1,5A), którym jest zasilany router. Zatem to urządzenie jest w stanie wyciągnąć maksymalnie 18W. Z reguły pobiera 6-10W w zależności od obciążenia. Sam zasilacz zaś jest pokazany poniżej: Mamy także jeden przewód ethernetowy (skrętka KAT5): Poniżej zaś jest spodnia część obudowy, na której widać otwory wentylacyjne: Podzespoły routera TP-LINK TL-WR1043ND v2 Ściągnijmy zatem górną część obudowy i zajrzyjmy do wnętrza urządzenia. W środku kryje się szereg układów firmy Qualcomm: Poniżej są fotki poszczególnych układów. System on a chip (SoC) wraz ze zintegrowanym układem WiFi 2,4 GHz (QCA9558 3x3 b/g/n): Czip gigabitowego switch'a (AR8327N-BL1A): Pamięć operacyjna RAM 64 MiB (Winbond W9751G6KB-25): Są też porty konsoli szeregowej: Wsparcie OpenWRT dla TL-WR1043ND v2 We wstępie zostało wspomniane, że router TP-LINK TL-WR1043ND v2 jest bardzo dobrze wspierany przez firmware OpenWRT. Poniżej znajduje się szereg informacji uzyskanych po zalogowaniu się na router. Taktowanie: /# dmesg | grep -i clocks [ 0.000000] Clocks: CPU:720.000MHz, DDR:600.000MHz, AHB:200.000MHz, Ref:40.000MHz Procesor: # cat /proc/cpuinfo system type : Qualcomm Atheros QCA9558 ver 1 rev 0 machine : TP-LINK TL-WR1043ND v2 processor : 0 cpu model : MIPS 74Kc V5.0 BogoMIPS : 358.80 wait instruction : yes microsecond timers : yes tlb_entries : 32 extra interrupt vector : yes hardware watchpoint : yes, count: 4, address/irw mask: [0x0ffc, 0x0ffc, 0x0ffb, 0x0ffb] isa : mips1 mips2 mips32r1 mips32r2 ASEs implemented : mips16 dsp dsp2 shadow register sets : 1 kscratch registers : 0 package : 0 core : 0 VCED exceptions : not available VCEI exceptions : not available Port USB: # cat /sys/kernel/debug/usb/devices T: Bus=02 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.18 S: Manufacturer=Linux 3.18.29 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=ehci-platform.1 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 Spd=480 MxCh= 1 B: Alloc= 0/800 us ( 0%), #Int= 0, #Iso= 0 D: Ver= 2.00 Cls=09(hub ) Sub=00 Prot=01 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0002 Rev= 3.18 S: Manufacturer=Linux 3.18.29 ehci_hcd S: Product=EHCI Host Controller S: SerialNumber=ehci-platform.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 4 Ivl=256ms Pamięć operacyjna RAM (64 MiB): # dmesg | grep Memory [ 0.000000] Memory: 60812K/65536K available (2607K kernel code, 127K rwdata, 544K rodata, 232K init, 193K bss, 4724K reserved) Czip bezprzewodowy WiFi: # iw list Wiphy phy0 max # scan SSIDs: 4 max scan IEs length: 2257 bytes max # sched scan SSIDs: 0 max # match sets: 0 Retry short limit: 7 Retry long limit: 4 Coverage class: 0 (up to 0m) Device supports AP-side u-APSD. Device supports T-DLS. Available Antennas: TX 0x7 RX 0x7 Configured Antennas: TX 0x7 RX 0x7 Supported interface modes: * IBSS * managed * AP * AP/VLAN * WDS * monitor * mesh point * P2P-client * P2P-GO * outside context of a BSS Band 1: Capabilities: 0x11ef RX LDPC HT20/HT40 SM Power Save disabled RX HT20 SGI RX HT40 SGI TX STBC RX STBC 1-stream Max AMSDU length: 3839 bytes DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 8 usec (0x06) HT TX/RX MCS rate indexes supported: 0-23 Frequencies: * 2412 MHz [1] (20.0 dBm) * 2417 MHz [2] (20.0 dBm) * 2422 MHz [3] (20.0 dBm) * 2427 MHz [4] (20.0 dBm) * 2432 MHz [5] (20.0 dBm) * 2437 MHz [6] (20.0 dBm) * 2442 MHz [7] (20.0 dBm) * 2447 MHz [8] (20.0 dBm) * 2452 MHz [9] (20.0 dBm) * 2457 MHz [10] (20.0 dBm) * 2462 MHz [11] (20.0 dBm) * 2467 MHz [12] (20.0 dBm) * 2472 MHz [13] (20.0 dBm) * 2484 MHz [14] (disabled) valid interface combinations: * #{ managed } <= 2048, #{ AP, mesh point } <= 8, #{ P2P-client, P2P-GO } <= 1, #{ IBSS } <= 1, total <= 2048, #channels <= 1, STA/AP BI must match, radar detect widths: { 20 MHz (no HT), 20 MHz, 40 MHz } * #{ WDS } <= 2048, total <= 2048, #channels <= 1, STA/AP BI must match HT Capability overrides: * MCS: ff ff ff ff ff ff ff ff ff ff * maximum A-MSDU length * supported channel width * short GI for 40 MHz * max A-MPDU length exponent * min MPDU start spacing Konfiguracja switch'a: # swconfig dev switch0 show Global attributes: enable_vlan: 1 enable_mirror_rx: 0 enable_mirror_tx: 0 mirror_monitor_port: 0 mirror_source_port: 0 arl_table: address resolution table Port 0: MAC e8:94:f6:68:79:f0 Port 3: MAC 3c:4a:92:00:4c:5b Port 5: MAC c4:6e:1f:95:ef:fe Port 6: MAC e8:94:f6:68:79:f1 Port 0: mib: Port 0 MIB counters ... enable_eee: ??? pvid: 1 link: port:0 link:up speed:1000baseT full-duplex txflow rxflow Port 1: mib: Port 1 MIB counters ... enable_eee: 0 pvid: 1 link: port:1 link:down Port 2: mib: Port 2 MIB counters ... enable_eee: 0 pvid: 1 link: port:2 link:down Port 3: mib: Port 3 MIB counters ... enable_eee: 0 pvid: 1 link: port:3 link:up speed:100baseT full-duplex txflow rxflow auto Port 4: mib: Port 4 MIB counters ... enable_eee: 0 pvid: 1 link: port:4 link:down Port 5: mib: Port 5 MIB counters ... enable_eee: 0 pvid: 2 link: port:5 link:up speed:1000baseT full-duplex txflow rxflow eee100 eee1000 auto Port 6: mib: Port 6 MIB counters ... enable_eee: ??? pvid: 2 link: port:6 link:up speed:1000baseT full-duplex txflow rxflow VLAN 1: vid: 1 ports: 0 1 2 3 4 VLAN 2: vid: 2 ports: 5 6 Flash routera TL-WR1043ND v2 nie jest zbyt duży. Ma on jedynie 8 MiB, z czego po wgraniu OpenWRT zostaje nam do dyspozycji tylko około 4 MiB. Niemniej jednak, warto wspomnieć, że ten router doczekał się wersji 4 i tam już flash został wymieniony na 16 MiB. Podsumowanie Router TP-LINK TL-WR1043ND v2 nadaje się wyśmienicie pod OpenWRT i nie ma z nim żadnych problemów. Jeśli jednak chcemy się trzymać oryginalnego firmware producenta, to również nic nie stoi na przeszkodzie, by tak uczynić. Trzeba jednak mieć na uwadze, że z tego standardowego oprogramowania za wiele nie wyciągniemy. Weźmy na przykład ten jeden port USB. W danej chwili będziemy mogli podłączyć tylko jedno urządzenie. W przypadku dysków/pendrive trzeba będzie także uważać na system plików (wspierane tylko NTFS i FAT). W przypadku alternatywnego oprogramowania, ogranicza nas w duże mierze tylko nasza wyobraźnia. Ja byłem zmuszony nieco rozbudować ten router, by go dostosować do swoich upodobań. Poniższe fotki mówią raczej same za siebie: