Aumentare il TX Power modificando il CRDA Regulatory Domain su Ubuntu & BackTrack
(per ALFA-AWUS036H 500mW/1.000mW con driver RTL8187/mac80211)
Con l'introduzione dei nuovi drivers con Stacks mac80211, a differenza dei precenti ieee80211, il TX-Power e di conseguenza il limite della massima potenza EIRP viene regolata/impostata automaticamente dal CRDA.
Questo cambiamento, di conseguenza, non permette più alla scheda Wireless USB ad alta potenza ALFA-AWUS036H (chipset Realtek rtl8187L) di erogare tutta la sua potenza di trasmissione durante le connessioni Internet o il Wardriving.
Analizzando la nuova struttura dei file di configurazione dei mac80211 ed i richiami di "udev" al Kernel Linux, possiamo però raggirare l'ostacolo regolando/modificando la potenza del TX della nostra scheda Wireless agendo sul CRDA. (Central Regulatory Domain Agent)
Ricordo, che la modifica del CRDA, non influisce solo sulle impostazioni della massima potenza utilizzabile in dBm, ma anche nell' impostazione dei canali/frequenze destinate alle Bande di trasmissione Wireless che sono regolate a livello Mondiale e per ciascun Country da specifiche Normative/Leggi, pertanto accertatevi di non violare
le Leggi vigenti del vostro Paese/Country utilizzando frequenze o potenze non ammesse.
Dopo questa breve anticipazione, vediamo come regolare la potenza di trasmissione della vostra scheda Wireless, optando per UNA delle DUE seguenti soluzioni.
NOTE:
- La creazione e la modifica dei seguenti file deve essere fatta con attenzione.
- Testato con Ubuntu Jaunty - Kernel 2.6.28 e 2.6.30.
- Testato con BackTrack 4 e 5.
- Compatibile con le ultime versioni Ubuntu solo apportando qualche modifica alle procedure sotto descritte.
- Assicurarsi di non violare le Leggi del vostro Paese usando frequenze o potente (TX Power) non consente.
Installazione e aggiornamento dei pacchetti ESSENZIALI e raccomandati
NOTA:
Prima di proseguire, verificate mediante Synaptic di NON aver attivi i Repository "Proposed" e "Backport".
Codice:
sudo dpkg --configure -a && sudo apt-get install -f && sudo apt-get update
Codice:
sudo apt-get install linux-headers-$(uname -r) build-essential make patch subversion openssl libssl-dev zlib1g zlib1g-dev libssh2-1-dev libnl1 libnl-dev gettext autoconf tcl8.5 libpcap0.8 libpcap0.8-dev python-scapy python-dev cracklib-runtime macchanger-gtk tshark ethtool
Installazione/aggiornamento di "IW"
(Wireless Configuration Utility per i driver basati su stack-mac80211)
[Prima Opzione] Installazione dai repository ufficiali di Ubuntu
Codice:
sudo apt-get install iw
[OPZIONE RACCOMANDATA] In alternativa, compilate i sorgenti dell'ultima versione di iw aggiornata disponibile
Codice:
sudo mkdir /usr/src/drivers && cd /usr/src/drivers
sudo wget http://linuxwireless.org/download/iw/iw-3.4.tar.bz2 -O - | sudo tar -jxv
cd iw*
sudo make && sudo make install
PRIMA OPZIONE
Shortcuts per modificare a 30 dBm il CRDA con un solo comando
Se utilizate più adattatori wireless è sicuramente comodo settare automaticamente il CRDA richiamato dal Kernel per l'ALFA-AWUS036H, ma solamente quando ne avete la necessità; inoltre questa opzione non influisce sulle impostazioni delle altre eventuali schede wireless presenti nel vostro sistema.
Pertanto, questa prima opzione è suggerita per semplificare ma non modificare in modo permanente i dati di default.
Create un nuovo file utilizzando il vostro editor di testi preferito, denominato "crda_change"
Codice:
sudo gedit /usr/local/bin/crda_change
Copiate ed incollate nel nuovo file creato il seguente testo
Codice:
#!/bin/sh
sudo modprobe rtl8187
sleep 2
sudo iw reg set BO
Rendete il nuovo file eseguibile
Codice:
sudo chmod +x /usr/local/bin/crda_change
Fate una copia di Backup del file originale e create un nuovo alias, nell'esempio denominato --> boost
Codice:
cp ~/.bashrc .bashrc_backup
printf "alias boost=\'sudo /usr/local/bin/crda_change'\n" | tee -a ~/.bashrc
Ora chiudete la sessione del terminale e se volete caricare il driver RTL8187/mac80211 e modificare automaticamente il CRDA, utilizzate il comando boost
in una nuova shell.
SECONDA OPZIONE
Automatizzare la modifica del CRDA, caricare i driver rtl8187/mac80211 e settare in "mode UP" l'ALFA-AWUS036H quando collegata alla porta USB del computer
Create il nuovo file denominato "crda_change" come descritto nel passaggio precedente --> PRIMA OPZIONE
Create, o se già presente, editate il seguente file
Codice:
sudo gedit /etc/udev/rules.d/80programs.rules
Copiate ed incollate il seguente testo
NOTA:
il testo, quando incollato, deve essere rappresentato su un'unica riga.
Codice:
SUBSYSTEMS=="usb", SYSFS{idVendor}=="0bda", SYSFS{idProduct}=="8187", RUN+="/usr/local/bin/crda_change"
Fatto questo, d'ora in avanti, collegando l'adattatore WiFi nella porta USB, lo script verrà eseguito automaticamente permettendo il libero settaggio del TX-Power della scheda wireless collegata.
Comandi Linux di base per verificare il CRDA e settare la potenza di uscita (tx power) usando IW
Per verificare l'attuale livello della potenza in uscita impostato (tx power level)
Codice:
iwlist wlan0 txpower | grep "Current"
Utilizzo di IW per controllare le impostazioni del Regulatory Domain attualmente in uso dal vostro Kernel
Codice:
iw reg get
Utilizzo di IW per verificare le frequenze e potenze ammesse dal CRDA corrente
Codice:
iw phy0 info | fgrep MHz
Utilizzo di IW per settare l'impostazione del livello di potenza a 1.000mW/3000mBm (txpower output)
Codice:
sudo iw dev wlan0 set txpower fixed 3000
Nota Importante relativa all'utilizzo di IW:
Se utilizzte la nuova utility per la configurazione delle periferiche Wireless "IW" invece del consueto "IWCONFIG", ricordate che i parametri per settare le potenze di trasmissione vanno espressi in mBm
(millibels riferiti a 1 milliwatt) e non più in dBm
(decibels riferiti a 1 milliwatt) pertanto la scala è la seguente: --> 100 mBm = 1 dBm.
Test con Ubuntu

Test con BackTrack 5
Enjoy, Jano
Scritto il: 22/Marzo/2010
Aggiornato il: 15/Maggio/2012
Disclaimer