RouterboardRB500Linux

<small>Z HKFree wiki</small>

Obsah

Instalace

Upravenou distribuci pro routerboardy řady 5xx si můžete stáhnout na této adrese: http://www.jikos.cz/~jbohac/goodies/rb500-czf/

Pokud ji potřebujete dostat na větší CF kartu, než v návadu uváděná 128M, postup je následující:

  • postupovat dle návodu v souboru README ('bzcat cf_128M_image.bz2 > /dev/hda')
  • vytvoří se partišna /dev/hda2 s onou distribucí
  • fdiskem tuto partišnu odebrat
  • a hnedle přidat, ale už přes celý CF disk
  • změny zapsat
  • příkazem 'resize2fs /dev/hda2' roztáhnout na plnou velikost

Upozornění

POZOR, pri provozu RB532 v modu AP se dvema CM-9 kartama v 2,4 a 5,4 GHZ davejte ZASADNE 5GHz na ath0, kdyz sem mel 5GHz na ath1 tak nechodilo par klientu.

Pri provozu dvou CM-9 v kombinaci 5,4 a 5,4GHz nepozoruji potize.

Pri provozu vice karet za pomoci miniPCI rozsireni, napr. RB502 se muze stat, ze wifi karty v tomto rozsirovacim modulu se tvari, ze funguji, ale nic nechyti a ani nevysilaji. V tomto pripade je nutne pridat parametr rfkill=0 za prikaz modprobe ath_pci a vse pojede bez problemu. Zdroj: http://madwifi.org/wiki/UserDocs/MiniPCI

Konfigurace

Jelikoz je to debian, tak po rozjeti netu provedte apt-get update

Zde je seznam baliku, ktere jsem pouzil na Kenny3: bridge-utils,vim,snmpd,bzip2,thttpd,dhcp3-server,arping,host

Pro pouziti thttpd je vhodne upravit, aby ten http server nelogoval na kartu, takze v thttpd.conf zakomentujte radek s logovanim:

#logfile=/var/log/thttpd.log

Pokud pouzijete dhcp3 server, tak je treba upravit soubor /etc/dhcpd.conf a z nej vytvorit linky do /etc/default/dhcp3-server a /etc/dhcp3/dhcp.conf

 
rm /etc/default/dhcp3-server
rm /etc/dhcp3/dhcpd.conf
ln -s /etc/dhcpd.conf /etc/dhcp3/dhcpd.conf
ln -s /etc/dhcpd.conf /etc/default/dhcp3-server
 
 
#Aby po rebootu naskocil dhcp server, tak upravte init skript takto:
start)
	mkdir -p /tmp/dhcp3
	touch /tmp/dhcp3/dhcpd.leases~
	touch /tmp/dhcp3/dhcpd.leases
	echo -n "Starting DHCP server: "
 
#A v /etc/dhcpd.conf pridat tuto radku:
 
lease-file-name "/tmp/dhcp3/dhcpd.leases" ;
 
#Uprava je nutna, neb po rebootu je / partisna namontovana jako ro, a nejde do prislusnych adresaru zapisovat... Takze si pomuzem /tmp ktery je tmpfs
 
#pak uz jen restart dhcpd (apt-get ho uz nahodi po installu)
/etc/init.d/dhcp3-server restart

Dale pokud se pouzije snmpd, tak zde je fcni config na sledovani interfacu (napr pres cacti z charona):

 
cat /etc/snmp/snmpd.conf
com2sec paranoid  default         public
 
group MyROSystem v1        paranoid
group MyROSystem v2c       paranoid
group MyROSystem usm       paranoid
group MyROGroup v1         readonly
group MyROGroup v2c        readonly
group MyROGroup usm        readonly
group MyRWGroup v1         readwrite
group MyRWGroup v2c        readwrite
group MyRWGroup usm        readwrite
 
view all    included  .1                               80
view system included  .iso.org.dod.internet.mgmt.mib-2.system
 
view network included .iso.org.dod.internet.mgmt.mib-2.system
view network included .iso.org.dod.internet.mgmt.mib-2.interfaces
view network included .iso.org.dod.internet.mgmt.mib-2.ip
view network included .iso.org.dod.internet.mgmt.mib-2.icmp
view network included .iso.org.dod.internet.mgmt.mib-2.tcp
view network included .iso.org.dod.internet.mgmt.mib-2.udp
view network included .iso.org.dod.internet.private.enterprises.ucdavis.memory
view network included .iso.org.dod.internet.private.enterprises.ucdavis.systemStats
view network included  .1.3.6.1.3.14614
 
access MyROSystem ""     any       noauth    exact  network none   none
access MyROGroup ""      any       noauth    exact  all    none   none
access MyRWGroup ""      any       noauth    exact  all    all    none
 
syslocation "Kenny3"
syscontact "Root <kendy@hkfree.org>"
 
 

