Aktualne wersje firmware

Zanim przejdziemy do wgrania firmware, należy pobrać odpowiedni dla nas obraz:

Kamikaze 8.09

WersjaUrządzeniaUwagi
brcm-2.4Linksys Wrt54g, Asus WL500g/p/w, Motorola Wr850
brcm47xxLinksys Wrt54g, Asus WL500g/p, Netgear, Motorola Wr850działa tryb AP tylko z WPA2
atherosFonera, Dlink DIR-300 rev. A1
x86Soerkis, PC, Alix

Obrazy dla pozostałych platform dostępne na oficjalnej stronie Kamikaze
Platformy obsługiwane przez Kamikaze oraz ich aktualnie wsparcie Platform Status

Kamikaze 7.09 (stary firmware)

WersjaUrządzeniaUwagi
brcm-2.4Linksys Wrt54g, Asus Wl500(g)(gp),Motorola Wr850
brcm47xx-2.6Linksys Wrt54g, Asus Wl500(g)(gp), Netgear,Motorola Wr850nie działa tryb AP
atheros-2.6Fonera
x86-2.6Soerkis,PC

Obrazy dla pozostałych platform dostępne na oficjalnej stronie Kamikaze
Platformy obsługiwane przez Kamikaze oraz ich aktualnie wsparcie Platform Status

Pakiety z 8.09 i trunka nie pasują do tej wersji firmware ze względu na nowe biblioteki uClibc. Wymagają przekompilowania z SDK 7.09.

WhiteRussian 0.9 (stary firmware)

Instalacja OpenWrt

Instalujesz alternatywne oprogramowanie na własne ryzyko!

Zanim wgrasz alternatywne firmware włącz boot_wait (dotyczy ruterów Linksys)!

Przed wgraniem nowego firmware należy w komputerze ustawić na stałe adres ip. Zwykle będzie to 192.168.1.2 z maska 255.255.255.0. Brama i dns mogą zostać puste. Etap ten jest wymagany, ponieważ w trybie flashowania ruter nie udostępnią żadnych adresów IP!

Asus WL500g Deluxe/Premium

W przypadku routerów ASUSa niemożliwa jest instalacja OpenWrt z oficjalnego firmware. W celu wgrania alternatywnego firmware w tym także OpenWrt WhiteRussian/Kamikaze należy przejść do trybu diagnostycznego (Diag Mode) w następujący sposób:

  • odłączamy router od zasilania,
  • przytrzymujemy przycisk Reset z tyłu routera,
  • podłączamy router ponownie do zasilania,
  • puszczamy przycisk Reset w momencie, gdy lampka Power zacznie migać,
  • jesteśmy już w trybie diagnostycznym.

W zależności jakiego systemu operacyjnego używamy, sposób wgrywania firmware jest nieco inny. Użytkownicy Windowsa mogą użyć dostarczonego wraz z pudełkiem oprogramowanie Restoration Tool, oprogramowanie te również można pobrać z oficjalnej strony ASUSa. Użytkownicy linuksa mogą użyć klientaTFTP i w ten sposób zaprogramować router.

Po przesłaniu firmware to routera następuje programowanie, co trwa w zależności od objętości obrazu od 5 do 10 minut. Pod żadnym pozorem nie wolno nam odłączać routera od zasilanie oraz nie wciskać przycisku Reset z tyłu AP.

UWAGA: Asus WL500g Premium nie posiada możliwość autorestartu po wgranym firmware.

W tym momencie są dwie możliwości:

  • Wariant 1. Nowy firmware zacznie działać bez restartu (przynajmniej w przypadku WL-500gPv2).

Po ok 3 minutach dioda Power zapala się. W tym momencie próbujemy połączyć się telnetem (patrz niżej). Jeśli nie da się połączyć telnetem, przechodzimy do wariantu 2.

  • Wariant 2. Konieczny jest restart.

Gdy minie 5-6 minut odłączamy router od zasilania i podłączamy ponownie. Jeżeli dioda Power nie zaczyna migać to wszystko jest w porządku. Po zapaleniu się diody Air możemy zalogować się do routera po telnecie w następujący sposób:

$ telnet 192.168.1.1

W konsoli zostaniemy przywitani logiem OpenWrt


BusyBox v1.11.2 (2008-10-08 09:00:24 UTC) built-in shell (ash)
Enter 'help' for a list of built-in commands.

  _______                     ________        __
 |       |.-----.-----.-----.|  |  |  |.----.|  |_
 |   -   ||  _  |  -__|     ||  |  |  ||   _||   _|
 |_______||   __|_____|__|__||________||__|  |____|
          |__| W I R E L E S S   F R E E D O M
 KAMIKAZE (8.09, r13118) ----------------------------
  * 10 oz Vodka       Shake well with ice and strain
  * 10 oz Triple sec  mixture into 10 shot glasses.
  * 10 oz lime juice  Salute!
 ---------------------------------------------------
