Komplett neu Installieren: -------------------------- 01) chmod -x /etc/init.d/watchdog;reboot 02) scp nylon.imgz 192.168.0.250:/tmp (Image-Datei uebertragen) Bei mir geht das nur, wenn ich moeglichst viele Prozesse kille (httpd. dnsmasq ... alles ausser dropbear und ifplugd eben). Dann noch "rm $(find /var -type f)", nun sollte Platz genug sein. 03) install-image -l /tmp (Geht wirklich nur mit "nylon.imgz"!) (Evt. Mecker wegen Watchdog. Watchdog deakt. und nochmal) 04) Nach einer Weile "ssh 192.168.0.250" 05) Als erstes "vi /etc/hostname" und z.B. "mtx1-meiner" 06) Netzkonfig in /etc/network/interaces bis "ping heise.de" klappt, dafuer /etc/resolv.conf etwa so: nameserver 195.50.140.250 nameserver 81.169.139.12 nameserver 85.214.53.103 07) "vi /etc/ipkg/freifunk.conf" und das hier eintragen: src freifunk http://download.berlin.freifunk.net/sven-ola/nylon 08) ipkg update 09) Die evt. vorhandenen madwifi-treiber lassen sich nicht so ohne weiteres updaten. Daher manuell deinstallieren, etwa so ipkg remove madwifi-modules ipkg remove madwifi-tools 10) ipkg install ff (Die Standard /etc/olsrd.conf ueberschreiben mit "Y") 11) Generieren des pub/privkey-Paares dauert etwas. Nicht nervoes rumtippen. Bestaetige Speicherpos mit [Ret] und dann zweimal dein Lieblingskennwort fuer den Privkey eingeben. 12) Evnt die /etc/modutils/madwifi-ng editieren oder anlegen. Mit der aktuell installierten 0.9.4-openwrt Version des Treibers z.B. folgendes dort eintragen und dann "update-modules" aufrufen: ath_pci countrycode=276 outdoor=1 13) "passwd" setzen nicht vergessen oder es in /etc/passwd auf "x" setzen 14) /etc/network/interfaces anpassen. Hier ein Beispiel: auto lo iface lo inet loopback # eth0 is the normal eth, do not remove the alias auto eth0 iface eth0 inet dhcp alias 0 192.168.0.250 # eth1 is an usb/etc, another IP for ermergency auto eth1 iface eth1 inet dhcp alias 0 192.168.0.251 auto ath0 iface ath0 inet static address 104.198.65.117 netmask 255.0.0.0 broadcast 104.255.255.255 wireless_mode ad-hoc wireless_essid olsr.freifunk.net wireless_bssid 02:ca:ff:ee:ba:be wireless_standard g wireless_channel 10 wireless_key off wireless_rts off wireless_fraq off up iwconfig $IFACE txpower 16 up iwpriv $IFACE mcast_rate 5500 madwifi_base wifi0 auto ath1 iface ath1 inet static address 104.0.0.61 netmask 255.0.0.0 broadcast 104.255.255.255 wireless_mode ad-hoc wireless_essid ch13.olsr.freifunk.net wireless_bssid d2:ca:ff:ee:ba:be wireless_standard g wireless_channel 13 wireless_key off wireless_rts off wireless_frag off # only host routes allowed, all 104.x.x.x go to ath0 up ip r del 104.0.0.0/8 dev $IFACE # limit txpower somewhat up iwconfig $IFACE txpower 16 # cancel doth features (tpc, dcs) up iwpriv $IFACE doth 0 # switch all atheros extras (xr, ar, burst, ff, comp, turbo), may OOPS!!! #up iwpriv $IFACE abolt 0 # send only one beacon per second up iwpriv $IFACE bintval 1000 # if master: do not repeate station broadcasts up iwpriv $IFACE ap_bridge 0 # disable somewhat broken bgscan iwpriv $IFACE bgscan 0 # set multicast/broadcast rate to fixed 5.5mbit up iwpriv $IFACE mcast_rate 5500 # adjust ack timing pre-up athctrl -i wifi1 -d 2000 madwifi_base wifi1 15) Die neue Interface-Config am besten vor dem naechsten Reboot ausprobieren. Im Beispiel ist "ifdown ath0" und "ifup ath0" ungefaehrlich, wenn man an eth0 dranhaengt. Das meckert evt. etwas, weil ja noch nicht der neue madwifi dran ist. Achte auf Syntaxfehler in der /etc/network/interfaces sonst braucht's spaeter seriell. 16) In der /etc/olsrd.conf die "Interfaces" Zeile auf die tatsaechlichen OLSR-Interfaces anpassen. Im Beispiel bleibt nur Interface "ath0" uebrig. 17) Wenn z.B. via eth0 ein Internet angeboten werden soll, dann noch in /etc/local.fw die MASQERADE-Zeile aktivieren, um auf eth0 auch ein NAT zu bieten. 18) Fuer 5Ghz-Betrieb macht Bruno's /usr/sbin/set-wlan-config.awk Aerger. In Zeile 48 das athX einfuegen: "", also etwa "if (sub(":", "") && !($1~/wifi/) && !($1~/ath/)) {" sollte schon drinstehen, ebenso wie channel>14 (Zeile 50) 19) Check /etc/sysctl.conf (insb. wifi0 und wifi1). Stimmt das? Gucken mit sysctl -p 20) Das war's. Reboot. 21) Evnt. noch dies: > es gibt da so ne iwpriv-Option rssi11a (rssi11b, rssi11g), welche klärt > ab welchem rssi client und master sich verbinden. Ist per default glaub > ich auf 20 gesetzt, was in Rostock dazu führte dass oft bereits die > Assoziation fehlschlug. Setzen auf 10 wirkte Wunder... Hinweis: Das "madwifi-modules-nbd" geht nur mit Atheros A/B/G Karten und macht auf 5Ghz Aerger. Allerdings kann es bei miesen Verbindungen Wunder wirken, wenns auf der Masterseite laeuft. Falls es daher wirklich verwendet werden soll, dann "ipkg remove madwifi-modules" und "ipkg install madwifi-modules-nbd" nachsetzen. Nur Emma-Cube: "ipkg install kernel-module-pegasus" und in der /etc/hotplug/usb.distmap das hier fuer USB/Ethernet hinzufuegen: pegasus 0x0003 0x07a6 0x8511 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 Nur Sama-Cube: "ipkg install kernel-module-dm9601" und in der /etc/hotplug/usb.distmap das hier fuer USB/Ethernet hinzufuegen: dm9601 0x0003 0x0a46 0x9601 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000 Update auf neuen Cubes (grosses Gehaeuse): ------------------------------------------ Das Update geht manchmal schief, weil die neuen Cubes einen funktionierenden Hardware-Watchdog haben. Hat man nur noch den seriellen Yamon, dann klappt "erase -s" nicht, weil dieser wegen abgeschalteter Interrupts zuschlägt. Und so geht es doch: "info memory" eingeben. Sollte 1c00000 (fuenf nullen) als Erase-Size fuer System ausgeben. Das bedeutet: 14 Eingabezeilen. Naemlich diese hier: erase 0xbe000000 0x200000 erase 0xbe200000 0x200000 erase 0xbe400000 0x200000 erase 0xbe600000 0x200000 erase 0xbe800000 0x200000 erase 0xbea00000 0x200000 erase 0xbec00000 0x200000 erase 0xbee00000 0x200000 erase 0xbf000000 0x200000 erase 0xbf200000 0x200000 erase 0xbf400000 0x200000 erase 0xbf600000 0x200000 erase 0xbf800000 0x200000 erase 0xbfa00000 0x1fffff (Schon recht: +/- 1 Fehler im Yamon umgehen) (Ende des Bereiches ist also 0xbfc00000) Dann noch "erase 0xbfd00000 0xf0000" (Kernel löschen) Dann noch load /nylon.srec vom TFTP-Server wie unter http://www.meshcube.org/meshwiki/InstallTftp beschrieben. Nur ein Update machen: ---------------------- Ist bereits ein altes ff-paket installiert, mach's einfach so: evt. "download.berlin.freifunk.net/sven-ola/nylon" in etc/ipkg/f*.conf evt. /etc/resolv.conf: nameserver 195.50.140.250 nameserver 81.169.139.12 nameserver 85.214.53.103 cp /etc/olsr.conf /tmp cp /etc/local.fw /tmp cp /etc/sysctl.conf /tmp ipkg update ipkg remove ff ipkg install ff -> merge neue local.fw, olsr.conf Alte Notizen zur Einrichtung von MadWifi-NG: -------------------------------------------- Nach "install-image -s http://download.berlin.freifunk.net/sven-ola/nylon/images" habe ich nur noch das hier gemacht: - /etc/sysctl.conf Antenna auf 1 (Main) oder 2 (Secondary) festlegen - Root-Kennwort setzen - vi /etc/hostname - vi /etc/ipkg/freifunk-feed.conf + src freifunk http://download.berlin.freifunk.net/sven-ola/nylon - vi /etc/network/interface ath0 + addr, mask, broad, ad-hoc, essid, rts, chan, bssid - wireless_standard + madwifi_base wifi0 + auto ath0 (siehe unten) eth0 + static, addr, mask, broad ~ alias 0 192.168.0.250 (das "conf" ist quatsch) - vi /etc/resolv.conf + nameserver 81.169.139.12 + nameserver 85.214.53.103 - ipkg update;ipkg install ff (Die /etc/olsrd.conf muss ueberschrieben werden!) - Correct Interfaces in /etc/olsrd.conf (Note: eth0 is not in the default olsrd list any more) - reboot. - Danach noch den Cube in das BBB integrieren. Die "~/.ssh/id_dsa.pub" auf der bouche mit "cat id_dsa.pub>>~/.ssh/authorized_keys" anfuegen, einen evt. vorhandenen alten Key loeschen und dann auf allen Cubes das hier ausfuehren: "cd ~/.ssh;wget http://104.0.0.29/authorized_keys" Achtung: Insbesondere der ifplugd nervt herum, weil er mit dem MadWifi-NG- typischen Anlegen und Loeschen von Interfaces ein dauerhaftes ifup/ifdown- Feuerwerk ausloest. Aus diesem Grund muss ein ath0 interface in der Auto-Section der /etc/network/interfaces drin stehen (Nix hotplug fuer ath*) Die beiden madwifi*.ipk patchen dazu /etc/hotplug/net.agent! Beispiel: auto ath0 iface ath0 inet static address 104.65.65.108 netmask 255.0.0.0 broadcast 104.255.255.255 wireless_mode ad-hoc wireless_essid test wireless_channel 10 wireless_rts 250 wireless_frag off wireless_bssid 02:ca:ff:ee:ba:be madwifi_base wifi0 Noch'n Hinweis: in /etc/modutils/madwifi schreibt das paket ff.ipk fuer ath_pci den countrycode. Aktiviert wird er mit dem Script update-modules (schreibt eine neue Version von /etc/modules). 2006-03-13, Sven-Ola Anmerkungen: Neuer OLSRd mit dieser Aenderung: Bitte keine HNA4 mit 0.0.0.0 mehr, defaultmaessig ist ein dyngw-plain dabei, dass eine HNA4 automatisch bei statischer Default-Route setzt. Default-Route loeschen, HNA4 weg. Das neue Paket "ff-web.ipk" sucht such automatisch heraus, welches die vorhandenen WIFI-Interfaces sind. Paket automatisch mit "ipkg install ff". Im aktuellen Nylon-Stable/Testing ist das Stability-Pack schon enthalten (allerdings fehlen die /etc/rc?.d-Links auf /etc/init.d/run-checks fuer den Start). Diese Links werden bei Bedarf werden mit "ipkg install ff" gesetzt. Fuer aeltere Nylons bzw. wenn nicht schon vorhanden (ps zeigt "check-process.sh"), empfehle ich auch die Installation von Brunos "ff-stability" (startet den OLSRd neu und achtet auf den Kanal im Ad-Hoc auf wlan0, evt. das Ad-Hoc interface in usr/sbin/check-wlan.sh anpassen). Dafuer kann evt. ein vorhandenes /usr/local/sbin/olsrd-clearroutes und ein /usr/local/sbin/olsrd-verify löschen und das verify aus /etc/cron/crontabs/root entfernt werden (==ganz alt). 2006-02-24, Sven-Ola 2006-11-12: Mit diesen Atheros-Karten lief der madwifi-modules-nbd nicht: root@mtx-eisbaer:/etc# lspci 00:00.0 Class 0280: 1260:3873 (rev 01) 00:01.0 Class 0200: 168c:0013 (rev 01) 00:02.0 Class 0200: 168c:0013 (rev 01) root@mtx-eisbaer:/etc# cat /proc/pci PCI devices found: Bus 0, device 0, function 0: Network controller: Harris Semiconductor Prism 2.5 Wavelan chipset (rev 1). IRQ 1. Master Capable. Latency=128. Prefetchable 32 bit memory at 0x40000000 [0x40000fff]. Bus 0, device 1, function 0: Ethernet controller: PCI device 168c:0013 (rev 1). IRQ 2. Master Capable. Latency=168. Min Gnt=10.Max Lat=28. Non-prefetchable 32 bit memory at 0x40010000 [0x4001ffff]. Bus 0, device 2, function 0: Ethernet controller: PCI device 168c:0013 (rev 1). IRQ 4. Master Capable. Latency=168. Min Gnt=10.Max Lat=28. Non-prefetchable 32 bit memory at 0x40020000 [0x4002ffff].