Zarizeni
- procesor: MIPS 4Kc V0.11 - 175 MHz
- operacni pamet: SDRAM 16 MB
- pametove medium: flash 2 MB
- nevyvedene vystupy (potreba pripajet): 2x USB 1.1, JTAG, seriovy port
- vyvedene vystupy: napajeni 12 V, 5x RJ45 port
- switch: onboard 6port ADM5120 (plne ovladatelny port VLAN, bez podpory VLAN tag insert/remove/filtering)
- LED: pritomnost a aktivita pripojky switche, diagnosticka led
- tlacitka: reset
Aktuality
- 20.12.2006 - testovaci svn verze firmware zde - neni urcen pro amatery, neobsahuje webove rozhrani a doporucuji mit pripojenou seriovou konzoli
- 18.11.2006 - vzhledem k vetsimu zajmu ze strany lidu jsem se rozhodl projekt vice otevrit, kompletne znovu prekopat distro do zverejnitelneho stavu; prubezne informace a verze zde
- 09.07.2006 - aktualizovana edice routing ve verzi 002 - obsahuje posledni upravy a mnoho uzivatelskych nastaveni ve webu! (zde)
- 09.07.2006 - nova verze mezifirmware web.bin s flashovanim koncoveho firmware pres webove rozhrani (zde)
- 04.07.2006 - k dispozici prvni testovaci revize verze 002 (odkaz)
Firmware
Firmware vychazi z puvodnich verzi firmware Midge,
jehoz vyvoj v puvodni podobe jiz davno skoncil, na starost ho mel ukrajinsky kolega Vladislav Moskovets.
Prirozenym vyvojem vznikla dalsi SVN verze, ktera si zaklada na implementaci v openwrt, avsak ja se rozhodl
cerpat z puvodni tvorby. Radikalne jsem firmware prestavel, inovoval buildroot, predelal patche, inovoval
konfiguraky, skripty apod.
Limity
Flash ma velikost pouze 2MB, z toho vyplyva zakladni omezeni, proto je cely firmware netradicne staven
do tri casti - kernel, vysoce komprimovana cast firmware read only, zapisovatelna oblast jffs2. JFFS2
komprese neni bohuzel tak ucinna, navic ma vysokou rezii prepisu, takze prakticky slouzi jenom pro
pridani mikroutilit a predevsim konfiguracnich souboru apod. Ze zminenych duvodu existuje vice tzv. edic,
ktere obsahuji jine utility.
Pro flashovani z webu od vyroby musi firmware obsahovat specialni 64 kB hlavicku - toto misto vsak
na flash citelne chybi pro utility, proto jsem vytvoril tzv. mezifirmware ciste pro flashnuti pres web,
abyste nemuseli zarizeni rozebirat. Po naflashovani mezifirmware do zarizeni nakopirujete cilovy firmware
a pomoci utility dd jej zapisete do flash. Mezifirmware obsahuje vsechny potrebne zakladni utility pro
naflashovani - wget, tftp, dropbear (pro scp prenos)...
Zarizeni vykonove limituje procesor - maximalni softwarove bridgeovatelne/routovatelne maximum je cca
10-30 mbps v zavislosti na pouzitych filtrech, shaperech, daemonech atd. Pri testu s vypnutymi specialnimi
funkcemi (shaper, forward, atd.) se load average pri zatizeni forwardem 10 mpbs pohyboval na hodnote 0.07
pri poctu paketu 2000 za sekundu.
Edice routovaci
Obsahuje prakticky vse zakladni a dulezite pro beh routeru:
- iptables - filter, nat, mangle; iproute - ip, tc
- quagga - zebra, ospfd
- ipp2p, layer7, imq, connmark, htb
- dropbear (ssh), dnsmasq (dhcp)
- crond (casovane cinnosti), kernel logging
- httpd server s podporou CGI sh skriptu
- ntpclient (casova synchronizace), syslogd
- telnet klient, tftp klient, ssh klient
- ping, traceroute, vconfig
- awk, sed, vi, dd, expr...
Edice bridge
Umoznuje vytvorit softwarovy (transparentni) switch s pokrocilym shapingem a filtry:
- iptables - filter, nat, mangle; iproute - ip, tc
- bridge utils (brctl), ebtables
- ipp2p, layer7, imq, connmark, htb
- dropbear (ssh), dnsmasq (dhcp)
- crond (casovane cinnosti), kernel logging
- httpd server s podporou CGI sh skriptu
- ntpclient (casova synchronizace), syslogd
- telnet klient, tftp klient, ssh klient
- ping, traceroute, vconfig
- awk, sed, vi, dd, expr...
Edice monitor
Zakladni funkce pro monitoring - predevsim rrdtool:
- rrdtool
- iptables - filter, nat, mangle
- dropbear (ssh)
- crond (casovane cinnosti), kernel logging
- httpd server s podporou CGI sh skriptu
- ntpclient (casova synchronizace), syslogd
- telnet klient, tftp klient, ssh klient
- ping, traceroute, vconfig
- awk, sed, vi, dd, expr...
Co ve firmware nenajdete
- wireless extensions, wireless tools
- pppd, pptp, pppoe
- podpora USB
- ESFQ - momentalne nefunguje
- Windows :)
- ...
Instalace
1. stahnete verzi 002 mezifirmware web.bin na
tomto odkazu
2. nastavit na sitovce ip 192.168.2.2 maska 255.255.255.0 a pripojit do lan portu edimaxu
3. vlezt do rozhrani http://192.168.2.1/ , defaultne prihlaseni admin / 1234
4. flashnout pres webove rozhrani web.bin
5. pockat na naflashovani, boot muze trvat az 3 minuty, dioda pote zpomali na interval 1s
6. vlezt na http://192.168.2.1/ , popripade taky mozno na http://192.168.1.1/ na wan portu
7. stahnout koncovy firmware, flashnout koncovy firmware, flashovaci proces vygeneruje 2 chybove
hlasky zpusobene prepsanim pameti, pote je nutno vytahnout zarizeni z napajeni a opet
napajeni zastrcit
8. pockat na dobootovani, prvni boot diky vytvareni adresarove a souborove struktury a generovani
ssh klicu muze trvat nekolik minut, LED dioda pote zpomali na frekvenci 1s (nedodrzenim
postupu muze dojit k zablokovani zarizeni a obnova bude mozna jen pomoci seriove konzole)
9. hotovo, mozno prihlasit pres ssh root/root nebo do weboveho rozhrani, pokud je ve firmware
implementovano
Nastaveni
Nejdulezitejsi nastaveni:
-
IP adresy a routy:
- v /etc/network/interfaces , problem je s nastavenim aliasu
-
Zarazeni portu do vlanu (sitovky eth0-eth4):
- v /etc/init.d/S10switch, predpripraveny dve nejbeznejsi nastaveni, jedna
se o scitani hexa cisel reprezentujici jednotlive porty, opatrne s nastavenim,
pri chybe by nemusela sit najet
-
NTP server (casova synchronizace):
- nvram set sluzby_ntp_server tik.cesnet.cz
-
DHCP server:
- /etc/dnsmasq.conf zakladni konfigurace, uzivatele v /etc/ethers
generuje webove rozhrani
-
Quagga:
- /etc/quagga/zebra.conf a /etc/quagga/ospfd.conf
-
Hostname:
- /etc/hostname
-
Velikost conntrack a jina /proc/sys/ nastaveni:
- /etc/sysctl.conf
-
Heslo:
- passwd; heslo se prenasi take do nastaveni http serveru
-
Rucni casovane operace:
- /etc/crontabs/skeleton/root - uzivatelska casovani; /etc/crontab - vsechna
casovani vcetne automaticky generovanych (needitovat)
Po editaci textovych konfiguracnich souboru doporucuji restart zarizeni.
Problemy
Zatim se mi nestalo, ze by se mi proste Edimax sam od sebe hryznul. Problemy se spise tykaji
pripadu, kdy si spatne nastavite sitovky, smazete neco duleziteho nebo se jinak odriznete.
Seriova konzole
V tu chvili vam asi nezbyde nic jineho nez zarizeni rozebrat a napajet si seriovou konzoli, pouziva
se tradicni prevod urovni TTL<->RS232 pomoci MAX232 a ekvivalentu. Na desce najdere 8pinove misto
pro pripajeni, RX zapojte na prvni pin, napajeni +3.3V na druhy pin, TX na sedmy pin a napajeni zem
na osmy pin. Konfigurace COM portu: 115200 (8N1). Pokud se vam nepodari problem vyresit na prikazovem
radku seriove konzole, mate moznost firmware preflashovat pres bootloader - pri hlasce ADM5120 Boot:
zmacknete 3x klavesu SPACE, dale zvolte moznost a) a pomoci protokolu XModem (v Hyperterminalu
ve Windows) nebo YModem (v MiniComu v Linuxu) nahrajte do zarizeni firmware.
Zasadni resene problemy
Od verze 002 bude pro routovaci firwmare k dispozici zakladni webove rozhrani pro spravu uzivatelu.
-
Neni vygenerovana edice bridge a monitor. (v001)
OTEVRENE - bude vygenerovana pro verzi 002 nebo 003
-
Webove formulare spatne ukladaji specialni znaky. (>= v001)
OTEVRENE - chyba busyboxu
Odkazy
ADM5120 na LinuxMIPS
Edimax BR-6104 na LinuxMIPS
Edimax asi nejlevneji a nejdostupneji
Distribuce Midge
Kontakt
ValXdater
ICQ: 286 354 794
E-mail: ValXdater (at) seznam (dot) cz