RouterStation Pro, domy?lnie wgran? ma ju? dosy? star? wersj? OpenWrt i z ca?? pewno?ci? ka?dy, pr?dzej czy pó?niej zamarzy o jego aktualizacji. Niestety, proces ten przy pomocy narz?dzia sysupgrade nie b?dzie mo?liwy, gdy? standardowy system nie wspiera tej?e funkcji. Niniejszy opis, mo?e okaza? si? pomocny tak?e dla osób, które lubi? "majsterkowa?", a RSPro wykorzystuj? jako platform? testow? i ca?kiem "przypadkiem" uda im si? po?o?y? ten ruter.
Zanim jednak przejdziemy do sedna, chcia?bym wyja?ni? ró?nice w nazewnictwie wersji. Od pewnego ju? bowiem czasu OpenWrt udost?pniane jest w dwuch obrazach: factory oraz sysupgrade. Pierwszy z nich, nadaje si? do aktualizacji wy??cznie poprzez tftp (niekiedy jest to jedyna mo?liwo??). Wersja sysupgrade z kolei umo?liwia aktualizacj? z poziomu dzia?aj?cego systemu z mo?liwo?ci? zachowania aktualnej konfiguracji. Niestety wymaga ona wsparcia ze strony ju? zainstalowanego firmware, którego RouterStation Pro domy?lnie nie posiada.
UWAGA: Zanim przyst?pisz do aktualizacji, przeczytaj dok?adnie poni?szy opis i pami?taj, ?e alternatywne oprogramowanie instalujesz tylko i wy??cznie na w?asne ryzyko!
1. Post szeregowy
Do aktualizacji firmware wykorzystywa? b?dziemy konsol? i niezb?dny w tym celu port szeregowy (COM/RS232/DB9). Na pocz?tku nale?y si? zatem upewnic i? zainstalowana dystrybucja Linuksa posiada wbudowane wsparcie dla tego z??cza oraz czy poprawnie rozpoznaje porty. Oczywi?cie niezb?dny jest fizyczny port COM na p?ycie g?ównej komputera, cho? jego brak nie jest wielkim problemem, gdy? skorzysta? mo?na zawsze z odpowiedniego adaptera pod??czanego pod port USB (USB to Serial Adaptor). Nale?y jednak przy tym zwróci? szczególn? uwag? na zastosowany chip, gdy? nie ka?dy mo?e by? wspierany przez system i nie ka?dy umo?liwia pod??czenie wszystkich urz?dze?. Najbardziej zaufanym w?ród uzytkowników wydaje si? by? uk?ad Prolific PL-2303. Je?eli kwesti? sprz?tow? mamy ju? z g?owy, pozostaje sprawdzenie obs?ugi seriala w systemie. W przypadku wbudowanego portu COM:
LAPEK / # dmesg | grep tty
ttyS0 at 0x03f8 (irq = 4) is a 16550A
ttyS1 at 0x02f8 (irq = 3) is a 16550A
W przypadku, gdy wykorzystywany jest adapter, nale?y wcze?niej za??dowa? odpowiedni modu? (o ile nie zosta? za?adowany automatycznie), mo?na uzy? poni?szego polecenia:
LAPEK / # dmesg | grep serial
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial Driver core
pl2303: Prolific PL2303 USB to serial adaptor driver
2. Oprogramowanie
Niezwykle wa?ne jest oprogramowanie, które umo?liwi przes?anie obrazu firmware - tftp, oraz aplikacja umo?liwiaj?ca komunikacj? z ruterem za po?rednictwem seriala. Osobi?cie preferuj? putty, jednak równie dobrze mo?na przekonfigurowa? inittab - wi?cej informacji tutaj.
2a. Instalacja tftp
Instalacja tftp nie powinna przysporzy? wi?kszych problemów, jednak mo?e si? znacz?co ró?ni? w zale?no?ci od u?ywanej dystrybucji. W przypadku Ubuntu ca?o?? sprowadza si? do jednej prostej komendy:
apt-get install tftp
2b. Instalacja putty
Podobnie jak w przypadku instalacji tftp, czynno?? ta uzalezniona jest od posiadanej dystrybucji Linuksa. W przypadku debiana, b?dzie to zapewne:
apt-get install putty
Niestety nie uzywam na codzie? Ubuntu, w zwi?zku z czym powy?sze polecenia mog? si? troch? ró?ni?.
3. Aktualizacja oprogramowanie
Na wst?pie nale?y pod??czy? RouterStation Pro do komputera za po?rednictwem portu szeregowego oraz kabla LAN (UWAGA: kabel nale?y pod??czy? do portu WAN, oznaczonego równie? jako port POE). Nast?pnie ze strony http://downloads.openwrt.org/snapshots/trunk/ar71xx/ nale?y pobra? plik o nazwie: openwrt-ar71xx-generic-ubnt-rspro-squashfs-factory.bin, oraz podnie?? interfejs sieciowy:
ifconfig eth0 down
ifconfig eth0 192.168.1.100 netmask 255.255.255.0 up
Oczywi?cie nie musi by? to eth0. W zale?no?ci od ilo?ci posiadanych, oraz od u?ywanej karty sieciowej, mo?e to by? eth1 lub cokolwiek. Nale?y wcze?niej sprawdzi? to, u?ywaj?c polecenia ifconfig. Pod ?adnym warunkiem nie nale?y jednak u?ywa? interfejsu WLAN!
Gdy ju? wszystko jest przygotowane nale?y uruchomi? konsol?, b?d? okno terminala (uzytkownicy KDE mog? skorzystac z Konsole) oraz wyda? polecenie: ping 192.168.1.20, które rozpoczanie pingowanie portu POE (jest to domy?lny adres IP rutera). Pocz?tkowo ruter nie b?dzie odpowiada?, gdy? powinien by? nadal ca?y czas wy??czony. W tym momencie nale?y wcisn?? przycisk "reset" i trzymaj?c go w??czy? RSPro. Przycisk reset nale?y trzyma? wci?ni?ty przez ok 10 sekund, do momentu gdy zapali si? dioda oznaczona jako RF. Ruter powinien zacz?? odpowiada? na ping - st?d wiadomo i? po??czenie jest prawid?owo zestawione. Teraz nale?y uruchomi? program putty, za pomoc? którego nawi?zane zostanie po??czenie przez port szeregowy. Wszystkie parametry w tym programie powinny zosta? odpowiednio skonfigurowane:
- Connection type: Serial
- Serial line: /dev/ttyS0 (lub inny, w zalezno?ci od tego, jaki port jest w u?yciu; dla adaptera USB mo?e by? to /dev/ttyUSB0)
- Speed: 115200
- Data bits: 8
- Stop bits: 1
- Parity: None
- Flow control: none
Po wci?ni?ciu przycisku Open, na ekranie powinno pojawi? si? nowe okno z informacjami, jakie ruter wysy?a przez port szeregowy:
TFTPD waiting for connection....
W tym momencie nale?y otworzy? kolejne okno konsoli, a w nim wpisa? kolejno wyt?uszczone polecenia:
tftp 192.168.1.20
tftp> status
Connected to 192.168.1.20.
tftp> timeout 60
tftp> binary
tftp> trace
Packet tracing on.
tftp> verbose
Verbose mode on.
tftp> put /sciezka/do/pliku-z-firmware.bin
Po wpisaniu ostatniego polecenia ruter powinien w pewnym momencie przesta? odpowiada? na ping - oznacza to, i? urz?dzenie si? resetuje. Nale?y teraz przepi?? skr?tk? z portu POE/WAN do portu LAN1. Nowo wgrany firmware zmienia domy?lny adres routera na 192.168.1.1. Poleceniem ping mo?na sprawdzi? mi?dzy innymi czy flashowanie przebieg?o pomy?lnie i czy router odpowiada. Poza tym w programie putty powinny by? dost?pne logi z procesu uruchamiania nowo wgranego systemu.
UWAGA: Niezb?dne jest ustawienie has?a root'a, gdy? bez tego nie ma mo?liwo?ci zalogowania si? poprzez SSH! Zrobi? to mo?na u?ywaj?c telneta, b?d? putty, który umo?liwia nawi?zanie po??czenia równie? przez ten protokó?!
Odno?niki do innych stron: