Zmodyfikowany firmware OpenWrt Chaos Calmer
Ostatnia zmiana: 2016-11-12 20:46

Domyślne obrazy OpenWrt nie zawierają paru rzeczy które warto by mieć od razu np. wsparcie dla USB. Moje obrazy budowane są na podstawie bieżącej gałęzi OpenWrt Chaos Calmer i zawierają modyfikacje które uważam za niezbędne lub wartościowe i powinny być domyślnie włączone do budowanych obrazów. Dlatego też moje obrazy różnią się od oryginalnych wydawanych przez zespół OpenWrt 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:

  • użytkownik: root
  • hasło: brak (do ustawienia przez telnet)
  • adres IP: 192.168.1.1
czyli tak samo jak w standardowym OpenWrt.

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


Obraz z factory w nazwie służy do instalacji z oryginalnego oprogramowania.
Obraz z sysupgrade w nazwie służy do aktualizacji z poziomu OpenWrt lub Gargoyle.

Historia zmian

  • data wydania - numer/lista zmian w OpenWrt
    - lista moich zmian


    (uwaga: zmiana numeru wersji kernela - 3.18.44 - m.in. poprawki bezpieczeństwa "DirtyCOW")
    - przejście na nową lokalizację źródeł CC z GitHuba
    - dodanie poprawki do obsługi switcha dla RouterBOARD 951G
    - dodanie poprawki do numeracji wersji
    - obsługa LED dla TP-LINK TL-WR841N v11 (ar71xx)
    - dodanie obrazów dla Linksys WRT3200ACM (mvebu)
    - dodanie obrazów dla ZBT WE826 (ramips)
    - przywrócenie obrazów dla TP-LINK TL-WR810N (ar71xx)
    - naprawa (ponowna) obrazów dla Asus WL-300N3G (ramips)
    - dodanie poprawki dla portów szeregowych MOXA UPORT 11x00


    (tylko dla platformy mvebu)


    (uwaga: zmiana numeru wersji kernela - 3.18.36)
    - obrazy dla TP-LINK TL-WR810N (ar71xx)
    - obrazy dla ZBT-CPE102 (ramips)
    - dodatkowe pakiety w repo: ussd159, netdata, littlewire


    - obrazy dla TL-LINK TL-WR842N v3 (ar71xx)


    - dodanie obsługi LED wifi dla WD My Net N750 (ar71xx)
    - poprawka dla TP-LINK TD-W89x0 (lantiq) - wyłączenie wskazania sieci 5GHz


    (uwaga: zmiana numeru wersji kernela - 3.18.29)
    - poprawka eliminująca problem z zawieszaniem się ar71xx na konsoli szeregowej
    - poprawka dla niektórych modeli D-Link (ramips)
    - wyłączenie IPv6 w pakiecie oscam
    - dodanie obrazów dla E-Lins/Proroute H685/H820 (ramips)
    - naprawa obrazów dla Asus WL-300N3G (ramips)
    - dodanie obsługi LED wifi dla WD My Net N600 (ar71xx)
    - pakiety adblock/luci-app-adblock w moim repozytorium


    (uwaga: zmiana numeru wersji kernela - 3.18.27)
    - naprawa ładowania modułu kmod-video-uvc


    - dodanie pakietu kmod-ath10k dla obrazów Netgear R6100 (ar71xx.nand)
    - nowe pakiety w repozytorium: mtd-rw oraz tvheadend

    - poprawka do obsługi portów gigabitowych dla Routerboard RB2011 (ar71xx.mikrotik)
    - dodanie wsparcia dla modemu Quectel EC20
    - (LuCI) dodanie pakietu kmod-usb-serial-qualcomm do obrazów

    - ulepszona identyfikacja dla niektórych modeli NETGEAR WNDR3xxx (ar71xx)
    - obrazy dla TP-Link Archer C50v1 (ramips.mt7260)
    - aktualizacja pakietów bcm63xx-phone dla Huawei HG553 (brcm63xx)
    - (LuCI) zmiany związane z ipv6 w obsłudze protokołów WWAN/QMI/NCM
    - pakiet sshpass w repozytorium

    - dodanie obrazów dla TP-Link TL-WR710N v2.1 (ar71xx)
    - dodanie obrazów dla TP-Link TL-WR1043ND v3 (ar71xx - backport)
    - (LuCI) dodanie obsługi protokołów WWAN, QMI, NCM

    - dodanie obrazów dla TP-Link TD-W8980 (lantiq - backport z trunka)

  • 2015-11-17 - r47466 - ar71xx.mikrotik
    - dodanie obrazów dla routerów Mikrotik (ar71xx)

    - dodanie poprawki Tweak DWC2 fifo parameters on lantiq

    (uwaga: zmiana numeru wersji kernela - 3.18.23)
    - naprawa działania diody status przy uruchamianiu systemu dla Xiaomi MiWiFi Mini (ramips)

    - dodanie obrazów dla GL-AR150 (ar71xx)
    - rozdzielenie sposobu budowania obrazów dla platformy mvebu, oddzielne profile dla poszczególnych urządzeń Linksysa
    - zmiana nazwy obrazów dla TP-LINK Archer C5 (ar71xx) - dodanie numeru wersji sprzętowej
    - paczka bandwidthd na życzenie użytkowników
    - (LuCI) zmiany wizualne w aplikacji statystyk eko.one.pl uwzględniające wygląd przycisków dla motywu Material

    - dodanie kompresji ram dla Asus WL-330N (ramips), Hame MPR-A1 (ramips) i Huawei D105 (ramips)

    - naprawa obrazów dla Tenda 3G150B (ramips)
    - (LuCI) dodanie motywu Material
    - (LuCI) dodanie aplikacji commands (Własne komendy)
    - (LuCI) dodanie do modułu statystyk informacji o czasie ostatniej aktualizacji

    - brak "czystych" obrazów dla TP-LINK WR842N v1 i TP-LINK MR3420/MR3220 v1 8M (ar71xx)

    (uwaga: zmiana numeru wersji kernela - 3.18.21)
    - zmiana nazewnictwa plików z obrazami
    - zmiana repozytorium na 15.05 (final)
    - zmiana miejsca przechowywania url repozytorium (obecnie w /etc/opkg/distfeeds.conf)
    - naprawa wysyłania trybu pracy modemu dla połączeń NCM
    - włączenie external amplifier dla Xiaomi MiWiFi Mini (ramips)
    - dodanie kmod-usb3 do obrazów Belkin AC1750DB (ar71xx)

    (uwaga: zmiana numeru wersji kernela - 3.18.20)
    - dodanie modułu kmod-video-gspca-spca1528
    - usunięcie obsługi vfat z obrazów dla Edimax 3G-6200n (ramips)

    - aktualizacja obrazów dla Linksys EA4500/E4200v2 (kirkwood) - dodanie brakującego pakietu wpad-mini

    (uwaga: zmiana numeru wersji kernela - 3.18.19)
    - usunięcie problemu z podwójnym wyświetlaniem pomocy w trybie failsafe
    - obrazy 8M LuCI dla TP-LINK TL-MR3020 (ar71xx)
    - naprawa obrazów dla NEXX WT1520 4MB (ramips)
    - nowy pakiet w repozytorium: comgt-hso
    - aktualizacja 3ginfo

    - dodanie firmware RT3062.eeprom do obrazów ZyXEL P-2812HNU-Fx (lantiq)
    - dodanie obrazów initramfs dla ZyXEL P-2812HNU-Fx (lantiq)
    - dodanie plików z uboot dla ZyXEL P-2812HNU-Fx (lantiq)

    - naprawa trybu failsafe dla platformy ralink (mt7620)

  • 2015-07-19
    - naprawa obrazów Chaos Calmer 15.05 dla Sagem F@st 2704v2 (brcm63xx)

    (uwaga: zmiana numeru wersji kernela - 3.18.18)
    - import pakietów z trunka: arpwatch, pptpd, usbip/usbip-client/usbip-server
    - możliwość pracy protokołu ncm przy wykorzystaniu wwan
    - obrazy 8M LuCI dla TP-LINK TL-WR703N, TL-MR3220, TL-MR3420 (ar71xX)
    - usunięcie modułu spi-bcm63xx z kernela dla Huawei EchoLife HG553
    - dodanie pakietów asterisk11-chan-bcm63xx/bcm63xx-phone-test/kmod-bcm63xx-phone do obsługi linii FXS w Huawei EchoLife HG553
    - dodanie poprawki do obsługi NCM dla modemów Huawei
    - aktualizacja repozytorium OpenWrt do wersji 15.05 RC3
    - usunięcie z obrazów LuCI miniupnpd/luci-app-upnp (można doinstalować)

  • 2015-07-06
    - obrazy LuCI dla TRENDnet TEW823DRU

  • 2015-07-05
    - aktualizacja obrazu LuCI dla TP-LINK TD-W8970 (lantiq)

    (uwaga: zmiana numeru wersji kernela - 3.18.17)
    - obrazy dla Sagem F@ST2704v2 (brcm63xx)
    - TP-LINK TD-W8970: zwiększenie ilości wolnej pamięci flash przez usunięcie partycji dsl_fw, usunięcie pakietów związanych z IPV6 (można doinstalować ręcznie)
    - platforma mvebu - zmiana nazw obrazów routerów na bardziej czytelną

  • 2015-06-30
    - aktualizacja obrazów ar71xx dla urządzeń z 4MB i USB

    - dodanie obrazów 16M dla Nexx WT3020 (ramips)

  • 2015-06-22
    - naprawa wyświetlania klientów wifi w statusie routera
    - dołączenie pakietu umbim do obrazów LuCI

    - pierwsza wersja obrazów oparta o CC (poprzednie były oparte o BB)
    - poprawnie wskazywanie repozytorium pakietów na 15.05-rc2

Architektury

Jeżeli ktoś chce używać mojego repozytorium, a nie używa moich obrazów:


    # cd /tmp
    # wget http://dl.eko.one.pl/chaos_calmer/eko1.pub
    # opkg-key add eko1.pub
    # echo 'src/gz eko1 http://dl.eko.one.pl/chaos_calmer/ARCH/packages/' >> /etc/opkg/customfeeds.conf
    # opkg update

Za ARCH należy podstawić odpowiednią nazwę architektury (parz poniżej).

ar71xx

Firmware przeznaczone dla routerów: D-Link, Netgear, Linksys, TP-Link, Ubiquiti i innych.

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/ar71xx
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/ar71xx/packages/

brcm63xx

Firmware przeznaczone dla routerów: Huawei, Sagem.

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/brcm63xx
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/brcm63xx/packages/

kirkwood

Firmware przeznaczone dla routerów: Linksys.

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/kirkwood
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/kirkwood/packages/

lantiq

Firmware przeznaczone dla routerów: Zyxel, TP-Link i innych.

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/lantiq
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/lantiq/packages/

mvebu

Firmware przeznaczone dla routerów: Linksys.

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/mvebu
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/mvebu/packages/

ramips

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

Katalog do pobrania obrazów: http://dl.eko.one.pl/chaos_calmer/ramips
Katalog z pakietami dla tych obrazów (repozytorium): http://dl.eko.one.pl/chaos_calmer/ramips/packages/