root@OpenWrt:~# 

Następnym krokiem jest ustalenie hasła dla root'a

passwd

Wpisujemy hasło np. admin dwukrotnie, aż pokaże się komunikat Password changed.

Resetujemy nasz router poleceniem

reboot

Po ponownym uruchomieniu logujemy sie znowu na router, ale teraz poprzez konsole bezpieczniejszą - SSH

$ ssh root@192.168.1.1

WhiteRussian

Logujemy się ponownie na router i wprowadzamy wartości nvram w celu zwiększenia pamięci RAM z 16MB do 32 MB oraz poprawnej konfiguracji interfejsów routera dla WL-500g Premium:

nvram set sdram_init=0x0009
nvram set sdram_ncdl=0
nvram set vlan1ports="0 5"
nvram set wan_ifname=vlan1
nvram set lan_ifnames="vlan0 eth2"
nvram set lan_ifname=br0
nvram commit && reboot

lub tylko zwiększenia pamięci dla WL-500g Deluxe(źródło: forum wl500g.info)

nvram set sdram_init=0x2008
nvram set sdram_ncdl=0x0000
nvram commit
reboot

UWAGA: NIE WOLNO POMYLIĆ PARAMETRÓW, BO GROZI TO USZKODZENIEM SPRZĘTU!

Linksys WRT54G[S] v1 - v4, GL

Jeżeli posiadamy wgrany firmware oficjalny, zaleca się wgrać np. Tomato lub HyperWrt w celu włączenia boot_wait interfejs www danego firmware. Potem możemy spokojnie wgrywać poprzez specjalnie przeznaczoną stronę w firmware. Alternatywnym wyjściem jest wgranie za pomocą TFTP

Mororola WR850G/GP v2

Przed wgraniem firmware należy aktywować boot_wait

FON LaFonera

Od wersji 5898 Kamikaze jest wsparcie dla FON LaFoner'y.

Do wgrania firmware musimy zainstalować serwer TFTP na swoim komputerze. Przykład jak to zrobić pod Ubuntu. Mimo ze autor opisu nie wpomina o restarcie PC, trzeba to uczynić, aby serwer działał prawidłowo. Pod Windowsem możemy użyć programu TFTP32

Wgranie nowego firmware do LaFonery wymaga wykonania portu RS232

Podłączamy się przez port szeregowy i włączamy router do zasilania. Naciskamy Ctrl-C, aby przerwać botowanie w ten sposób wejdziemy w bootloader i pojawi sie:

RedBoot>

Konfigurujemy interfejs

 RedBoot> ip_address -l 192.168.1.20/24 -h 192.168.1.2

gdzie 192.168.1.20 to IP przydzielony dla Fonery, a 192.168.1.2 to serwer TFTP
Kasujemy stary firmware (UWAGA: Należy zastosować to koniecznie w przypadku przechodzenia z DD-Wrt na Kamikaze)

 RedBoot> fis init
About to initialize [format] FLASH image system - continue (y/n)? y
*** Initialize FLASH Image System
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Sposób I

Wgrywamy rootfs poprzez TFTP

RedBoot>  load -r -v -b 0x80041000 openwrt-atheros-root.squashfs
Using default protocol (TFTP)
|
Raw file loaded 0x80041000-0x80200fff, assumed entry at 0x80041000

Flaszujemy(potrwa to ok 10minut)

RedBoot> fis create -b 0x80041000 -f 0xA8030000 -l 0x00700000 -e 0x00000000 rootfs
An image named 'rootfs' exists - continue (y/n)? y
... Erase from 0xa8030000-0xa8730000: ................................................................................................................
... Program from 0x80041000-0x80741000 at 0xa8030000: ..............................................................................................................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Wgrywamy obraz vmlinux poprzez TFTP

RedBoot> load -r -b 0x80041000 openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x800f0fff, assumed entry at 0x80041000

Flaszujemy

RedBoot> fis create -r 0x80041000 -e 0x80041000 vmlinux.bin.l7
An image named 'vmlinux.bin.l7' exists - continue (y/n)? y
... Erase from 0xa8730000-0xa87e0000: ...........
... Program from 0x80041000-0x800f1000 at 0xa8730000: ...........
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Restartujemy router

RedBoot>reset

Sposób II

Pobieramy vmlinux po tftp

RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-vmlinux.lzma
Using default protocol (TFTP)
Raw file loaded 0x80041000-0x800f0fff, assumed entry at 0x80041000

Flaszujemy vmlinux

RedBoot> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7
An image named 'vmlinux.bin.l7' exists - continue (y/n)? y
... Erase from 0xa8730000-0xa87e0000: ...........
... Program from 0x80041000-0x800f1000 at 0xa8730000: ...........
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Sprawdzamy wolną pamięć

RedBoot> fis free
    0xA80F0000 .. 0xA87E0000

Na desktopie z linuxem wyliczamy rozmiar wolnej pamięci, polega to na tym ze odejmujemy wiesza wartość od mniejszej. Zakres wolnej pamięci uzyskujemy w poprzednik kroku. Pamiętaj: u każdego może być inna wartość, wiec nie kopiuj bezmyślnie!!

$ bc
obase=16
ibase=16
A87E0000 - A80F0000
6F0000

Pobieramy rootfs po tftp

RedBoot> load -r -b %{FREEMEMLO} openwrt-atheros-root.squashfs
Using default protocol (TFTP)
|
Raw file loaded 0x80041000-0x80200fff, assumed entry at 0x80041000

Flaszujemy rootfs. Zastąp zmienną 0xLENGTH wartością uzyskaną w czasie odejmowania

RedBoot> fis create -l 0xLENGTH rootfs
An image named 'rootfs' exists - continue (y/n)? y
... Erase from 0xa8030000-0xa8730000: ................................................................................................................
... Program from 0x80041000-0x80741000 at 0xa8030000: ..............................................................................................................
... Erase from 0xa87e0000-0xa87f0000: .
... Program from 0x80ff0000-0x81000000 at 0xa87e0000: .

Resetujemy

RedBoot> reset

Sposób III

Mając odblokowany RedBoot możemy użyć narzędzia ap51-flash-fonera dostępnego pod adresem http://download.berlin.freifunk.net/fonera/. Wystarczy podać interfejs sieciowy, plik z rootfs oraz kernelem a następnie włączyć zasilane w ruterze. Całość procesu flashowania zostanie wykonana automatycznie.

Dalej postępujemy zgodnie z instrukcja konfiguracji Kamikaze

Upgrade firmware

cd /tmp
wget <nowe openwrt-atheros-root.squashfs>
wget <nowe openwrt-atheros-vmlinux.lzma>
mtd write openwrt-atheros-vmlinux.lzma  vmlinux.bin.l7
mtd write openwrt-atheros-root.squashfs rootfs
reboot

Źródło dd-wrt wiki

"Heartbeat" FONa

Jak wiadomo oficjalny FW Fona łączy sie co jakiś czas z centrala w celu sprawdzenia aktualnej wersji firmware oraz chilispot. Skrypt znajdujący sie poniżej bazuje na FON Heartbeat script. Skrypt został zmieniony przez ArtQa i działa poprawnie na Kamikaze. Instalacja jest prosta i wymaga oprócz dostępu do Internetu także włączonego crona.

 vi /etc/rc.d/S90thinclient
#!/bin/sh
mkdir /tmp/thin
mkdir /tmp/.ssh
cd /tmp/thin
wget http://artekw.cerbero.pl/fonera/fonkey
wget http://artekw.cerbero.pl/fonera/thinclient.sh
wget http://artekw.cerbero.pl/fonera/known_hosts
mv /tmp/thin/known_hosts /tmp/.ssh/known_hosts
chmod a+x /tmp/thin/thinclient.sh
/tmp/thin/thinclient.sh start 2>&1 | logger
 chmod +x /etc/rc.d/S90thinclient

Restartujemy router.

Przydatne linki:

Dokumentacja bootloadera RedBoot

D-Link DIR-300 rev: A1

Wstęp

Na rynku dostępne są 2 wersje tego routera. Pierwsza wersja wykorzystywała chipset Atheros 2317. Natomiast obecnie dostępna w sklepach rewizja wykorzystuje już chipset Ralinka RT3050. Opis ten dotyczy wyłącznie! wersji 1 bazującej na chipsecie Atheros. Aby zidentyfikować wersje posiadanego routera należy zaglądnąć na spód urządzenia i na naklejce znaleźć litery rev: . Jeżeli mamy rewizje A1 możemy przystąpić do niżej opisanej procedury wgrywania OpenWrt.

Dodatkowym założeniem było maksymalne uproszczenie procedury. Ponieważ wersja stabilna OpenWrt wciąż nie obsługuje switcha montowanego w DIR-300 więc skorzystamy z wersji rozwojowej wyposażonej w bardzo przyjemny interfejs użytkownika Gargoyle.

