Arbeitsgruppe Hardware RS: Unterschied zwischen den Versionen
Markit (Diskussion | Beiträge) K (Categories) |
Dieter (Diskussion | Beiträge) K (Tippfehler) |
||
Zeile 1: | Zeile 1: | ||
− | + | Nette, recht preisgünstige Hardware (evt. < 60€), shipped mit (modded) Openwrt und somit eventuell die eierlegende Wollmilchsau für ein Mesh. | |
3 Minipci Slots, 3 x LAN, 64MB RAM 680Mhz Ar7161 MIPS24K CPU, GPIO, Usb 2.0 Support, etc. | 3 Minipci Slots, 3 x LAN, 64MB RAM 680Mhz Ar7161 MIPS24K CPU, GPIO, Usb 2.0 Support, etc. | ||
− | Pro-Version mit Gbit, mehr RAM, 803af und SDIO wirds auch geben | + | Pro-Version mit Gbit, mehr RAM, 803af und SDIO wirds auch geben. |
== Status == | == Status == | ||
− | + | Momentan ist mal eine RS vorhanden um sie auszutesten. | |
− | ( | + | (Momentan auf 193.238.158.180 am heusued verbaut und hoffentlich online) |
− | Wlan scheint recht kompatibel mit üblichen Atheros 2.4 und 5ghz Minipcis zu sein | + | Wlan scheint recht kompatibel mit üblichen Atheros 2.4 und 5ghz Minipcis zu sein. |
− | WDS-Links (zu Routerboards) funktionieren scheints nicht (wurde aber auch | + | WDS-Links (zu Routerboards) funktionieren scheints nicht (wurde aber auch nicht gewissenhaft versucht), des weiteren muss man auf RouterOS Linkquality Werte verzichten etc. (so wie bei Routerboard-Osbridge ja auch). |
− | Die bisherigen groben | + | Die bisherigen groben WLAN-Probleme scheinen einerseits auf Fehler in der config aber eben auch auf config-Optionen zurückzuführen zu sein, welche beim auslesen von /etc/config/wireless von kamikaze scheinbar ignoriert bzw. falsch gesetzt werden. |
Weiters scheint die RS ein Problem mit ihren RAM und ihrer CPU zu haben: | Weiters scheint die RS ein Problem mit ihren RAM und ihrer CPU zu haben: | ||
− | + | * ist mit 180MB / Sekunde da ziemlich lahm (sogar ein WRT54G hat 750MB/Sek ) | |
− | mit neuen firmwares/bootloadern | + | * mit neuen firmwares/bootloadern sollten es inzwischen |
+ | ** 350MB/Sek sein | ||
+ | ** und auch deutlich höhere CPU Performance | ||
+ | ** und aktivierter write cache | ||
+ | Aber trotzdem: DDR-RAM sollte schneller sein. | ||
− | Das RAM Problem besteht somit grossteils immer noch | + | Das RAM Problem besteht somit grossteils immer noch. |
− | + | Die CPU war/ist übrigens so lahm, weil Debug-mode aktiv ist (in neueren Firmwares ist das behoben). | |
− | + | Und - nun ja - es dauert ne ziemliche Weile bis nach einem Reboot alles und der dropbear im speziellen wieder läuft. | |
− | + | Aber alles in allem kann man die Dinger wohl verwenden *g (Markus) | |
== How To get LuCI on the RS == | == How To get LuCI on the RS == | ||
Zeile 31: | Zeile 35: | ||
=== RS flashen mit Redboot === | === RS flashen mit Redboot === | ||
− | ==== PC seitige Vorbereitungen ==== | + | ==== PC-seitige Vorbereitungen ==== |
− | Zunächst müssen Rootfilesystem und Kernelimage hier heruntergeladen werden | + | Zunächst müssen Rootfilesystem und Kernelimage hier heruntergeladen werden: |
http://texas.funkfeuer.at/~datacop/kamikaze/RS_trunk/ | http://texas.funkfeuer.at/~datacop/kamikaze/RS_trunk/ | ||
− | Hier die Dateien | + | Hier die Dateien |
− | ''openwrt-ar71xx-root.squashfs'' (rootfilesystem) | + | * ''openwrt-ar71xx-root.squashfs'' (rootfilesystem) |
− | ''xxx'' (kernelimage) | + | * ''xxx'' (kernelimage) |
herunterladen und speichern. | herunterladen und speichern. | ||
Zeile 52: | Zeile 56: | ||
kernel rootfs | kernel rootfs | ||
− | Für Windows gibt es Pumpkin, auch ein einfacher TFTP-Server | + | Für Windows gibt es Pumpkin, auch ein einfacher TFTP-Server. |
Um sich mit der RS zu verbinden wird ein Terminalprogramm benötigt, z.B. minicom (Linux) oder putty (Windows). Einstellungen der RS sind 115200 8N1. | Um sich mit der RS zu verbinden wird ein Terminalprogramm benötigt, z.B. minicom (Linux) oder putty (Windows). Einstellungen der RS sind 115200 8N1. | ||
− | ==== RS seitige Vorbereitungen ==== | + | ==== RS-seitige Vorbereitungen ==== |
− | Um sich mit der RS zu verbinden wird weiters ein Pegelkonverter (z.B. MAX232 benötigt und wenn am PC keine serielle Schnittstelle zur Verfügung steht, ein USB to Serial converter. | + | Um sich mit der RS zu verbinden wird weiters ein Pegelkonverter (z.B. MAX232) benötigt und wenn am PC keine serielle Schnittstelle zur Verfügung steht, ein USB to Serial converter. |
Verbindet (mit Kabeln) man nun die RS mit dem PC und öffnet minicom bzw. putty, und gibt der RS Strom, kann der Startvorgang von Redboot, und in weiterer Folge, des openWRT verfolgt werden. | Verbindet (mit Kabeln) man nun die RS mit dem PC und öffnet minicom bzw. putty, und gibt der RS Strom, kann der Startvorgang von Redboot, und in weiterer Folge, des openWRT verfolgt werden. | ||
Zeile 70: | Zeile 74: | ||
RedBoot> fis list | RedBoot> fis list | ||
− | + | Gibt den Inhalt des Flash Speichers aus. | |
Nun kann das rootfs geholt werden. | Nun kann das rootfs geholt werden. | ||
Zeile 76: | Zeile 80: | ||
RedBoot> load -r -v -b %{FREEMEMLO} -h 192.168.1.21 rootfs | RedBoot> load -r -v -b %{FREEMEMLO} -h 192.168.1.21 rootfs | ||
− | Hier wird die Datei rootfs, des TFTP-Servers, der auf dem HeimPC unter der 192.168.1.21 erreichbar ist ( | + | Hier wird die Datei rootfs, des TFTP-Servers, der auf dem HeimPC unter der 192.168.1.21 erreichbar ist (funktionierende LAN-Verbindung vorausgesetzt) geholt und temporär in den RAM gespeichert. |
RedBoot> fis delete rootfs | RedBoot> fis delete rootfs | ||
Zeile 85: | Zeile 89: | ||
==Country Code== | ==Country Code== | ||
− | + | Unter /etc/modules.d/50-madwifi | |
ath_pci countrycode=860 | ath_pci countrycode=860 | ||
− | + | Ist allerdings der country code von Uzbekistan, imho alle in AT erlaubten Kanäle sind freigeschalten, teilweise mit maximal 15db (5180..5320Mhz) ansonsten meist max. 17db was imho nicht weiter stört, und auch mit AFAIK mit 25mW erlaubte 5,8GHz Subband ist dabei (was in dem Band genau erlaubt ist, bitte selber nachprüfen, bevor man daran denkt, solche Frequenzen einzustellen,...) | |
− | + | Will man doch etwas korrekter sein dann: | |
ath_pci countrycode=276 outdoor=1 | ath_pci countrycode=276 outdoor=1 | ||
− | + | Damit hat man dann die 5Ghz Outdoor Kanäle, und halt eben den countrycode unsrer lieben Nachbarn eingestellt (DE). | |
− | + | Will man Indoor-Kanäle, dann Outdoor weglassen. Beides gleichzeitig am selben Router gibts wohl nit *g | |
− | ( | + | (Nebenbei geht mit diesem code auch turbo modus recht problemlos, sowohl in den Indoor- und Outdoor-Kanälen, während mit 860 hatte ich da keinen Erfolg) |
− | AT hätte country_code von 040 aber damit | + | AT hätte country_code von 040 aber damit gab es dann gleich nur noch 2.4ghz Kanäle )-; |
==Turbo Mode== | ==Turbo Mode== | ||
− | + | Geht im station Betrieb klaglos, einfach den ap auf turbo mode stellen und madwifi scannt es von alleine und aktiviert turbo mode (zumindest auf den static turbo mode Kanälen). | |
− | iwconfig zeigt dann IEEE 802.11Ta an ansgtelle von 802.11a | + | iwconfig zeigt dann IEEE 802.11Ta an ansgtelle von 802.11a. |
− | + | Ansonsten könnte man turbo mode auch manuell konfigurieren: | |
iwpriv athX turbo 1 | iwpriv athX turbo 1 | ||
− | iwpriv athX mode 5 (nur bei station mitunter notwendig damit sie sich mit nem turbo-mode ap verbinden) | + | iwpriv athX mode 5 (nur bei station mitunter notwendig, damit sie sich mit nem turbo-mode ap verbinden) |
==AP Forwarding== | ==AP Forwarding== | ||
− | + | Auf 5Ghz gibts ja kaum adhoc taugliche Geräte (weil dann inkompatibel mit dfs), also bleibt in der Regel nur noch wds mit "echter" mesh Funktinoalität übrig, in der Regel hat wds aber eh nur Kompatibilitätsprobleme, oder macht eh wenig Sinn und ptmp ist eh genug bzw. zuviel *g ( ... an hidden stations *g). | |
− | + | Jedoch sollte in einem OLSR-Netz eben idealerweise nur auf Layer 3 geroutet werden und eben nicht vom ap die OLSR-Broadcast der einen Station wieder an die anderen Station repeatet werden und in Folge dann aller andere Traffic zwischen den Clients. Denn die link-Kosten des OLSR stimmen dann mit der realen Doppelbelastung des Mediums wiedermal nicht überein (im Grunde ist das sogar noch ein bisschen schlimmer als PTP 5Ghz bridges aneinander zuhängen). | |
− | + | Darum imho besser das forwarding/bridging am ap abdrehen. | |
iwpriv athX ap_bridge 0 | iwpriv athX ap_bridge 0 | ||
− | ==Distance | + | ==Distance, Diversity, usw. == |
− | wie man derartige advanced wlan settings tatsächlich via /etc/config/wireless konfiguriert sollt ma noch rausfinden/fixen | + | wie man derartige advanced wlan settings tatsächlich via /etc/config/wireless konfiguriert, sollt ma noch rausfinden/fixen. |
− | + | Eventuell tun diese 3 zusammen was es soll: | |
option diversity 1 | option diversity 1 | ||
option txantenna 1 | option txantenna 1 | ||
Zeile 126: | Zeile 130: | ||
#0 = auto, 1 = antenna a, 2 = antenna b | #0 = auto, 1 = antenna a, 2 = antenna b | ||
− | + | Fürs erste tuns aber cmdline utilities auch | |
z.B.: http://wlanwifi.blogspot.com/2008/02/madwifi-utility-usage.html | z.B.: http://wlanwifi.blogspot.com/2008/02/madwifi-utility-usage.html | ||
− | + | Nützlich ists mal die distance einzustellen, sonst geht auf langen Strecken gar nix (denn default Setting ist für 301-600 Meter): | |
athctrl -i wifi0 -d 10000 | athctrl -i wifi0 -d 10000 | ||
− | + | Oder nachdem man genug rumprobiert hat (Einstellungen ändern sich nur in 300 Meter Schritten dann eben permanent in /etc/config/wireless in der wifiX section eintragen: | |
− | + | ||
− | dann eben permanent in /etc/config/wireless in der wifiX section eintragen | + | |
option 'distance' '10000' | option 'distance' '10000' | ||
− | + | Da manche minipci, zumindest bei broadcasts, mitunter diversity mässig groben Unfug treiben (paketweise abwechselnd Antenne A oder B). | |
− | + | Vermutlich weil sie normalerweise aufgrund der acks lernen, welche Antenne für welches Ziel besser wäre, aber bei broadcasts gibts keine acks und darum besser fix einstellen. Vor allem weil wir in der Regel eh nur eine einzige Antenne haben: | |
echo "1" > /proc/sys/dev/wifi0/txantenna # 0 auto, 1 antenna a, 2 antenna b | echo "1" > /proc/sys/dev/wifi0/txantenna # 0 auto, 1 antenna a, 2 antenna b | ||
− | + | Oder im /etc/config/wireless in der wifiX Section: | |
option 'diversity' '0' # 0 off, 1 on | option 'diversity' '0' # 0 off, 1 on | ||
Zeile 151: | Zeile 153: | ||
option 'txantenna' '0' # Antenna identifier (0, 1 or 2) for emission. | option 'txantenna' '0' # Antenna identifier (0, 1 or 2) for emission. | ||
− | + | Auch das Beschränken der Kanäle fürs Scannen macht Sinn (z.B. nur 5G wenn man ne 5G Antenne aber ne abg Card hat), | |
− | sonst dauert das Scannen nach der Gegenstelle (nach einem | + | sonst dauert das Scannen nach der Gegenstelle (nach einem disconnect) immer sooo lange *g |
− | ( | + | (Allerdings hat untriges bis jetzt nie erwünschte Wirkung gezeigt, es wird weiterhin auch auf allen Frequenzbändern gescannt): |
athchans -i ath0 1-2 #restrict channel search to 1-2 | athchans -i ath0 1-2 #restrict channel search to 1-2 | ||
− | + | Oder man setzt wenigstens den mode im Konfigfile: | |
option 'hwmode' '11a' | option 'hwmode' '11a' | ||
== OLSR == | == OLSR == | ||
− | Läuft klaglos drauf | + | Läuft klaglos drauf und wenn man die Firewall abschaltet: |
/etc/init.d/firewall disable | /etc/init.d/firewall disable | ||
− | + | Oder eben die zu restriktiven forwarding Regeln abändert, dann passt alles, ansonsten ist ein kamikaze Router mit OLSR eben ein böses blackhole. | |
− | + | Weitere Details zur [[OLSR-Konfiguration]] | |
− | + | Allgemeines [[OLSR-Linux-Howto|Howto]] für OLSR unter Linux | |
== Unbricking == | == Unbricking == |
Version vom 15. November 2009, 21:03 Uhr
Nette, recht preisgünstige Hardware (evt. < 60€), shipped mit (modded) Openwrt und somit eventuell die eierlegende Wollmilchsau für ein Mesh.
3 Minipci Slots, 3 x LAN, 64MB RAM 680Mhz Ar7161 MIPS24K CPU, GPIO, Usb 2.0 Support, etc.
Pro-Version mit Gbit, mehr RAM, 803af und SDIO wirds auch geben.
Inhaltsverzeichnis
Status
Momentan ist mal eine RS vorhanden um sie auszutesten. (Momentan auf 193.238.158.180 am heusued verbaut und hoffentlich online)
Wlan scheint recht kompatibel mit üblichen Atheros 2.4 und 5ghz Minipcis zu sein.
WDS-Links (zu Routerboards) funktionieren scheints nicht (wurde aber auch nicht gewissenhaft versucht), des weiteren muss man auf RouterOS Linkquality Werte verzichten etc. (so wie bei Routerboard-Osbridge ja auch).
Die bisherigen groben WLAN-Probleme scheinen einerseits auf Fehler in der config aber eben auch auf config-Optionen zurückzuführen zu sein, welche beim auslesen von /etc/config/wireless von kamikaze scheinbar ignoriert bzw. falsch gesetzt werden.
Weiters scheint die RS ein Problem mit ihren RAM und ihrer CPU zu haben:
- ist mit 180MB / Sekunde da ziemlich lahm (sogar ein WRT54G hat 750MB/Sek )
- mit neuen firmwares/bootloadern sollten es inzwischen
- 350MB/Sek sein
- und auch deutlich höhere CPU Performance
- und aktivierter write cache
Aber trotzdem: DDR-RAM sollte schneller sein.
Das RAM Problem besteht somit grossteils immer noch.
Die CPU war/ist übrigens so lahm, weil Debug-mode aktiv ist (in neueren Firmwares ist das behoben).
Und - nun ja - es dauert ne ziemliche Weile bis nach einem Reboot alles und der dropbear im speziellen wieder läuft.
Aber alles in allem kann man die Dinger wohl verwenden *g (Markus)
How To get LuCI on the RS
RS flashen mit Redboot
PC-seitige Vorbereitungen
Zunächst müssen Rootfilesystem und Kernelimage hier heruntergeladen werden:
http://texas.funkfeuer.at/~datacop/kamikaze/RS_trunk/
Hier die Dateien
- openwrt-ar71xx-root.squashfs (rootfilesystem)
- xxx (kernelimage)
herunterladen und speichern.
Selbstverständlich gibt es mehrere Möglichkeiten die Dateien auf die RS zu bekommen, die hier vorgestellte ist jedoch ganz praktikabel. Die Dateien werden über einen TFTP-Server, der auf dem Heimcomputer läuft, von Redboot(Bootloader der RS) geholt. Wie man einen solchen TFTP-Server zum laufen bringt, ist im WWW nach zu lesen und recht einfach.
Hat man nun einen TFTP-Server am laufen, kopiert man die beiden Dateien das entsprechende Verzeichnis des Servers. Gleichzeitig sollte man die Dateinamen, der Einfachheit halber ändern. Ich habe rootfs und kernel verwendet wie hier Beispielsweise zu sehen ist.
z.B. Linux
user@galactica:/srv/tftp$ ls kernel rootfs
Für Windows gibt es Pumpkin, auch ein einfacher TFTP-Server.
Um sich mit der RS zu verbinden wird ein Terminalprogramm benötigt, z.B. minicom (Linux) oder putty (Windows). Einstellungen der RS sind 115200 8N1.
RS-seitige Vorbereitungen
Um sich mit der RS zu verbinden wird weiters ein Pegelkonverter (z.B. MAX232) benötigt und wenn am PC keine serielle Schnittstelle zur Verfügung steht, ein USB to Serial converter.
Verbindet (mit Kabeln) man nun die RS mit dem PC und öffnet minicom bzw. putty, und gibt der RS Strom, kann der Startvorgang von Redboot, und in weiterer Folge, des openWRT verfolgt werden.
Um in das Redboot zu kommen muss gleich nach anstecken des Stromes die Tastenkombination "Strg+C" gedrückt werde.
Nun zu Redboot
RedBoot bietet eine Vielzahl von Möglichkeiten, im folgenden werden nur die relevanten vorgestellt und kurz erläutert.
RedBoot> fis list
Gibt den Inhalt des Flash Speichers aus.
Nun kann das rootfs geholt werden.
RedBoot> load -r -v -b %{FREEMEMLO} -h 192.168.1.21 rootfs
Hier wird die Datei rootfs, des TFTP-Servers, der auf dem HeimPC unter der 192.168.1.21 erreichbar ist (funktionierende LAN-Verbindung vorausgesetzt) geholt und temporär in den RAM gespeichert.
RedBoot> fis delete rootfs
Da noch ein alter Eintrag rootfs vorhanden ist, muss dieser gelöscht werden. Dies geschieht mit fis delete
... to be continued
Country Code
Unter /etc/modules.d/50-madwifi
ath_pci countrycode=860
Ist allerdings der country code von Uzbekistan, imho alle in AT erlaubten Kanäle sind freigeschalten, teilweise mit maximal 15db (5180..5320Mhz) ansonsten meist max. 17db was imho nicht weiter stört, und auch mit AFAIK mit 25mW erlaubte 5,8GHz Subband ist dabei (was in dem Band genau erlaubt ist, bitte selber nachprüfen, bevor man daran denkt, solche Frequenzen einzustellen,...)
Will man doch etwas korrekter sein dann:
ath_pci countrycode=276 outdoor=1
Damit hat man dann die 5Ghz Outdoor Kanäle, und halt eben den countrycode unsrer lieben Nachbarn eingestellt (DE). Will man Indoor-Kanäle, dann Outdoor weglassen. Beides gleichzeitig am selben Router gibts wohl nit *g
(Nebenbei geht mit diesem code auch turbo modus recht problemlos, sowohl in den Indoor- und Outdoor-Kanälen, während mit 860 hatte ich da keinen Erfolg)
AT hätte country_code von 040 aber damit gab es dann gleich nur noch 2.4ghz Kanäle )-;
Turbo Mode
Geht im station Betrieb klaglos, einfach den ap auf turbo mode stellen und madwifi scannt es von alleine und aktiviert turbo mode (zumindest auf den static turbo mode Kanälen).
iwconfig zeigt dann IEEE 802.11Ta an ansgtelle von 802.11a.
Ansonsten könnte man turbo mode auch manuell konfigurieren:
iwpriv athX turbo 1 iwpriv athX mode 5 (nur bei station mitunter notwendig, damit sie sich mit nem turbo-mode ap verbinden)
AP Forwarding
Auf 5Ghz gibts ja kaum adhoc taugliche Geräte (weil dann inkompatibel mit dfs), also bleibt in der Regel nur noch wds mit "echter" mesh Funktinoalität übrig, in der Regel hat wds aber eh nur Kompatibilitätsprobleme, oder macht eh wenig Sinn und ptmp ist eh genug bzw. zuviel *g ( ... an hidden stations *g).
Jedoch sollte in einem OLSR-Netz eben idealerweise nur auf Layer 3 geroutet werden und eben nicht vom ap die OLSR-Broadcast der einen Station wieder an die anderen Station repeatet werden und in Folge dann aller andere Traffic zwischen den Clients. Denn die link-Kosten des OLSR stimmen dann mit der realen Doppelbelastung des Mediums wiedermal nicht überein (im Grunde ist das sogar noch ein bisschen schlimmer als PTP 5Ghz bridges aneinander zuhängen).
Darum imho besser das forwarding/bridging am ap abdrehen.
iwpriv athX ap_bridge 0
Distance, Diversity, usw.
wie man derartige advanced wlan settings tatsächlich via /etc/config/wireless konfiguriert, sollt ma noch rausfinden/fixen.
Eventuell tun diese 3 zusammen was es soll:
option diversity 1 option txantenna 1 option rxantenna 1 #0 = auto, 1 = antenna a, 2 = antenna b
Fürs erste tuns aber cmdline utilities auch z.B.: http://wlanwifi.blogspot.com/2008/02/madwifi-utility-usage.html
Nützlich ists mal die distance einzustellen, sonst geht auf langen Strecken gar nix (denn default Setting ist für 301-600 Meter):
athctrl -i wifi0 -d 10000
Oder nachdem man genug rumprobiert hat (Einstellungen ändern sich nur in 300 Meter Schritten dann eben permanent in /etc/config/wireless in der wifiX section eintragen:
option 'distance' '10000'
Da manche minipci, zumindest bei broadcasts, mitunter diversity mässig groben Unfug treiben (paketweise abwechselnd Antenne A oder B).
Vermutlich weil sie normalerweise aufgrund der acks lernen, welche Antenne für welches Ziel besser wäre, aber bei broadcasts gibts keine acks und darum besser fix einstellen. Vor allem weil wir in der Regel eh nur eine einzige Antenne haben:
echo "1" > /proc/sys/dev/wifi0/txantenna # 0 auto, 1 antenna a, 2 antenna b
Oder im /etc/config/wireless in der wifiX Section:
option 'diversity' '0' # 0 off, 1 on option 'rxantenna' '0' # Antenna identifier (0, 1 or 2) for reception. option 'txantenna' '0' # Antenna identifier (0, 1 or 2) for emission.
Auch das Beschränken der Kanäle fürs Scannen macht Sinn (z.B. nur 5G wenn man ne 5G Antenne aber ne abg Card hat), sonst dauert das Scannen nach der Gegenstelle (nach einem disconnect) immer sooo lange *g (Allerdings hat untriges bis jetzt nie erwünschte Wirkung gezeigt, es wird weiterhin auch auf allen Frequenzbändern gescannt):
athchans -i ath0 1-2 #restrict channel search to 1-2
Oder man setzt wenigstens den mode im Konfigfile:
option 'hwmode' '11a'
OLSR
Läuft klaglos drauf und wenn man die Firewall abschaltet:
/etc/init.d/firewall disable
Oder eben die zu restriktiven forwarding Regeln abändert, dann passt alles, ansonsten ist ein kamikaze Router mit OLSR eben ein böses blackhole.
Weitere Details zur OLSR-Konfiguration
Allgemeines Howto für OLSR unter Linux
Unbricking
https://lists.openwrt.org/pipermail/openwrt-users/2009-May/000759.html