Nejzajimavejsi je skript /etc/init.d/setnet ktery jsem uzpusobil na kompletni fungovani routerboardu jako AP Bridge

 
start() {
    echo -n $"Starting Networking: "
    modprobe ath_pci outdoor=1 countrycode=276
    # pridat rfkill=0 pokud pouzivame rozsireni na vice miniPCI napr. RB502;
    # po nekolika hodinach sileneho googlovani objevil Lada_JNet :-)
    
    #loopback interfacy
    ip l s up dev lo
    ip a a 127.0.0.1/8 dev lo
 
#    ip l s up dev dummy0
#    ip a a 10.x.0.z/32 dev dummy0
 
    #ethernet 
#    ip l s up dev eth2
#    ip a a 192.168.0.1/24 dev eth2
    
    #wifi
    /usr/local/bin/wlanconfig ath0 destroy
    /usr/local/bin/wlanconfig ath1 destroy
    
    /usr/local/bin/wlanconfig ath0 create wlandev wifi0 wlanmode ap
    ip l s up dev ath0
    iwconfig ath0 essid "spar2.hkfree.net"
    iwpriv ath0 mode 1
    iwconfig ath0 rate auto
    /usr/local/bin/athctrl -i wifi0 -d 8000
    iwconfig ath0 channel 104
#    iwconfig ath0 txpower 2
 
    /usr/local/bin/wlanconfig ath1 create wlandev wifi1 wlanmode ap
    ip l s up dev ath1
    iwconfig ath1 essid "spar2.hkfree.org"
    iwpriv ath1 mode 1
    iwconfig ath1 rate auto
    /usr/local/bin/athctrl -i wifi1 -d 8000
    iwconfig ath1 channel 100
#    iwconfig ath1 txpower 2
 
    #nastavit mac filtr na jen povolene MACy
    iwpriv ath0 maccmd 1
    iwpriv ath0 maccmd 3
 
 
 
    #Nahodit bridge
    brctl addbr br0
    brctl addif br0 eth0
    brctl addif br0 eth1
    brctl addif br0 eth2
    brctl addif br0 ath0
    brctl addif br0 ath1
 
    ifconfig eth0 up
    ifconfig eth1 up
    ifconfig eth2 up
    ifconfig ath0 up
    ifconfig ath1 up
    
    ifconfig br0 10.107.2.92 netmask 255.255.255.248 broadcast 10.107.2.95 up
    
    #povol routovani
    echo "1" > /proc/sys/net/ipv4/ip_forward
 
    #povol source routing
    echo "1" > /proc/sys/net/ipv4/conf/all/accept_source_route 
    
    #vypni rp-filter
    echo "0" > /proc/sys/net/ipv4/conf/all/rp_filter 
 
    #default route
    ip r a  default via 10.107.2.89
 
    #nastav cas ze site
    rdate -s 10.15.0.1
 
    #Jelikoz nastaveni kanalu se napoprve neudeje, tak nechame 5sec sleep a pak znovu
    iwconfig ath0 channel 104
    sleep 1
    iwconfig ath1 channel 100
 
    return $RETVAL
}
 

Mac adresy do seznamu povolenych se pridavaji takto:

 
iwpriv ath0 addmac 11:22:33:44:55:66


Jelikoz routerboard standartne ma COM port na rychlosti 115200 baudu, tak se sikne upravit inittab, tak aby jela seriova konzole na stejne rychlosti:

(puvodni rychlost v inittabu je 9600)

 
# Example how to put a getty on a serial line (for a terminal)
#
T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100
#T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

Upravena distribuce

Varianta pro 512MB CF kartu: Image 512 (s kernelem 2.4.30)
Varianta pro 1024MB CF kartu: Image 1024 (s kernelem 2.4.30)
Varianta pro 512MB CF kartu: Image 512 (s kernelem 2.6.17)
Varianta pro 1024MB CF kartu: Image 1024 (s kernelem 2.6.17)


Nahrava se stejne jako 128MB varianta. Tj:

 
bzcat image > /dev/sdc #kde sdc je ta CF karta

Upravena distribuce obsahuje oproti zakladnimu baliku:

madwifi-0.9.1
vim
midnight commander
quagga-0.99.5
libc6_2.3.6
bridge-utils
snmpd
bzip2
thttpd
dhcp3-server
arping
host

Jeho defaultni IP: 192.168.2.1
heslo na root: root
Vsechny ethernety jsou zapojeny do bridge
Konfigurace pres klasiku debian: /etc/network/interfaces
Konfigurace pro WiFi: /etc/init.d/setnet {start|stop|restart}


Testy s image co ma kernel 2.4.30:

RB532+RB564 - OK
RB532+RB564 + 6x CM9 - OK
RB532+RB564 + 6x R52 - OK
RB532+RB564 + 6x CM10 - FAIL

Testy s image co ma kernel 2.6.17:

RB532 1x CM9 1xCM11 - OK (i regulace vykonu na obou CM)


Rozlozeni ethernetu a atheros karet s RB564 (pri pohledu zezadu na konektory) na kernelu 2.4.30

RB564 ------ ath3 ------ ath2 ------
RB564 eth7 eth6 eth5 eth4 eth3 eth2
RB564 ------ ath5 ------ ath4 ------

RB532 -------------- ath0 ----
RB532 Power eth8 COM eth0 eth1
RB532 -------------- ath1 ----

Osobní nástroje