v žití ze mě občas vypadne i to, z čeho mohou mít užitek i jiní a tady Vám to chci dát

OpenWRT a přesný čas na WL-520gU

May 30, 2011 v Linux od Michal

Oprava firmware pro bezdrátový router WL-520gU.

Pokud nahrajete firmware openwrt-brcm-2.4-squashfs.trx do Vašeho milovaného ASUS routeru WL-520gU, záhy zjistíte, že se čas oproti reálnému bude silně rozcházet. Hodiny se výrazně odchýlý a to už i po několika minutách. Řešením může být, že do cronu hodíte co pár minut rdate na časový server, ale to je řešení naprosto nečisté a pouze se zbavuje následků bez řešení příčiny. A to ani nemluvím o nevhodnosti, pokud je časový server mimo lokální síť. Vše lze vyřešit čistě následujícím postupem ...

Problém ujíždějícího času vznikl následovně. Jádro brcm-2.4-squashfs předpokládá, a je i tak zkompilováno, že procesor poběží na taktovací frekvenci 240 MHz. A jako na potvoru zrovna WL-520 je taktován pouze na 200 MHz. Nejednodušším řešením, pokud nepotřebujute zvláštní funkce nebo modifikaci jádra podle sebe, je použít hotový opravený zkompilovaný firmware pro WL-520 z tohoto odkazu:

http://www.emuf.cz/download/openwrt/correct_time_brcm2_4/openwrt-brcm-2.4-squashfs.trx

Hash MD5:

ec61d47f87522525fcfa52e93a3bbce0 *openwrt-brcm-2.4-squashfs.trx

Součástí FW jsou následující moduly:

base-files - 43.10-unknown
busybox - 1.15.3-2
dnsmasq - 2.55-6
dropbear - 0.52-4
firewall - 1-20
iptables - 1.4.6-2
iptables-mod-conntrack - 1.4.6-2
iptables-mod-nat - 1.4.6-2
kernel - 2.4.37.9-1
kmod-brcm-wl - 2.4.37.9+4.150.10.5.3-7
kmod-diag - 2.4.37.9-7.1
kmod-ipt-conntrack - 2.4.37.9-1
kmod-ipt-core - 2.4.37.9-1
kmod-ipt-nat - 2.4.37.9-1
kmod-ipt-nathelper - 2.4.37.9-1
kmod-ppp - 2.4.37.9-1
kmod-pppoe - 2.4.37.9-1
kmod-switch - 2.4.37.9-3
kmod-wlcompat - 2.4.37.9+4.150.10.5.3-7
libc - 0.9.30.1-43.10
libgcc - 3.4.6-43.10
libiptc - 1.4.6-2
liblua - 5.1.4-7
libuci - 12012009.6-2
libuci-lua - 12012009.6-2
libxtables - 1.4.6-2
lua - 5.1.4-7
mtd - 13
nas - 4.150.10.5.3-7
nvram - 7
opkg - 576-1
ppp - 2.4.4-11
ppp-mod-pppoe - 2.4.4-11
uci - 12012009.6-2
uhttpd - 21
wireless-tools - 29-4
wlc - 4.150.10.5.3-7

 

Jinak pro zvídavé nebo pro ty, co vyžadují speciální moduly je zde uveden postup jakým způsobem vlastní jádro zkompilovat.

Nejprve je třeba stáhnout požadované zdrojáky podle postupu

https://dev.openwrt.org/wiki/GetSource

Následuje kontrola systému, zda máte vše co budete potřebovat ke kompilaci.

Kompilaci jsem prováděl na debianu, cílová architektura je logicky MIPS.

uname -a
Linux debian 2.6.8-2-386 #1 Thu May 19 17:40:50 JST 2005 i686 GNU/Linux

Po vyřešení potřebných závislostí (podle INSTALL, nebo podle toho co kde zařve :) )

v případě nesnází koukněte na: 

http://kamikaze.openwrt.org/docs/openwrt.html#x1-410002.1.1

zadejte:

./scripts/feeds update
make package/symlinks
make menuconfig

Nastavte vše co potřebujete, pro inspiraci můj konfigurační soubor je zde:

http://www.emuf.cz/download/openwrt/correct_time_brcm2_4/config

Čas na aplikaci záplat (nutno provést opakovaně po každém make clean):

wget "http://www.emuf.cz/download/openwrt/correct_time_brcm2_4/patch/correct_time.patch"
patch -i -p0 correct_time.patch

Nespoléhejte na to, že kompilace proběhne jen tak košer a rovnou zadejte:

make V=99

A dál postupujte jako při každé kompilaci v Linuxu, jak se něco podělá opravte to Laughing.

(pokud zlobí nějaký modul a nebudete ho potřebovat, tak nejjednošší cestou je vyhodit jej z kompilace např. CRDA,AOE,AOETools, ...)

 

Odpovědět

Komentáře k tomuto příspěvku jsou zakázány.