RouterboardRB500Linux

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

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:

<bash>#logfile=/var/log/thttpd.log </bash>

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

<bash> 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


  1. 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: "

  1. A v /etc/dhcpd.conf pridat tuto radku:

lease-file-name "/tmp/dhcp3/dhcpd.leases" ;

  1. Uprava je nutna, neb po rebootu je / partisna namontovana jako ro, a nejde do prislusnych adresaru zapisovat... Takze si pomuzem /tmp ktery je tmpfs
  1. pak uz jen restart dhcpd (apt-get ho uz nahodi po installu)

/etc/init.d/dhcp3-server restart </bash>

Dale pokud se pouzije snmpd, tak zde je fcni config na sledovani interfacu (napr pres cacti z charona): <bash> 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>"


</bash>

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

<bash> 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
  1. ip l s up dev dummy0
  2. ip a a 10.x.0.z/32 dev dummy0
   #ethernet 
  1. ip l s up dev eth2
  2. 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
  1. 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
  1. 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

}

</bash>

Mac adresy do seznamu povolenych se pridavaji takto: <bash> iwpriv ath0 addmac 11:22:33:44:55:66 </bash>


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) <bash>

  1. Example how to put a getty on a serial line (for a terminal)

T0:23:respawn:/sbin/getty -L ttyS0 115200 vt100

  1. T1:23:respawn:/sbin/getty -L ttyS1 9600 vt100

</bash>

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: <bash> bzcat image > /dev/sdc #kde sdc je ta CF karta </bash>

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 ----