SvenOlaTuecke-Mail2007sep12-sendeleistung,einheiten,wl,wifi,broadcom

Aus Weimarnetz Wiki
Zur Navigation springen Zur Suche springen
Path: news.weimarnetz.de!news.leipzig.freifunk.net!not-for-mail
From: Sven-Ola Tuecke <sven-ola@gmx.de>
Newsgroups: freifunk.de.firmware
Subject: Re: fff_v1.6.1 / wl txpwr / Sendeleistung
Date: Fri, 14 Sep 2007 09:26:23 +0200
Organization: Freifunk Leipzig
Lines: 206
Message-ID: <fcdd34$8js$1@quamquam.org>
References: <op.tx946xzuzjqwbn@box>
NNTP-Posting-Host: 127.0.0.2
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: quamquam.org 1189754788 8828 127.0.0.2 (14 Sep 2007 07:26:28 GMT)
X-Complaints-To: usenet@quamquam.org
NNTP-Posting-Date: Fri, 14 Sep 2007 07:26:28 +0000 (UTC)
User-Agent: Thunderbird 1.5.0.13 (X11/20070824)
In-Reply-To: <op.tx946xzuzjqwbn@box>
Xref: news.weimarnetz.de freifunk.de.firmware:48

Hallo Bastian,

spaete Antwort, weil ich dein Posting nicht gesehen habe. Hier ein paar 
Hintergrund-Infos (wobei ich annehme, dass du dir das schon selbst 
zusammengereimt hast).

- Der Wifi-Chip verwaltet die "gewuenschte Max txpwr" in qdbm. Das sind
   ein-viertel-dBm, mithin also eine logarithmische Masz-Zahl vgl.
   Wikipedia zum Thema "db". Werte von 0-253.

- Ob der Treiber den eingestellten Wert uebermittelt und ob der Chip
   die gewuenschte txpwr auch tatsaechlich sendet haengt von mehr oder
   weniger "unbekannten" Faktoren ab. Einer davon ist das ein "Force-
   Flag" mit 0x80000000, das z.B. das wl-adv mit "-o" durchreicht.
   Angucken kann man das mit wl-adv, und "wl curpower".

- Das wl-adv kann alle Einheiten (mW, qdbm, dbm). Das "kleine" wl
   aus der Firmware kann nur mw (Milliwatt) und das /sbin/wifi kann
   nur qdbm. Zusaetzlich begrenzen beide Tools auf ca. 64qdbm. Es
   gibt ein Flag (s.o) das dies aufhebt: ff_txpwroverride=1, abge-
   fragt sowohl in wl als auch in /sbin/wifi

- Wieviele Watt in eine Richtung gesendet werden, haengt ja von
   mehreren Faktoren ab. Antennen-dBi (Buendelung in eine Richtung),
   Steckerverluste, Ausgangsleitung an der Buchse. Mit ordentlichen
   Richtantennen und der max. Ausgansleistung erreicht man spielend
   4000 mW (also 4 Watt) allerdings nur fuer das "Loch im Horizont".
   So eine Antenne hat dann auch 40-60cm...

- Die gesetzliche Regelung ist IMO bescheuert aber Fakt. Im Prinzip
   muesste man alle WRTs mit 100mW und einem Kugel-Rundstrahler be-
   treiben. Zum Empfang dann "dicke Ohren" in eine Richtung. Damit
   koennen alle zusammen eine Gegend so richtig "verstrahlen". Das
   ist dann erlaubt. Wohingegen die gezielte Abstrahlung in eine Richtung
   mit erheblich weniger "stoert-Andere"-Potential durch die Regelung
   in gewisser weise "bestraft" wird. Naja...

- Um das Umrechnen und die Einhaltung der ges. Limits zu erleichtern,
   gibts auf der Web-UI unter Admin/Drahtlos eine Hilfsfunktion. Man
   stellt die dbi-Zahl der Antenne und die Stecker/Kabelverluste ein
   und kann dann die Einstellung mit [<<<] aktivieren. Das "Force"
   Flag wird dabei genau dann gesetzt, wenn die gewuenschte Ausgangs-
   Leistung das intere Treiberlimit ueberschreitet. Fuer die dbi-Zahl
   empfehle ich gerne "Wimo-dBi" statt "ebay-dBi", dies kann erheblich
   differieren <ggg>

- Die Treiberbegrenzung kann evnt. mit nvram set pa0maxpwr=0x48 ge-
   aendert werden, aber das hab' ich nie ausprobiert. Ist evnt. auch
   von "wl country" abhaengig. Die Einstellung von Admin/System/Land
   auf "DE" sei an dieser Stellen nochmals empfohlen.

