FreiFunk firmware
V 1.6.36 obstaja zanimiv problemček - olsrd config pride “hardcodan” v init skripto in se zapiše ob vsakem ponovnem zagonu le-te. Workaround je, da se spodnji config shrani v /etc/olsrd.conf (symlink v /var/etc/olsrd.conf se pobriše), nato pa se v init skripti v start delu (popraviti je potrebno samo tam) popravi ukaz za zagon olsr daemona in se zakomentira write_config() funkcija.
Izsek iz popravljene init skripte:
case $1 in
start)
echo "Starting olsrd..."
export NVRAM_wan_ifname
export NVRAM_lan_ifname
export NVRAM_lan_ifnames
eval $(/usr/bin/netparam)
set_wireless
# write_config
# olsrd will disable per iface, but on wrt that is not enough
echo 0 >/proc/sys/net/ipv4/conf/all/send_redirects
test -f /var/etc/olsrd-release || {
olsrd -f /dev/null --version 2>&-|sed -n 's/^ *\*\*\* olsr.org - \([^ ]\+\).*/\1/p;s/^.*date:\+/Date:/p'>/var/etc/olsrd-release
}
olsrd -f /etc/olsrd.conf -d 0
/etc/olsrd.conf
Pazi, da nastaviš pravilne mrežne vmesnike (Interface deli configa), neobstoječe pa odstraniš. Če ni olsrd skonfiguriran ne nekem vmesniku, tam ne bo deloval!
Hna4
{
# Seznam tvojih omrezij, ki jih zelis oglasevati v omrezju
#192.168.0.0 255.255.255.0
}
AllowNoInt yes
LinkQualityFishEye 0
UseHysteresis no
LinkQualityLevel 2
LinkQualityWinSize 100
Pollrate 0.1
TcRedundancy 2
MprCoverage 1
Interface "wl0" "eth0.0"
{
HelloInterval 4.0
HelloValidityTime 80.0
TcInterval 8.0
TcValidityTime 160.0
MidInterval 8.0
MidValidityTime 160.0
HnaInterval 8.0
HnaValidityTime 160.0
}
# Za VPN
Interface "tap0"
{
HelloInterval 4.0
HelloValidityTime 80.0
TcInterval 8.0
TcValidityTime 160.0
MidInterval 8.0
MidValidityTime 160.0
HnaInterval 8.0
HnaValidityTime 160.0
# Zelimo si, da se raje uporablja omrezje kot VPN
LinkQualityMult default 0.44
}