Przygotowanie

Wyłącz zaporę sieciową w komputerze.

Pliki do pobrania przed instalacja :

  • Odwiedzamy stronę: Gargoyle Download wybieramy: architecture → atheros, branch → 1.0 stable i pobieramy:

gargoyle_1.0.14-atheros-root.squashfs

gargoyle_1.0.14-atheros-vmlinux.lzma

Zaznaczam, że na chwilę obecną (11.2009) wersja rozwojowa 1.1 nie działa w pełni na DIR-300 od razu po instalacji.

* ap61.ram (http://www.dd-wrt.com/routerdb/de/download/D-Link/DIR-300/A1/ap61.ram/2049)

* ap61.rom (http://www.dd-wrt.com/routerdb/de/download/D-Link/DIR-300/A1/ap61.rom/2050)

* putty.exe (http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html)

Instalacja

Rozpakowujemy TFTP server do katalogu i kopiujemy do niego resztę plików, które wymienione są na górze. Uruchamiamy Putty i konfigurujemy nowe połączenie ip: 192.168.20.81, telnet i port 9000. Zmieniamy IP komputera na 192.168.20.80, maska 255.255.255.0. Podłączamy kabel LAN pomiędzy komputerem a wejściem WAN/INTERNET w routerze. Odłączamy kabel zasilający router i powrotem go podłączamy. Restartujemy router trzymając przycisk RESTART przez około 20 sekund i następnie próbujemy się podłączyć za pomocą putty.

Gdy pokażę nam się odzew routera : DIR-300> albo RedBOOT> to znaczy, że się podłączyliśmy. Jeśli nam się nie udało, powtarzamy to dopóki nie pojawi się nam podany wyżej odzew.

Odpalamy tftp Server i w putty’m wpisujemy:

RedBOOT> load ap61.ram

Gdy obraz się załaduje (potwierdzenie ściągania przez tftpd32), wpisujemy:

RedBOOT> go

Sesja telnet zostanie rozłączona. Nie ruszaj routera! Jeśli tak się stało to wszystko przebiega poprawnie.

Zmieniamy IP komputera na 192.168.1.2, maska 255.255.255.0. Podłączamy kabel LAN pomiędzy komputerem a wejściem LAN w routerze. Uruchamiamy Putty i konfigurujemy nowe połączenie ip: 192.168.1.1, telnet i port 9000. Probójemy się połączyć. Jeżeli się uda to pojawi nam się odzew DD-WRT>.

Niektóre polecenia będą wykonywać się przez kilkanaście sekund, podczas których router nie będzie wyświetlać Ŝadnych informacji.

DD-WRT> ip_address -h 192.168.1.2
DD-WRT> fis init
About to initialize [format] FLASH image system - continue (y/n)? **y** 
*** Initialize FLASH Image System 
... Erase from 0xbffe0000-0xbfff0000: . 
... Program from 0x80ff0000-0x81000000 at 0xbffe0000:
DD-WRT> load -r -b %{FREEMEMLO} ap61.rom
DD-WRT> fis create -l 0x30000 -e 0xbfc00000 RedBoot
DD-WRT> reset

Router zostanie uruchomiony ponownie i bedzie ponownie dostępny po ok minucie. Uruchamiamy Putty i konfigurujemy nowe połączenie ip: 192.168.1.1, telnet i port 9000. Probójemy się połączyć. Po udanej podmianie BootLoader'a prztępujemy w końcu do zmiany oprogramowania:

DD-WRT> ip_address -h 192.168.1.2
DD-WRT> fis init
DD-WRT> load -r -b %{FREEMEMLO} gargoyle_1.0.14-atheros-vmlinux.lzma
DD-WRT> fis create -e 0x80041000 -r 0x80041000 vmlinux.bin.l7 
DD-WRT> load -r -b %{FREEMEMLO} gargoyle_1.0.14-atheros-root.squashfs
DD-WRT> fis create rootfs 

I na koncu ustawiamy prawidłowo BootLoader

DD-WRT> fconfig boot_script true
DD-WRT> fconfig boot_script_timeout 5
DD-WRT> fconfig

Nie zmieniamy parametrów - wpisujemy jedynie skrypt startowy dla naszego nowego firmware'u:

fis load -l linux
exec

Zapisujemy dokonane zmiany i resetujemy urządzenie

DD-WRT> reset

Po restarcie router bedzie dostępny na stronie http://192.168.1.1


konfiguracja/instalacja_openwrt.txt · ostatnio zmienione: 2010/01/06 15:31 przez arteq
Do góry
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0