Zawartość obrazów

Wszystkie obrazy i odmiany budowane są z tego samego źródła. Jako podstawę wykorzystałem OpenWrt Chaos Calmer z niektórymi poprawkami zaimportowanymi z trunka, z dołączonymi (wkompilowanymi) następującymi elementami:

  • 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), region ustawiony na PL (domyślnie włączone opcje REGD/DFS)
  • 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)
Dodatkowo dla urządzeń ze złączem USB obrazy zawierają:

  • 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)
Niektóre obrazy (w szczególności dla routerów z 4MB pamięci flash) mogą nie zawierać domyślnych pakietów związanych z obsługą IPv6. Można je doinstalować ręcznie np. po wykonaniu exroota.

Konfiguracja przycisków obejmuje (o ile router posiada przycisk o określonej nazwie wg OpenWrt):
- 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 w obrazach dla niektórych routerów

(brakujące rzeczy można doinstalować po zrobieniu extroota)
- routery z 4MB flash i USB: brak w obrazach pakietów związanych z IPv6
- Asus WL-330N: brak w obrazie pakietów związanych z ipv6, brak obsługi systemu plików vfat, kompresja pamięci ram
- Asus WL-330N3G: brak w obrazie pakietów związanych z ipv6, brak obsługi systemu plików vfat
- Edimax 3G-6200n: brak w obrazie pakietów związanych z ipv6, brak obsługi systemu plików vfat
- HAME MPR-A1: brak w obrazie pakietów związanych z ipv6, brak obsługi systemu plików vfat, kompresja pamięci ram
- Hauwei D105: brak w obrazie pakietów związanych z ipv6, brak obsługi systemu plików vfat, kompresja pamięci ram
- Huawei Echolife HG553: port LAN4/TV wydzielony jako WAN, usunięcie modułu spi-bcm63xx z kernela
- Netgear WNDR3700 v4/WNDR4300: zmiana rozmiaru partycji głównej (ubifs) do pełnej wielkości flash
- Sagem F@st2704v2: zmiana przycisku działania przycisku WiFi, port LAN4 wydzielony jako WAN
- Teltonika RUT500: jako port WAN ustawiony modem HSPA
- TP-LINK Archer C5/C7v2: naprawa działania przełącznika "Wireless On/Off"
- TP-LINK Archer C7v1: niedziałanie przełącznika "Wireless On/Off" (z w/w powodu)
- TP-LINK TD-W8970: usunięcie partycji dsl_fw
- TP-LINK TL-WDR4300: nie są budowane obrazy dla wersji sprzedawanej w Izraelu (IL)
- mikrotik: dodatkowe pakiety od wifi - kmod-ath5k, kmod-ath9k, kmod-ath10k

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 telnet. W pierwszej kolejności po zalogowaniu przez telnet należy ustawić hasło:


    # passwd

