Regulace
Jak nastavit své Wi-Fi Prism 2.5 zařízení, aby dodržovalo legální výstupní výkon ČTÚ ? Tuto otázkou si již dlouho klade mnoho členů, proto na ni dnes položím jasnou odpověč. Následující metodika bude dobře sloužit pro všechny body CZFree.Net, které takto snadno splní potřebné limity výkonu, dané platnou legislativou v ČR.
Nejdůležitějším krokem je stanovení zisku anténní soustavy, od kterého se odvíjí nastavení výstupního výkonu samotného zařízení. Pro výpočet zisku soustavy bude třeba spočítat zisk/útlum jednotlivých komponentů, a stanovit celkový zisk/útlum soustavy. Pro výpočet použijeme následující hodnoty komponentů:
Anténa: zisk dle výrobce, obvykle +8-24db
- Kabel RLA-10/RG213: -0.25db/metr
- Kabel Belden H1000/RG213: -0.22db/metr
- Kabel LMR-195/RG58: -0.75db/metr
- N konektor, spojka N-N: -1db
- R-SMA/SMA konektor: -0.25db
- Pigtail (N konektor + R-SMA konektor): -1.25db
- Čtvrtlnná zkratová bleskojistka: -1.25db
Výkon vypočteme například podle tohoto příkladu dokumentace k anténní soustavě, který byl demonstrován a předložen při náhodné kontrole ČTÚ na mém node na Andělu:
- antena ISM 24 zisk 24
- N konektor -1
- 10 m kabelu RLA-10 -2.5
- N konektor -1
- spojka N-N -1
- bleskojistka zkratova -1.25
- pigtail -1.25
Suma 16
Soustava vykazuje zisk 16db, zařízení budu tedy muset nastavit na hodnotu -6 dbm/1Mhz, abych splnil limit 10 dbm/1Mhz.
Jak správně nastavíme zařízení Prism 2.5 ? Prodejce ve svém prohlášení o shodě, které musí být kromě dokumentace k anténní soustavě též předloženo ČTÚ při kontrole spolu se sériovým číslem karty, udává typickou výkonovou hustotu zařízení zhruba 8-9 dbm/1Mhz (neplést s celkovým VF výkonem, který činí obvykle 15dbm). Výkon bude tedy třeba snížit o 14dbm/1Mhz.
Regulace výstupního výkonu zařízení Prism 2.5 se děje pomocí změny hodnoty registru 62 v ovladači HostAP. Aktuální hodnotu registru si přečteme následujícím příkazem:
iwpriv wlan0 readmif 62
Základní výkon a nastavení registru po inicializaci zařízení automaticky kolísá kolem základní hodnoty, u karty Alphawave P24-PCI je to kolem 230-240, u karet Z-COM XI-626 kolem 165-175. Jak vidíme tedy vidíme, registr se pro různé karty značně liší, a pro jeho správné nastavení je třeba spektrálního analyzátoru. Provedl jsem proto důkladná měření PCI karet Alphawave P24-PCI a ZCOM XI-626 na tomto zařízení, aby si členové mohli své karty nastavit zcela přesně.
Pro nastavení výkonu je třeba nejprve vypnout automatické kolísání výstupního výkonu, které znemožnuje nastavení registru 62:
iwconfig wlan0 txpower -50 auto iwconfig wlan0 txpower -50 fixed
Nastavení vlastního výkonu provedeme poté přímo příkazem:
iwpriv wlan0 writemif 62 88 # Alphawave P24-PCI -6dbm/1Mhz při zisku soustavy 16db
Pro karty Alphawave P24-PCI nastavujeme následující hodnoty registru pro daný výkon:
[registr] [dbm/1Mhz] 127 -15 10 -14 115 -13 110 -12 105 -11 100 -10 95 -9 90 -8 85 -7.5 80 -7 88 -6 75 -5.5 70 -5 69 -4.5 68 -4.5 65 -4 64 -3.8 60 -3 55 -2 50 -2 45 -1 40 -0.5 35 0 30 1 29 1.5 28 1.5 27 2 25 2.5 24 2.5 23 3 20 3.25 15 4 10 4.75 9 5 8 5 5 5.5 0 6 255 6.5 250 7 245 7.5 240 8 235 8.5 230 9 225 9.5 220 9.5 215 9.5 210 9.5 200 9.5 190 9.5 180 9.5 170 9.5 160 9.5 150 9.5 140 9.5 130 9.5 128 9.5
Pro karty ZCOM XI-626 nastavujeme následující hodnoty registru pro daný výkon:
[registr] [dbm/1Mhz] 120 -22.5 110 -20.5 100 -18 90 -17 80 -15 70 -13.5 60 -11.5 50 -10.5 40 -8.5 30 -6.5 20 -5 10 -3.5 0 -2 250 -1.5 240 -0.5 230 1 220 2.5 210 3.5 200 5 190 6 180 7 170 8 160 9 150 9.5 140 9.5 130 9.5
Pomocí výše uvedených hodnot dosáhnete přesného nastavení karty. Karta je třeba nastavit vždy při každném startu OS nebo softwarovém resetu karty.
Automatickou regulaci můžeme zajistit třeba následujícím scriptem, který umístíme do
/etc/cron.hourly/
#!/bin/bash # txpower regulator # version 1.3 # created by Dark Lord IWCONFIG="/usr/local/sbin/iwconfig" IWPRIV="/usr/local/sbin/iwpriv" LOGGER="/usr/bin/logger -s" PW_WLAN0=130 # +9.5 dbm PW_WLAN1=235 # 0 dbm PW_WLAN2=210 # +3.5 dbm PW_WLAN3=210 # +3.5 dbm PW_WLAN4=30 # -6.5 dbm AC_WLAN0=`echo \`$IWPRIV wlan0 readmif 62\` | sed s/'wlan0 readmif:'//` AC_WLAN1=`echo \`$IWPRIV wlan1 readmif 62\` | sed s/'wlan1 readmif:'//` AC_WLAN2=`echo \`$IWPRIV wlan2 readmif 62\` | sed s/'wlan2 readmif:'//` AC_WLAN3=`echo \`$IWPRIV wlan3 readmif 62\` | sed s/'wlan3 readmif:'//` AC_WLAN4=`echo \`$IWPRIV wlan4 readmif 62\` | sed s/'wlan3 readmif:'//` if [ "$AC_WLAN0" != "$PW_WLAN0" ]; then echo "setting wlan0 power from: $AC_WLAN0 to $PW_WLAN0" | $LOGGER $IWCONFIG wlan0 txpower -50 auto; $IWCONFIG wlan0 txpower -50 fixed; $IWPRIV wlan0 writemif 62 $PW_WLAN0; fi if [ "$AC_WLAN1" != "$PW_WLAN1" ]; then echo "setting wlan1 power from: $AC_WLAN1 to $PW_WLAN1" | $LOGGER $IWCONFIG wlan1 txpower -50 auto; $IWCONFIG wlan1 txpower -50 fixed; $IWPRIV wlan1 writemif 62 $PW_WLAN1; fi if [ "$AC_WLAN2" != "$PW_WLAN2" ]; then echo "setting wlan2 power from: $AC_WLAN2 to $PW_WLAN2" | $LOGGER $IWCONFIG wlan2 txpower -50 auto; $IWCONFIG wlan2 txpower -50 fixed; $IWPRIV wlan2 writemif 62 $PW_WLAN2; fi if [ "$AC_WLAN3" != "$PW_WLAN3" ]; then echo "setting wlan3 power from: $AC_WLAN3 to $PW_WLAN3" | $LOGGER $IWCONFIG wlan3 txpower -50 auto; $IWCONFIG wlan3 txpower -50 fixed; $IWPRIV wlan3 writemif 62 $PW_WLAN3; fi if [ "$AC_WLAN4" != "$PW_WLAN4" ]; then echo "setting wlan4 power from: $AC_WLAN4 to $PW_WLAN4" | $LOGGER $IWCONFIG wlan4 txpower -50 auto; $IWCONFIG wlan4 txpower -50 fixed; $IWPRIV wlan4 writemif 62 $PW_WLAN4; fi