Zmodyfikowany firmware LEDE
Ostatnia zmiana: 2018-08-15 20:21
Zmieniając oprogramowanie w routerze w większości przypadków tracisz gwarancję producenta. Robisz to na własną odpowiedzialność, mając świadomość że może to spowodować uszkodzenie routera. Nie biorę żadnej odpowiedzialności za to, co się stanie z routerem po wgraniu tego oprogramowania.
Oryginalna strona projektu (EN):
LEDEHistoria powstania (EN):
About the LEDE projectMoje obrazy budowane są z bieżącej gałęzi wydania stabilnego LEDE -
17.01-SNAPSHOT, zawierają modyfikacje które uważam za niezbędne lub wartościowe i powinny być domyślnie włączone do budowanych obrazów a z różnych powodów nie zostały dołączone do oficjalnych wydań. Moje obrazy różnią się od oryginalnych wydawanych przez zespół LEDE innym doborem pakietów i opcjami kompilacji, choć są w pełni kompatybilne jeżeli chodzi o ustawienia i pakiety z programami.
Czym się różni 17.01-SNAPSHOT od wydania 17.01.x? Źródła LEDE podzielone są na tzw. branche, czyli różne gałęzie rozwojowe. Jedna z nich o nazwie lede-17.01 zawiera źródła wydania stabilnego linii 17.01 i ma ona określenie wersji właśnie jako 17.01-SNAPSHOT. Wydanie 17.01.x to nic innego jak źródła wersji stabilnej pobrane określonego dnia z gałęzi lede-17.01 i oznaczone jako 17.01.x. Gałąź 17.01-SNAPSHOT zawiera się nowsze aktualizacje i poprawki niż wydanie 17.01.x.
Parametry domyślne dla wszystkich obrazów:
- hasło: puste (do ustawienia poleceniem passwd)
- Wi-Fi domyślnie wyłączone
czyli tak samo jak w standardowym LEDE. Dostęp do systemu możliwy jest przez ssh (brak jest telnetu jak w OpenWrt).
Moduły kernela muszą być instalowane z tego samego źródła skąd pochodzą obrazy, czyli wymienionego poniżej repozytorium. Z innych źródeł mogą nie działać. Muszą być także w takiej samej wersji co zainstalowany kernel
W nazwie pliku jest oznaczenie modelu routera do którego jest on przeznaczony.
Niektóre obrazy oprócz nazwy modelu routera mają również oznaczenie 8M lub 16M. Przeznaczone są one dla tych modeli, które mają większą pamięć i nie mogą być używane na urządzeniach z normalną/fabryczną ilością flash.
To wersja pozbawiona GUI (środowiska graficznego) - czysta konsola. Potrzebujesz GUI to używaj obrazów z
LuCI.
Obrazy z
factory w nazwie służy do instalacji z oryginalnego oprogramowania.
Obrazy z
sysupgrade w nazwie służy do aktualizacji z poziomu OpenWrt, LEDE lub Gargoyle.
Obrazy
-us służą do aktualizacji routerów sprzedawanych na terenie USA.
Obrazy
-eu służą do aktualizacji routerów sprzedawanych na terenie Unii Europejskiej (czyli np. zakupionych w dystrybucji w Polsce).
Obrazy
-il- przeznaczone są dla routerów sprzedawanych w Izraelu.
Historia zmian
- data wydania - numer/lista zmian w LEDE
- lista moich zmian
- dodanie wsparcia dla pamięci
W25Q128JVSIM - jedna wersja obrazów D-LINK DWR-116 dla wszystkich wersji (aktualizacja obrazu wymaga używać opcji
sysupgrade -F ...)
-
poprawka wykrywające nowe nazewnictwo płyt PCEngines APU
-
poprawka do obsługi nowych chipów na PCEngines APU3
- dodanie obsługi modemu
Quectel EP06 - dodanie pakietu
tplinkmodem-helper do obrazów dla TP-LINK Archer MR200/TL-MR6400 v1/TL-MR6400 v2
- dodanie pakietów z aktualizacją
microcode dla procesorów Intel/AMD do obrazów x86/64
- dodanie obrazów dla D-LINK DWR-116 A1/A2EU/A2PL (
link)
- poprawka obsługi ethernetu dla Mikrotik RouterBOARD 951G-2HnD, dodanie obsługi przycisku reset oraz zasilania USB
- modyfikacja skryptu dla protokołu połączenia
3g - nie wysyła konfiguracji do modemu bez jawnego określenia opcji
service - aktualizacja
usbmode - poprawki dla WNDR4300:
Fix switch HW controlled LEDs oraz
use the switch LED trigger on the WAN port - obrazy LUCI dla Meraki MR12/MR16
- obrazy dla TP-Link Archer C20 (ramips/mt7620) (
backport)
- dodanie modułu
kmod-usb-storage-uas (protokół UASP - USB Attached SCSI)
- dodanie sterowników ath5k/ath9k/ath10k do obrazów x86/64
- obrazy dla TP-LINK TL-MR3420 V3 (ar71xx/generic) (
poprawka)
- dodanie pakietów z
Qualcomm Shortcut Forwarding EngineInstalacja ręczna:
# opkg update
# opkg install kmod-fast-classifier kmod-shortcut-fe
-
poprawka danych o modemach dla wwan
- dnscrypt-proxy-plugins - pakiet dnscrypt-proxy kompilowany z włączonymi dodatkami
- curl kompilowany z libopenssl
- obrazy dla TP-LINK TL-MR6400 v2 (ar71xx/generic)
- usunięcie z obrazów LuCI pakietów związanych z SQM (można doinstalować ręcznie)
-
naprawa działania przycisku "Łącze" w LuCI dla opcji "Własne komendy"
- libcurl kompilowany z libopenssl oraz wsparciem dla protokołów pop3 oraz smtp
- motion-ffmpeg kompilowany ze wsparciem dla libffmpeg-full
- aria2 kompilowana z obsługą sftp oraz bittorrent
- sms_tool do obsługi USSD i SMS
- obrazy dla ramips/MT7688 (Onion Omega2, LinkIt7688, Widora Neo, WRTNode2r)
- właściwe wykrywanie Nexx WT3020 (ramips/mt7620) o różniej wielkości flash
- zmiana nazwy obrazów dla PCEngines APU - obsługiwane są APU1/APU2/APU3
- dodanie obrazów LuCI dla Ubiquiti Networks (ar71xx/generic)
- naprawa pliku
usb-mode.json po aktualizacji danych w pakiecie
usb_modeswitch (uwaga: zmiana wersji kernela)
- obrazy dla TP-LINK TL-MR6400 v1 (atheros/generic)
- obrazy dla Netgear WNDR4700 i R7800 mają domyślnie zwiększoną ilość miejsca w pamięci flash
- aktualizacja danych do przełączania modemów w pakiecie
usb_modeswitch - pakiet
domoticz w repozytorium
-
poprawka dla
dnsmasq do ograniczenia liczby serwerów logowanych do logu systemowego
-
poprawka związana z obsługą WiFi dla Netgear R7500 (ipq806x/generic)
-
poprawka do obsługi portów gigabitowych dla Routerboard RB2011 (ar71xx/mikrotik)
- dodanie modułu
kmod-hwmon-coretemp do obrazów x86/64
(uwaga: zmiana wersji kernela)
- dodanie modułu
kmod-usb-ohci do obrazów ramips/mt7620
- dodanie modułu
kmod-usb-dwc2 do obrazów ramips/rt305x
- dodanie modułu
kmod-usb3 do obrazów x86/64
- dodanie dodatkowego repozytorium zawierającego moduły kernela w konkretnej wersji danego buildu
(uwaga: zmiana wersji kernela)
- możliwy brak kompatybilności binarnej z poprzednim wydaniem (zaktualizowana biblioteka musl i wersja kernela)
- zmiana nazwy plików z obrazami - zawiera teraz numer wydania
- dodanie obrazów z powiększonym obszarem flash dla Netgear R7800
- dodanie obrazów z powiększonym obszarem flash dla Netgear WNDR4300
- dodanie obrazów 16M dla Nexx WT3020
- pierwsza wersja obrazów oparta o LEDE 17.01-SNAPSHOT
Architektury
Dostępny jest klucz publiczny którym podpisane są repozytoria. Jeżeli ktoś chce używać
repozytorium eko.one.pl, a nie używa moich obrazów:
# wget http://dl.eko.one.pl/lede/eko1.pub -O /tmp/eko1.pub
# opkg-key add /tmp/eko1.pub
Aktualnie budowane są następujące architektury:
ar71xx
Firmware przeznaczone dla routerów: D-Link, Netgear, Linksys, TP-Link, Ubiquiti i innych.
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ar71xxipq806x
Firmware przeznaczone dla routerów: Linksys, Netgear, TP-Link
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ipq806xkirkwood
Firmware przeznaczone dla routerów: Linksys, Iomega.
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/kirkwoodmvebu
Firmware przeznaczone dla routerów: Linksys.
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/mveburamips
Firmware przeznaczone dla routerów: Asus, Nexx i innych.
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ramipsx86
Firmware przeznaczone dla urządzeń klasy PC z 64 bitowym procesorem oraz płytek PCEngines APU1/APU2/APU3
Katalog z obrazami:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/x86Zawartość obrazów
Wszystkie obrazy i odmiany budowane są z tego samego źródła. Jako podstawę wykorzystałem
branch LEDE 17.01-SNAPSHOT z niektórymi poprawkami stworzonymi przeze mnie, udostępnionymi w internecie lub zaimportowanymi z gałęzi rozwojowej.
Główna charakterystyka obrazów (dla wszystkich urządzeń):
- lista pakietów dla danego urządzenia zgodna z domyślną listą zawartą w LEDE
- brak środowiska graficznego (GUI), czysta konsola
- obsługa wifi (iw/wpad-mini + odpowiedni sterownik dla danej platformy)
- ustawiona strefa czasowa Europe/Warsaw
- odblokowana możliwość użycia kanałów 12/13 (o ile sterownik to wspiera) - domyślnie włączone opcje REGD/DFS, region ustawiony na PL
- dodany skrypt wyświetlający stan systemu po zalogowaniu się przez ssh
- kolorowanie zgłoszenia shella w konsoli
- zapis historii poleceń konsoli w bieżącej sesji
- dodany skrypt do obsługi statystyk (domyślnie wyłączony w cronie)
Dla urządzeń ze złączem USB i pamięcią flash 4MB obrazy zawierają dodatkowo:
- obsługę systemów plików ext2/ext3/ext4
- brak pakietów związanych z obsługą IPv6
Dla urządzeń ze złączem USB i pamięcią flash 8MB (lub więcej) obrazy zawierają dodatkowo:
- obsługę systemów plików vfat/ext2/ext3/ext4
- pakiet e2fsprogs (tworzenie i naprawa systemów plików ext2/3/4)
Konfiguracja przycisków obejmuje (o ile router posiada przycisk o określonej nazwie wg LEDE):
- rfkill: wyłączenie/włączenie interfejsu radiowego
- reset: naciśnięcie do 1s powoduje restart urządzenia, powyżej 5s - przywrócenie ustawień domyślnych
- power: wyłączenie urządzenia
Zmiany
- ipq806x: dołączona łatka do poprawnego restartu TP-LINK Archer C2600
- Netgear WNDR4300 i R7800: wersje z powiększonym obszarem
rootfsWłasna kompilacja
W katalogu z obrazami można znaleźć pliki
config.seed.* które zawierają opcje z których zostały zbudowane dane obrazy. Aby uzyskać pełen plik konfiguracyjny, należy w katalogu ze źródłami LEDE wykonać np.:
# wget http://dl.eko.one.pl/lede/ścieżka do pliku config.seed.usb
# mv config.seed.usb .config
# make defconfig
Zmiany i dodatkowe poprawki wykorzystane w tych obrazach:
http://dl.eko.one.pl/lede/17.01-SNAPSHOT/patches/Extroot
W wersji dla urządzeń z USB znajduje się już pakiet
block-mount odpowiadający za możliwość zrobienia
extroota. Konfiguracja
extroot opisana jest w w/w dokumencie.
Dalsza konfiguracja
Konfigurację można wykonać po zalogowaniu się przez ssh. W pierwszej kolejności po zalogowaniu należy ustawić hasło:
Interfejs Wi-Fi po instalacji jest domyślnie wyłączony. Włączenie Wi-Fi:
# uci set wireless.@wifi-device[0].disabled=0
# uci set wireless.@wifi-iface[0].ssid=moja_siec
# uci set wireless.@wifi-iface[0].encryption=psk2
# uci set wireless.@wifi-iface[0].key='superTajnehaSlo!14'
# uci commit wireless
# wifi
Inne pakiety można zainstalować z repozytorium, najczęściej dostępne są także odpowiednie konfiguratory graficzne do LuCI dla danego pakietu. Poradniki można znaleźć na
stronie głównej. Zobacz także poradnik
"Podstawowa konfiguracja OpenWrt".
Instalacja LuCI (interfejsu graficznego - GUI)
# opkg update
# opkg install luci
# /etc/init.d/uhttpd enable
# /etc/init.d/uhttpd start
Choć, jeżeli jest dostępne, lepiej od razu zainstalować wersję firmware z LuCI.
LuCI
Dostępna jest wersja LEDE z wbudowanym interfejsem graficznym o nazwie
LuCI. Obrazy te mają też wsparcie dla modemów USB.
Problemy
W razie problemów z działaniem obrazów po własnych modyfikacjach/konfiguracjach można posłużyć się trybem
failsafe.