Interfejs Wi-Fi po instalacji jest domyślnie wyłączony. Włączenie wifi:


    # 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=SuperTajneHaslo9
    # 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 (luci-app-p910nd, luci-app-tinyproxy luci-app-qos luci-app-upnp luci-app-samba luci-app-p2pblock luci-app-statistics). Jeżeli chcemy określoną funkcjonalność należy doinstalować:
- udostępnianie plików przez "otoczenie sieciowe": samba
- ściąganie torrentów: transmission
- karta muzyczna, serwer plików mp3, odtwarzanie radia internetowego: mpd
- połączenie z neostradą/netią PPPoA
- połączenie z modemem 3G/LTE: HSDPA
- serwer wydruku: p910nd
- serwer DLNA

Instalacja LuCI (interfejsu graficznego - GUI)


    # opkg update
    # opkg install luci
    # /etc/init.d/uhttpd enable
    # /etc/init.d/uhttpd start

Inne elementy do ustawienia opisane są w osobnym dokumencie.

Problemy

W razie problemów z działaniem obrazów po własnych modyfikacjach/konfiguracjach można posłużyć się trybem failsafe.

LuCI

Dostępna jest wersja OpenWrt z wbudowanym interfejsem graficznym o nazwie LuCI. Obrazy te mają też wsparcie dla modemów GSM/USB i wiele innych modułów.