- Nach eigener Erfahrung weiss ich noch, das die dauerhafte Ausgangs-
   Leistung ueber 100mW fuer einige Geraete schaedlich ist (funken dann
   nicht mehr gut) und im Spektrogramm sahen ein paar Fachfreaks dann
   auch "vermatschte Signale" aka. Kreischt-laut-ist-aber-nicht-gut-
   Moduliert. Bei zu hoher Ausgangs-Leistung und vielen Nodes vor Ort
   gibts dann die bekannten "behindern sich alle Gegenseitig" Effekte.
   Von daher: erst Nachdenken - dann kreischen lassen. Besser ist
   knackiges Fluestern mit sicherer Uebermittlung wg. "dicke Ohren"...

Ich freue mich, an dieser Stelle einmal ordentlich Reklame machen zu 
duerfen. In Elektras neuem Buch sind die Grundlagen naemlich nochmal 
schoen zusammengefasst. Der Verlag freut sich sicher ueber die eine oder 
andere Bestellung:

Mesh (Dahtlose Ad-hoc-Netze)
von Corinna (Elektra) Aichele
Open-Source-Press (Juli 2007)
ISBN 978-3-937514-39-0
Kost'n Zwanziger.

Alles klar?
// Sven-Ola

Bastian Bittorf schrieb:
> ich mal wieder. Nachdem sich hier in Weimar einige die
> Finger verbrannt haben, beim rumspielen an der Sendeleistung
> nun mal die Analyse. Nur bei den Einstellungen "1" und "75"
> stimmt die eingestellte Sendeleistung mit der tatsaechlich (?)
> umgesetzten ueberein - ist das so gewollt?:
> 
> Skript:
> --------------------
> i=0
> while [ "$i" -lt 255 ]; do
>         nvram set wl0_txpwr=$i
>         wifi
>         sleep 5
>         TRUE="$(wl txpwr | cut -d" " -f3)"
>         echo "nvram set wl0_txpwr=$i; wifi up -> wl txpwr = $TRUE $(test 
> "$i" != "$TRUE" && echo !)"
>         let i+=1
> done
> --------------------
> 
> Ergebnis:
> ---------------------------------------
> nvram set wl0_txpwr=0; wifi up -> wl txpwr = 89 !
> nvram set wl0_txpwr=1; wifi up -> wl txpwr = 1
> nvram set wl0_txpwr=2; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=3; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=4; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=5; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=6; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=7; wifi up -> wl txpwr = 1 !
> nvram set wl0_txpwr=8; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=9; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=10; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=11; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=12; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=13; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=14; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=15; wifi up -> wl txpwr = 2 !
> nvram set wl0_txpwr=16; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=17; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=18; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=19; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=20; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=21; wifi up -> wl txpwr = 3 !
> nvram set wl0_txpwr=22; wifi up -> wl txpwr = 4 !
> nvram set wl0_txpwr=23; wifi up -> wl txpwr = 4 !
> nvram set wl0_txpwr=24; wifi up -> wl txpwr = 4 !
> nvram set wl0_txpwr=25; wifi up -> wl txpwr = 4 !
> nvram set wl0_txpwr=26; wifi up -> wl txpwr = 4 !
> nvram set wl0_txpwr=27; wifi up -> wl txpwr = 5 !
> nvram set wl0_txpwr=28; wifi up -> wl txpwr = 5 !
> nvram set wl0_txpwr=29; wifi up -> wl txpwr = 5 !
> nvram set wl0_txpwr=30; wifi up -> wl txpwr = 6 !
> nvram set wl0_txpwr=31; wifi up -> wl txpwr = 6 !
> nvram set wl0_txpwr=32; wifi up -> wl txpwr = 6 !
> nvram set wl0_txpwr=33; wifi up -> wl txpwr = 7 !
> nvram set wl0_txpwr=34; wifi up -> wl txpwr = 7 !
> nvram set wl0_txpwr=35; wifi up -> wl txpwr = 7 !
> nvram set wl0_txpwr=36; wifi up -> wl txpwr = 8 !
> nvram set wl0_txpwr=37; wifi up -> wl txpwr = 8 !
> nvram set wl0_txpwr=38; wifi up -> wl txpwr = 9 !
> nvram set wl0_txpwr=39; wifi up -> wl txpwr = 9 !
> nvram set wl0_txpwr=40; wifi up -> wl txpwr = 10 !
> nvram set wl0_txpwr=41; wifi up -> wl txpwr = 11 !
> nvram set wl0_txpwr=42; wifi up -> wl txpwr = 11 !
> nvram set wl0_txpwr=43; wifi up -> wl txpwr = 12 !
> nvram set wl0_txpwr=44; wifi up -> wl txpwr = 13 !
> nvram set wl0_txpwr=45; wifi up -> wl txpwr = 13 !
> nvram set wl0_txpwr=46; wifi up -> wl txpwr = 14 !
> nvram set wl0_txpwr=47; wifi up -> wl txpwr = 15 !
> nvram set wl0_txpwr=48; wifi up -> wl txpwr = 16 !
> nvram set wl0_txpwr=49; wifi up -> wl txpwr = 17 !
> nvram set wl0_txpwr=50; wifi up -> wl txpwr = 18 !
> nvram set wl0_txpwr=51; wifi up -> wl txpwr = 19 !
> nvram set wl0_txpwr=52; wifi up -> wl txpwr = 20 !
> nvram set wl0_txpwr=53; wifi up -> wl txpwr = 21 !
> nvram set wl0_txpwr=54; wifi up -> wl txpwr = 22 !
> nvram set wl0_txpwr=55; wifi up -> wl txpwr = 24 !
> nvram set wl0_txpwr=56; wifi up -> wl txpwr = 25 !
> nvram set wl0_txpwr=57; wifi up -> wl txpwr = 27 !
> nvram set wl0_txpwr=58; wifi up -> wl txpwr = 28 !
> nvram set wl0_txpwr=59; wifi up -> wl txpwr = 30 !
> nvram set wl0_txpwr=60; wifi up -> wl txpwr = 32 !
> nvram set wl0_txpwr=61; wifi up -> wl txpwr = 33 !
> nvram set wl0_txpwr=62; wifi up -> wl txpwr = 35 !
> nvram set wl0_txpwr=63; wifi up -> wl txpwr = 38 !
> nvram set wl0_txpwr=64; wifi up -> wl txpwr = 40 !
> nvram set wl0_txpwr=65; wifi up -> wl txpwr = 42 !
> nvram set wl0_txpwr=66; wifi up -> wl txpwr = 45 !
> nvram set wl0_txpwr=67; wifi up -> wl txpwr = 47 !
> nvram set wl0_txpwr=68; wifi up -> wl txpwr = 50 !
> nvram set wl0_txpwr=69; wifi up -> wl txpwr = 53 !
> nvram set wl0_txpwr=70; wifi up -> wl txpwr = 56 !
> nvram set wl0_txpwr=71; wifi up -> wl txpwr = 60 !
> nvram set wl0_txpwr=72; wifi up -> wl txpwr = 63 !
> nvram set wl0_txpwr=73; wifi up -> wl txpwr = 67 !
> nvram set wl0_txpwr=74; wifi up -> wl txpwr = 71 !
> nvram set wl0_txpwr=75; wifi up -> wl txpwr = 75
> nvram set wl0_txpwr=76; wifi up -> wl txpwr = 79 !
> nvram set wl0_txpwr=77; wifi up -> wl txpwr = 84 !
> nvram set wl0_txpwr=78; wifi up -> wl txpwr = 89 !
> nvram set wl0_txpwr=79; wifi up -> wl txpwr = 94 !
> nvram set wl0_txpwr=80; wifi up -> wl txpwr = 100 !
> nvram set wl0_txpwr=81; wifi up -> wl txpwr = 106 !
> nvram set wl0_txpwr=82; wifi up -> wl txpwr = 112 !
> nvram set wl0_txpwr=83; wifi up -> wl txpwr = 119 !
> nvram set wl0_txpwr=84; wifi up -> wl txpwr = 126 !
> nvram set wl0_txpwr=85; wifi up -> wl txpwr = 133 !
> nvram set wl0_txpwr=86; wifi up -> wl txpwr = 141 !
> nvram set wl0_txpwr=87; wifi up -> wl txpwr = 150 !
> nvram set wl0_txpwr=88; wifi up -> wl txpwr = 158 !
> nvram set wl0_txpwr=89; wifi up -> wl txpwr = 168 !
> nvram set wl0_txpwr=90; wifi up -> wl txpwr = 178 !
> nvram set wl0_txpwr=91; wifi up -> wl txpwr = 188 !
> nvram set wl0_txpwr=92; wifi up -> wl txpwr = 200 !
> nvram set wl0_txpwr=93; wifi up -> wl txpwr = 211 !
> nvram set wl0_txpwr=94; wifi up -> wl txpwr = 224 !
> nvram set wl0_txpwr=95; wifi up -> wl txpwr = 237 !
> nvram set wl0_txpwr=96; wifi up -> wl txpwr = 251 !
> nvram set wl0_txpwr=97; wifi up -> wl txpwr = 255 !
> 
> Ab 97 bleibt die Sendeleistung auf 255 (!)
> 
> Eigentlich gibts es ja nur 65 verschiedene Einstellmoeglicheiten,
> die koennte man auch durch eine Selectbox vorgeben:
> 
> 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,24,25,27,
> 28,30,32,33,35,38,40,42,45,47,50,53,56,60,63,67,71,75,79,84,89,94,
> 100,106,112,119,126,133,141,150,158,168,178,188,200,211,224,237,251,255
> 
> bye,Bastian.