Jakiś czas temu pisałem na stronie o wykorzystaniu internetu mobilnego w domu – Internet mobilny w domu. Bazowym sprzętem był dość stary router tp-link mr3420 v1 i pare modemów. Pracował on na dośc starym (2014) oprogramowaniu Gargoyle w wersji 1.6.2 ze strony eko.one.pl. Router, mimo wieku jest nadal całkiem funkcjonalnym pudełkiem. Pamięć flash o pojemności tylko 4MB spowodowała praktycznie brak nowego firmware’u z graficznym interfejsem do tego sprzętu. Ale nadal są wydawane obrazy, gdzie konfigurację przeprowadza się w konsoli, w trybie tekstowym.
Po szale, jaki spowodował rewolucyjny OpenWRT, nastał czas na LEDE. Jest to nowy projekt, tworzony przez część deweloperów z openwrt. Strona projektu to lede-project.org. Lista wspieranego sprzętu, na którym można zainstalować lede jest naprawdę ogromna. Projekt jest cały czas rozwijany, pojawiają się nowe wersje z nowszymi kernelami itd. Firmware ten jest również modyfikowany przez Cezarego ze strony eko.one.pl i przez to jeszcze bardziej użyteczny. Prócz możliwości pobrania obrazu, można tam również znaleźć dużą bazę opisów typu how-to jak i wsparcie na forum. W routerach z większym flashem można pobrać nowe LEDE ze środowiskiem graficznym LuCI. Do wspomnianego wyżej TP-Linka MR3420 pozostaje okrojona wersja bez gui, chociaż nie do końca, o czym napiszę na końcu.
Poniższy opis będzie dotyczył routera TP-LInk MR3420 w wersji v1, modemu ZTE MF823 i oprogramowania LEDE reboot 17.01 r3371. Pokażę jak (mam nadzieję) fajnie działa linux na takim małym pudełku, o czym można się przekonać konfigurując wszystko z poziomu konsoli. Na początek należy pobrać stąd obraz do swojego routera http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ar71xx/generic/. Plik z nazwą factory na końcu służy do flashowania routera z fabrycznym oprogramowaniem, a ten z sysupgrade, do wgrania w pudełku, w którym już jest jakiś linux. U mnie był to Gargoyle 1.6.2, więc z poziomu Linuksa Mint na komputerze wysłałem obraz (lede-17.01-snapshot-r3371-79cd141-ar71xx-generic-tl-mr3420-v1-squashfs-sysupgrade.bin) do katalogu tmp routera za pomocą scp:
W Windows robi się to za pomocą WinSCP z GUI. Druga możliwość, to pobranie do tmp obrazu z poziomu routera (ssh), za pomocą wget.
Upgrade sprowadza się do wydania polecenia:
sysupgrade -v /tmp/nazwa_pliku_obrazu.bin
Zacznie się instalacja softu z wypisaniem kolejnych etapów, na koniec nastąpi reboot routera.
Z poziomu linuksa wystarczy wklepać:
ssh root@192.168.1.1
W windowsach można użyć Putty by dostać się do konsoli:
Jak widać flash nie jest pełny, mamy (aż!) 216kB wolnego miejsca na dodatkowe pakiety :).
W starym Gargoyle 1.6.2 od Cezarego, modem MF823 działał po wyklikaniu w GUI połączenia kablowego DHCP i wybraniu interfejsu WAN usb0. Tak było, bo obraz został do tego przygotowany, tj. uzupełniony o odpowiednie pakiety. Wgrana wersja LEDE, z uwagi na mały flash, została okrojona do minimum i trochę trzeba powalczyć, zdobywając doświadczenie. Zobaczmy więc, czy mamy dostępny interfejs usb0:
ifconfig -a
No i są jakieś br-lan, eth0, eth1, lo, wlan0, ale usb0 nie ma, lipa. To zobaczmy jak router widzi modem:
cat /sys/kernel/debug/usb/devices
Patrząc na 6,7 i 9 linijkę od dołu, widzimy że coś tam zostało wykryte, ale Driver=(none). Chwila poszukiwań na forum eko.one.pl i mam info, żeby doinstalować paczkę kmod-usb-net-rndis. Firmware pochodzi z eko.one.pl, więc jest też dodane repo tej strony, wystarczy więc opkg update i opkg install kmod-usb-net-rndis. No jednak nie, bo na routerze nie ma netu, jak i w całym domu ;). Na szczęście tetering w telefonie ratuje sytuację. Paczki są do pobrania tu: http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ar71xx/generic/kmods-4.4.61/. Okazuje się, że do instalacji wyżej wspomnianej są też potrzebne inne pakiety, w sumie trzeba pobrać:
Pobrałem to sobie na komputer i wysłałem za pomocą scp do routera:
Teraz z konsoli routera trzeba to zainstalować, czyli opkg install + ścieżki do pakietów, używanie tabulatora wskazane, chyba że ktoś uwielbia przeklepywać takie nazwy ;):
No to teraz reboot i zobaczmy jak to wygląda w /sys/kernel/debug/usb/devices:
No i sterownik cdc_ether już jest :). To teraz:
ifconfig -a
Zgodnie z założeniem (bo to linux), mamy interfejs usb0, który zaraz skonfigurujemy jako nasz wan. Otwieramy sobie plik /etc/config/network:
vim /etc/config/network
Najeżdzamy w sekcji wan kursorem na linijki do zmiany, wciskamy i (tryb insert), zmieniamy co trzeba (jak niżej):
Wciskamy Escape (wyjście z trybu insert), wpisujemy :wq (zapisanie zmian i wyjście) i wciskamy Enter. A tak straszyli tym vim’em… a to proste jak nano ;). Teraz restart routera lub przeładowanie network. No i na kompie podłączonym kablem ping na o2.pl nie działa… ale pingowanie choćby 8.8.8.8 jest ok. Walczymy dalej :).
Jesteśmy na etapie prawie działającego netu po kablu. Dodajmy więc dnsy, tak by dhcp przydzielał je podpiętym komputerom:
uci add_list dhcp.lan.dhcp_option="6,8.8.8.8,8.8.4.4" uci commit dhcp /etc/init.d/dnsmasq restart
I super, internet na podpiętym komputerze działa, ale co by się nie spingowało z konsoli routera, odpowiada tylko modem, czyli 192.168.0.1. Tutaj pomógł mi Cezary na forum, więc znowu edycja pliku /etc/config/network by wyglądał tak:
Sieć WiFi jest domyślnie wyłączona, ze względów bezpieczeństwa. Kilka magicznych komend:
uci set wireless.@wifi-device[0].disabled=0 uci set wireless.@wifi-iface[0].ssid=jakas_nazwa_sieci uci set wireless.@wifi-iface[0].encryption=psk2 uci set wireless.@wifi-iface[0].key='trudny_klucz' uci commit wireless wifi
i można podpinać się bezprzewodowo do routera.
Powyższy opis pokazuje, jaka moc drzemie w firmware, które zajmuje mniej niż 4MB flash. Idąc dalej, konfiguracja to nic innego jak modyfikacja plików, w których są zapisane ustawienia. Wszystko jest przejrzyste i tworzy spójną, logiczną całość. Dla wielu, mniej obeznanych z linuksem użytkowników, opisany sposób może być jednak zbyt skomplikowany i czasochłonny. Jeśli komuś zależy na świeżym firmware w tak leciwym routerze jak opisywany tu MR3420 v1, to polecam obraz MiFi od Cezarego ze strony eko.one.pl. Tam po flashowaniu, modem MF823 zadziałał od razu, wystarczyło tylko z graficznego środowiska, zmienić ssid sieci i klucz.
Mamy w domu dość wiekowy (2012) Boombox Philips, model AZ385/12 używany przez dzieci głównie jako…
Mega tanie, bezprzewodowe moduły Internet of Things na dobre zadomowiły się w naszych sieciach. Od…
Pewnie nie każdy posiadacz tytułowej stacji lutowniczej wie, że posiada ona możliwość aktualizacji firmware'u. Producent…
Jakiś czas temu, przeglądając Aliexpress natknąłem się na ciekawy shield do Arduino Nano. Według opisu…
W mailach i komentarzach kilka razy przewijała się prośba o ten wpis. Chodzi o aktualizację…
Dziś tematyka audio, a nawet audiofilska. Uznany wzmacniacz słuchawkowy Lehmann Black Cube Linear o dość…
Zobacz komentarze
No właśnie tak miałem "No jednak nie, bo na routerze nie ma netu, jak i w całym domu" po w graniu LuCI do TL-MR3220, zawiodłem się właśnie na domyślnym braku obsługi modemów LTE, i to nawet w wersji HiLink i szybko wróciłem do fabrycznego który chociaż obsługuje 3G, jednak trzeba pamiętać o przywracaniu firmware z poziomu GUI LuCI tp-linka ale bez bootloadera bo można go bezpowrotnie uceglić.
Fabryczne oprogramowanie nie działa prawidłowo z modemem LTE, może jest to wina brakującego prądu na złączu USB routera, a może w oprogramowaniu, niedowiedziałem się i odpuściłem.
Mimo iż jestem fanem linuxa to zdecydowanie jego możliwości w routerze nie zostaną w pełni wykorzystane bo przecież to ma działać tylko do rozsiewania internetu wiec nie ma potrzeby aż takich kombinacji.
Jednak twój opis jest bardzo przejrzysty i szacunek za poświęcenie czasu i dzielenie się zdobytą wiedzą na którą trzeba poświęcić sporo czasu.
A ja mam problem, bo po zainstalowaniu pakietów
A ja mam problem, bo po zainstalowaniu tych pakietow (bezposrednio z routera - mozna go ustawic jako klient access pointa :-)) mam nadal driver=(none). Jakies sugestie?
A jaki modem?
Taki, jak z Twojego artykułu - MF823
No to dziwne, bo według tego opisu rodziłem tak samo z BananaPi i w jednym i drugim przypadku działało bez zarzutu. Paczki instalują się bez błędu?
Czesc Wojtku,
Mam TP MR3420 v2.0 i e3372h-320. Wgralem na router tego LEDE'i frimware'a co Ty, dodalem z sukcesem brakujace paczki. Jednak po tym w ifconfig -a nie pojawil mi sie usb0.
Mecze ten temat juz od paru godzin z roznymi firmware'ami i bez sukcesu. Wiesz moze co mozna by jeszcze zrobic?
Pozdrawiam
Wojtek
Pewnie brakuje jeszcze jakiejś paczki lub drivera, popytaj na forum eko.one.pl