Este era um reto que tinha de ser superado. Foi-me deixado um computador com uma placa WIFI smcwpcit-g (chipset AR5272/5273) e tinha de funcionar de qualquer maneira. Aqui na imagem da esquerda está a placa em questão, e a verdade é que pensei que desse mais "guerra" do que deu, mas mesmo assim foi um processo "entretido".
Antes de começar precisamos de instalar os seguintes pacotes:
build-essential
bin86
sharutils
E claro, também precisamos que estejam instaladas as fontes do nosso kernel instalado, ou seja os kernel-sources ou kernel-headers da versão que seja respectiva á que tenhamos instalado.
Para saber qual temos instalado usamos o comando:
$ uname -r
o resultado é:
$ uname -r
2.6.26-2-686
Instalados estes pacotes prosseguimos. Passo seguinte instalei o pacote madwifi e madwifi-tools desde os repositórios, mas não me serviram. Então depois de descarregar e compilar a ultima versão do pacote madwifi, tinha de tentar já que era uma versão mais recente (0.9.4) do que a que está nos repositórios de Debian, continuava sem resultar...
Descarreguei madwifi-0.9.4.tar.gz
Abri uma linha de comandos e entro como root,... fiz o seguinte comando para copiar o ficheiro comprimido madwifi-0.9.4.tar.gz para poder compilá-lo a nivel do sistema:
# cp madwifi-0.9.4.tar.gz
De seguida, vou á pasta /src que está dentro de /usr:
# cd /usr/src
Descomprimo o ficheiro madwifi-0.9.4.tar.gz com o seguinte comando:
# tar -zxvf madwifi-0.9.4.tar.gz
é criada uma pasta chamada madwifi-0.9.4 e todo o conteúdo do ficheiro comprimido é passado para dentro, sub-pastas incluidas...
Mudo a localização de onde estou para dentro da pasta que acabo de comprimir:
# cd madwifi-0.9.4
Começamos...:
# make clean
este passo foi bem... agora começamos a construir com "make":
# make
...até que surge o erro:
/usr/src/madwifi-0.9.4/net80211/ieee80211_power.c: In function 'ieee80211_pwrsav
e':
/usr/src/madwifi-0.9.4/net80211/ieee80211_power.c:240: error: implicit declarati
on of function '__skb_append'
make[3]: *** [/usr/src/madwifi-0.9.4/net80211/ieee80211_power.o] Error 1
make[2]: *** [/usr/src/madwifi-0.9.4/net80211] Error 2
make[1]: *** [_module_/usr/src/madwifi-0.9.4] Error 2
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
make: ** [modules] Erro 2
obtia um erro a compilar este pacote, e depois de investigar na página de bugs do madwifi, parecia que a versão instalada através de svn iria funcionar.
Abro o gestor de pacotes Synaptic e instalo o pacote svn. Acto seguido introduzo o seguinte para voltar á pasta anterior (/usr/src):
# cd ..
A seguir uso o comando sugerido para instalar através de svn:
# svn checkout http://svn.madwifi-project.org/madwifi/trunk madwifi
Desta vez é criada uma pasta chamada madwifi. Entro na pasta e faço:
# make
Tudo sobre rodas... depois de muita informação na saida deste comando, nenhum erro.
De seguida faço a instalação com make install
# make install
Checking requirements... ok.
Checking kernel configuration... ok.
make -C /lib/modules/2.6.26-2-686/build SUBDIRS=/usr/src/madwifi modules
make[1]: Entering directory `/usr/src/linux-headers-2.6.26-2-686'
Building modules, stage 2.
MODPOST 14 modules
make[1]: Leaving directory `/usr/src/linux-headers-2.6.26-2-686'
sh scripts/find-madwifi-modules.sh -r 2.6.26-2-686
for i in ath/ ath_hal/ ath_rate/ net80211/; do \
make -C $i install || exit 1; \
done
make[1]: Entering directory `/usr/src/madwifi/ath'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_pci.ko //lib/modules/2.6.26-2-686/net
make[1]: Leaving directory `/usr/src/madwifi/ath'
make[1]: Entering directory `/usr/src/madwifi/ath_hal'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_hal.ko //lib/modules/2.6.26-2-686/net
make[1]: Leaving directory `/usr/src/madwifi/ath_hal'
make[1]: Entering directory `/usr/src/madwifi/ath_rate'
for i in amrr/ onoe/ sample/ minstrel/; do \
make -C $i install || exit 1; \
done
make[2]: Entering directory `/usr/src/madwifi/ath_rate/amrr'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_rate_amrr.ko //lib/modules/2.6.26-2-686/net
make[2]: Leaving directory `/usr/src/madwifi/ath_rate/amrr'
make[2]: Entering directory `/usr/src/madwifi/ath_rate/onoe'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_rate_onoe.ko //lib/modules/2.6.26-2-686/net
make[2]: Leaving directory `/usr/src/madwifi/ath_rate/onoe'
make[2]: Entering directory `/usr/src/madwifi/ath_rate/sample'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_rate_sample.ko //lib/modules/2.6.26-2-686/net
make[2]: Leaving directory `/usr/src/madwifi/ath_rate/sample'
make[2]: Entering directory `/usr/src/madwifi/ath_rate/minstrel'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
install -m 0644 ath_rate_minstrel.ko //lib/modules/2.6.26-2-686/net
make[2]: Leaving directory `/usr/src/madwifi/ath_rate/minstrel'
make[1]: Leaving directory `/usr/src/madwifi/ath_rate'
make[1]: Entering directory `/usr/src/madwifi/net80211'
test -d //lib/modules/2.6.26-2-686/net || mkdir -p //lib/modules/2.6.26-2-686/ne
t
for i in wlan.o wlan_wep.o wlan_tkip.o wlan_ccmp.o wlan_acl.o wlan_xauth.o wlan_
scan_sta.o wlan_scan_ap.o; do \
f=`basename $i .o`; \
install -m 0644 $f.ko //lib/modules/2.6.26-2-686/net; \
done
make[1]: Leaving directory `/usr/src/madwifi/net80211'
(export KMODPATH=/lib/modules/2.6.26-2-686/net; /sbin/depmod -ae 2.6.26-2-686)
make -C ./tools all || exit 1
make[1]: Entering directory `/usr/src/madwifi/tools'
for d in ath_info; do \
make -C $d || exit 1; \
done
make[2]: Entering directory `/usr/src/madwifi/tools/ath_info'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/madwifi/tools/ath_info'
make[1]: Leaving directory `/usr/src/madwifi/tools'
make -C ./tools install || exit 1
make[1]: Entering directory `/usr/src/madwifi/tools'
for d in ath_info; do \
make -C $d || exit 1; \
done
make[2]: Entering directory `/usr/src/madwifi/tools/ath_info'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/usr/src/madwifi/tools/ath_info'
install -d /usr/local/bin
for i in athstats 80211stats athkey athchans athctrl athdebug 80211debug wlancon
fig wpakey; do \
install $i /usr/local/bin/$i; \
strip /usr/local/bin/$i; \
done
install -d /usr/local/man/man8
install -m 0644 man/*.8 /usr/local/man/man8
install ../scripts/madwifi-unload /usr/local/bin/madwifi-unload
for d in ath_info; do \
make -C $d install || exit 1; \
done
make[2]: Entering directory `/usr/src/madwifi/tools/ath_info'
install -d /usr/local/bin
install -m 755 ath_info /usr/local/bin
install -d /usr/local/share/man/man8
install -m 644 ath_info.8 /usr/local/share/man/man8
make[2]: Leaving directory `/usr/src/madwifi/tools/ath_info'
make[1]: Leaving directory `/usr/src/madwifi/tools'
Tudo perfeito. De seguida executo:
# modprobe ath_pci
debian:/usr/src/madwifi# iwconfig
lo no wireless extensions.
eth0 no wireless extensions.
wifi0 no wireless extensions.
ath0 IEEE 802.11g ESSID:"" Nickname:""
Mode:Managed Frequency:2.437 GHz Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:19 dBm Sensitivity=1/1
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/70 Signal level=-96 dBm Noise level=-96 dBm
Rx invalid nwid:132 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
A seguir editamos como root o ficheiro modules que está dentro da pasta /etc e adicionamos ao final do ficheiro, depois de "loop" na linha de baixo:
ath_pci
para que este módulo seja carregado ao iniciar o sistema.
Descarregamos e instalamos o pacote wpa_supplicant, é facil encontrar o pacote... temos de o compilar também.
Também temos de descarregar e instalar/compilar madwifi-hal desde:
http://snapshots.madwifi-project.org
Possivelmente haje que instalar antes de compilar algum pacote com o nome de tls e outro com o nome de openssl, ou ssl (também os -dev) para compilar e é tudo.
Só falta instalar knetworkmanager, que foi a ferramenta que no final fez-me tudo practicamente, só tive de pôr a chave para o meu acesso WPA e.... BINGO !
Sem comentários:
Enviar um comentário
É favor manter a boa educação nos comentários. Qualquer comentário ofensivo, racista, desprestigioso, apenas com objectivo de inundar o blogue ou comentários de publicidade não solicitada serão eliminados. Serão aceites comentários em Português, Espanhol e Inglês. Comentarios en Portugues, Español y Ingles seran aceptados. Comments in Portuguese, Spanish and English will be accepted.