Zmodyfikowany firmware LEDE
Ostatnia zmiana: 2018-08-15 20:21

Oryginalna strona projektu (EN): LEDE
Historia powstania (EN): About the LEDE project

Moje 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.

Parametry domyślne dla wszystkich obrazów:

  • adres IP: 192.168.1.1
  • użytkownik: root
  • 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).

W nazwie pliku jest oznaczenie modelu routera do którego jest on przeznaczony.


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


  • 2018-02-25
    - 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 Engine
Instalacja 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/ar71xx

ipq806x

Firmware przeznaczone dla routerów: Linksys, Netgear, TP-Link

Katalog z obrazami: http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ipq806x

kirkwood

Firmware przeznaczone dla routerów: Linksys, Iomega.

Katalog z obrazami: http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/kirkwood

mvebu

Firmware przeznaczone dla routerów: Linksys.

Katalog z obrazami: http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/mvebu

ramips

Firmware przeznaczone dla routerów: Asus, Nexx i innych.

Katalog z obrazami: http://dl.eko.one.pl/lede/17.01-SNAPSHOT/targets/ramips

x86

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/x86

Zawartość 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 program ftpput
  • 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ę USB
  • obsługę usb_storage
  • obsługę systemów plików ext2/ext3/ext4
  • pakiet block-mount
  • 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ę USB
  • obsługę usb_storage
  • obsługę systemów plików vfat/ext2/ext3/ext4
  • pakiet block-mount
  • 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 rootfs

Wł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:


    # passwd

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.