Posts com Tag ‘wireless’

1. Introdução
Estamos utilizando aqui a versão Debian 8 (“jessie”).

Os dispositivos UniFi são fornecidos com um software controlador, que permite gerenciar a rede UniFi usando um navegador web. O software com um conjunto de facilidades básicas é gratuito. Mas para ampliar a capacidade de gerenciamento da rede e a sua segurança, módulos softwares adicionais podem ser adquiridos de forma onerosa.

2. Algumas coisas bem básicas
a) ao ligar o equipamento, este assume um amarelo piscante. Isso significa que o mesmo está se inicializando.
b) ao terminar a inicialização, o dispositivo pode ir para a cor amarela (indicando que está precisando ser configurado) ou a cor verde (ou azul, dependendo da versão),quando o mesmo está configurado, entrou na rede e está em operação normal.
c) caso o equipamento apresente um verde piscante (ou azul, dependendo da versão), significa que o mesmo está configurado mas não entrou na rede. Possivelmente o equipamento perdeu comunicação com o roteador/switch principal.

3. A instalação
a) instalar os pacotes relativos ao banco de dados MongoDB:
# apt-get install mongodb-server mongodb-clients

b) Verificar se o serviço está ativo:
$ ps -A | grep mongo
490 ? 00:00:07 mongod
1579 ? 00:00:05 mongod

c) baixar e instlar o software controlador do Ubiquiti:
O mesmo se encontra disponível em https://www.ubnt.com/download/unifi/
No momento desse post, o software baixado estava identificado como “UniFi 5.4.11 Controller for Debian/Ubuntu Linux”:
Filename: unifi_sysvinit_all.deb
Version: 5.4.11
Size: 134MB

Fazer sua instalação:
# dpkg -i unifi_sysvinit_all.deb

Também é possível baixar o controlador diretamente via comando APT, conforme as instruções disponibilizadas pelo fabricante.

d) É interessante seguir as orientações de instalação e utilização do software de controle do UniFi através do seu guia do usuário. Para a versão 5 do software de controle, o guia do usuário pode ser encontrado em https://dl.ubnt.com/guides/UniFi/UniFi_Controller_V5_UG.pdf

e) acessar o software de controle do UniFi através da máquina local da rede em que fora instalado o software, pela URL http://<IP-maquina_local >:8443/ . Seguir os passos determinados. Se o usuário não possui cadastro no fabricante, será solicitado que seja realizado.

f) Para fazer login no software controlador após este estar instalado, será apresentada uma página inicial com o seguinte aspecto:
Tela de login do UniFI

g) após fazer o login inicial no software controlador, será apresentado um dashboard com o seguinte aspecto:
Dashboard inicial do UniFi

h) dentro do software controlador, uma operação essencial deverá ser feita: comandar a atualização do firmware do equipamento UniFi.

i) após configurar as redes (SSID,…), o equipamento deverá apresentar uma cor verde fixa, e pronto para uso.

Referências
Comunidade UniFi

1. Introdução
Ao instalar o Debian 8 (“jessie”) em um laptop HP-Compaq 6710b, observa-se que sua interface wifi ainda não está funcionando e o áudio está na situação “mudo”. Esse post procura contribuir com a solução destes incovenientes.

2. Sobre o wifi
2.1 BIOS
O laptop tem na BIOS uma opção de bloquear a interface wifi. Verifique para que esta opção esteja habilitando o funcionamento do wifi.

2.2 Usar componentes non-free
Adicionar ao arquivo que contém a lista de fontes de pacotes (/etc/apt/sources.list) o componentes non-free. A título de exemplo, a entrada poderia ficar assim:

deb http://ftp.br.debian.org/debian/ jessie main non-free

2.3 Instalar o firmware e reiniciar o computador

# apt-get update
# apt-get install firmware-iwlwifi
# reboot

2.4 Verificar se firmware está instalado e funcionando
Ao reiniciar a máquina, o wifi já deverá estar funcionando. Adicionalmente, verifique:


# lspci -v
10:00.0 Network controller: Intel Corporation PRO/Wireless 4965 AG or AGN [Kedron] Network Connection (rev 61)
	Subsystem: Intel Corporation Device 1000
	Flags: bus master, fast devsel, latency 0, IRQ 46
	Memory at e4100000 (64-bit, non-prefetchable) [size=8K]
	Capabilities: [c8] Power Management version 3
	Capabilities: [d0] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [e0] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [140] Device Serial Number 00-21-5c-ff-ff-93-61-dd
	Kernel driver in use: iwl4965

Vemos que se está se utilizando o driver “iwl4965”. Assim, fora instalado o driver e, estando agora a interface wifi funcionando, temos superado o problema da interface wifi.

3. Sobre o áudio
Inicialmente não havia áudio. A razão disso é que o status da interface está em “mudo”. Ative o áudio da seguinte maneira:

# alsamixer
Com o alsamixer, levante o volume do som e digite “M” para sair do modo “mudo”. Pronto, o som deve funcionar.
Obs: se necessário, utilize a opção F6 para selecionar o cartão de áudio.

Por último:
# alsactl store
salvando para o arquivo de configuração o corrente estado do driver relativo ao cartão de som selecionado.

Referências
1- Instalar driver de Wifi no laptop Lenovo E430 ThinkPad usando Debian
2- Instalar driver de Wifi no laptop HP Pavilion dv2040 usando Debian
3- Entendendo melhor como funcionam os drivers em máquinas Linux

Ao instalar uma imagem Debian (a que eu usei foi a versão 8 do Debian – “jessie”) no lap-top Lenovo E430 ThinkPad, nos deparamos com o problema da interface wifi não funcionar. Durante a instalação do Debian já temos a mensagem de que faltavam os firmwares rtl8168e-3.fw e bcm43xx-0.fw.

Para deixar a interface wifi funcionando precisamos instalar drivers proprietários (infelizmente!). Para isso, proceder assim:

a) Indicar os repositórios não livres
Adicionar as sessões de repositórios “contrib” e “non-free” na lista de repositórios (arquivo /etc/apt/sources.list). Um bom exemplo pode ser o seguinte arquivo sources.list:

deb http://ftp.br.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.br.debian.org/debian/ jessie main
#
deb http://security.debian.org/ jessie/updates main contrib non-free
deb-src http://security.debian.org/ jessie/updates main
#
# jessie-updates, previously known as 'volatile'
deb http://ftp.br.debian.org/debian/ jessie-updates main
deb-src http://ftp.br.debian.org/debian/ jessie-updates main

b) Instalar o firmware
Instalar 3 (três) pacotes, conforme abaixo mostrados através da figura:
Pacotes com firmware broadcom

Referências:
1- Lenovo ThinkPad Edge E530
2- Debian: Lenovo Thinkpad Edge e530 – Drivers Wifi
3- Listagem de dispositivos wireless devices com informação sobre o seu chipset, e se são suportados em Linux

4- Instalar driver de Wifi no laptop HP Pavilion dv2040 usando Debian
5- Entendendo melhor como funcionam os drivers em máquinas Linux

1. Introdução
O WDS serve para expandir o enlace de uma rede entre dois ou mais locais. Deseja-se melhorar a recepção do sinal wireless expandindo as portas disponíveis e a área de alcance do sinal wireless. Com o WDS é possível fazer múltiplos pontos de acesso se comuniquem entre si, com cada ponto de acesso se comunicando com o ponto de acesso mais próximo, com os dados sendo repetidos até chegarem no roteador da rede.

É importante ressaltar que cada modelo de roteador têm sua própria interface de configuração. O que vamos postar aqui são os princípios para a configuração de uma ponte (“bridge”) entre um roteador principal e outro roteador para estender a rede. Utilizaremos dois roteadores TP-Link (TL-WR941ND e TL-WR841N). Se os modelos de seus roteadores são diferentes desses, e provavelmente seja, não se preocupe, pois a lógica é sempre a mesma.

Mas atenção: o WDS pode ser incompatível entre diferentes produtos (mesmo que esporadicamente do mesmo fornecedor) uma vez que o padrão IEEE 802.11-1.999 não define como construir tais implementações ou como estações interagem para providenciar a troca de quadros deste formato.

O WDS tem uma desvantagem principal: a taxa de transferência wireless é cortada aproximadamente pela metade para cada “hop” de repetidor WDS. Isso ocorre porque todas as transmissões utilizam o mesmo canal de rádio e deve ser retransmitida para alcançar a LAN com fios.

2. Conceitos Básicos
2.1 Bridge
Bridge (ponte) é um conversor que permite interligar dois segmentos de rede no nível 2 (nível de enlace) do modelo OSI. Um switch é uma bridge, pois ele liga um segmento de uma rede a outro. São outros exemplos de bridge:

a) Access Point (AP) wifi é uma bridge, pois recebe rede ethernet via cabo de um lado e transmite ethernet sem cabo (wifi) do outro.

b) uma rede Ethernet em um local pode ser ligada a outra rede Ethernet de outro local. Neste caso, APs colocados em cada rede, configurados para se comunicarem entre si, fariam uma “bridge” entre uma rede e outra.

c) um modem adsl é uma bridge, que a rigor nem deveria ser chamado de modem, recebendo a rede via ADSL e transformando em ethernet.

Na prática comercial, geralmente não se encontra um dispositivo bridge puro, mas sim um AP wireless com capacidade embutida de bridging.

2.2 Access Point
– um “wireless access point” connecta usuários para uma rede através da criação de um sinal wireless. Ele é interligado a um outro equipamento roteador por cabo LAN. O AP pode implementar sistemas de criptografia, validar o acesso dos clientes (através de passphrases, listas de endereços MAC e assim por diante). Sua configuração é feita normalmente através de uma interface web.

2.3 Repetidor
– é um dispositivo para estender o sinal de um determinado AP. Por exemplo, um roteador quando na função repetidor receberá sinais wireless de clientes e repassará estes sinais via wireless para outro roteador.

2.4 Roteadores
Roteadores também são bridges pois fazem o que a bridge faz porém fazem mais uma coisa: eles separam o tráfego pertinente a uma rede da outra. São capazes de interligar várias redes diferentes e sempre escolher a rota mais rápida para cada pacote de dados. Os roteadores operam no nível 3 (nível de rede) do modelo OSI, trabalhando com endereços IP em vez de endereços MAC. Os roteadores podem ligar mais de 2 redes entre si.

2.5 WDS
WDS – “wireless distribution system”, é um sistema que permite vários AP’s conversem entre si estendendo a cobertura de uma rede IEEE 802.11 sem-fio. Ele permite que uma rede sem fio seja expandida usando vários pontos de acesso sem a necessidade de se construir um backbone com fio para conectá-los. A notável vantagem do WDS sobre outras soluções é que se preserva os endereços MAC nos “frames” dos cliente através das ligações entre os pontos de acesso. Os MAC Address são cadastrados entre os AP’s e os canais são os mesmos entre os equipamentos, garantindo assim que os clientes possam se conectar ao AP que estiver com melhor sinal.

WDS possibilita dois modos de conectividade wireless AP-to-AP:

  • “Wireless bridging”: no qual os WDS APs (AP-to-AP) se comunicam unicamente um com o outro e não permitem acessos de clientes wireless.
  • “Wireless repeating”: no qual os WDS APs se comunicam um com o outro e também com os clientes wireless.

No nosso caso, um AP pode ser uma estação principal ou uma estação remota:
a) Estação Base Principal – está tipicamente conectada a uma rede cabeada Ethernet. Tem o endereço de gateway para a internet e é comum que a estação base Wi-Fi primária forneça o serviço DHCP para a rede Wi-Fi.

b) Estação Base Remota – qualquer estação base Wifi que se conecta à Estação Base Principal para expandir o alcance da rede. Aceita conecções de clientes wireless e passa estas para a Estação Base Principal. As conecções entre clientes são feitas utilizando-se de endereços MAC. Dessa foram, estas estações retransmitirem dados entre estações, ou entre a estação e os clientes wireless. Normalmente, as Estações Base Remotas devem ser definidas para usar o modo “bridge”.

Todas as estações base em um sistema de distribuição sem fio devem ser configurados para usar o mesmo canal de rádio, o método de criptografia (nenhum, WEP, WPA ou WPA2) e as mesmas chaves de criptografia.

3. Notas

  • ambos os roteadores devem ser configurados para se comunicar pelo mesmo canal wireless. Também ambos os roteadores devem ser configurados no memso tipo de rede 802.11, seja B, misto BG ou G. Uma rede exclusiva G deve usar ou o canal 1, 6 ou 11. Não testei para os casos do tipo de rede N;
  • não é obrigatório que ambas as estações utilizem o mesmo SSID no WDS (já que a relação é criada através do MAC);
  • ao usar repetidores, as máquinas clientes geralmente irão alternar entre eles apenas quando perderem o sinal completamente, o que leva a situações em que um cliente fica amarrado a um AP distante, com um sinal fraco, mesmo estando bem ao lado do repetidor. Tanto no Windows, no Linux (onde estes utilizam o wpa_supplicant) e em diferentes sistemas móveis, estes não alternam entre diferentes pontos de acesso ou repetidores a menos que o sinal seja realmente perdido. Com isso, se um cliente se conectar ao repetidor no extremo da rede e ir caminhando em direção ao ponto de acesso principal, pode ser notado que o dispositivo continuará preso ao sinal cada vez mais fraco do repetidor, em vez de chavear para o agora mais próximo ponto de acesso principal. A solução nestes casos é alternar manualmente, encerrando a conexão e conectando-se novamente, o que fará o sistema se conectar ao AP com melhor sinal;
  • o serviço DHCP no roteador extensor deve ser obrigatoriamente desabilitado;
  • WDS bridging requer apenas a configuração WDS no roteador raiz ou no roteador de extensão;
  • Sobre a segurança a ser utilizada com o WDS, pode-se selecionar: não utilizar segurança; encriptação WEP; ou encriptação WPA/WPA2, mas atentando que a chave de encriptação deve ser a mesma entre todas as estações. No passado este último modo de encriptação não era possível com WDS.


4. Configurar a Estação Base Remota

a) No projeto aqui deseja-se que esse AP funcione como uma Estação Base Remota, utilizando-se do WDS, podendo esse ser considerado um Repetidor pois ele funciona como bridge e aceita clientes wireless ao mesmo tempo.
Reinicialize o equipamento de forma que se tenha a garantia que mesmo esteja com as configurações “default” de fábrica. Normalmente isto é feito através de um botão existente na parte externa do equipamento o qual deve estar pressionado por cerca de 10seg quando o equipamento é ligado.

b) Através de um cabo Ethernet, conecte um computador ao equipamento wifi para poder fazer as configurações nessárias. Através de um navegador, acesse o o endereço “default” do painel de controle do equipamento (normalmente 192.168.1.1 ou 192.168.0.1). Se autenticando através das credenciais admin/admin para ter acesso ao seu painel de controle, onde um menu de opções para configuração será disponibilizado.

c) Depois de ter conseguido acessar o painel de controle da Estação Base Remota através do computador, a primeira coisa a se fazer é mudar seu IP para evitar que os dois roteadores usem o mesmo endereço. Isso acontece porque o IP de acesso default 192.168.1.1 (ou ainda 192.168.0.1) vem sendo o padrão de fábrica da maioria destes equipamentos. Desta forma, a chance do endereço ser o mesmo é bem grande. Por exemplo, como estamos utilizando para a Estação Base Principal o endereço 192.168.1.1, utilizaremos o IP 192.168.1.2 para a Estação Base Remota. Fazer isso através do menu “Interfaces LAN/WAN -> LAN”. Assim, deve-se aplicar esta mudança e reiniciar o equipamento. Fazer isto agora.
Fixar IP do roteador

d) Mudar a senha de administrador: por medida de segurança, deve-se alterar a identificação usuário/senha do administrador do equipamento. Isto se faz necessário por segurança já que o “default” de fábrica é amplamente conhecido.

e) Mudar o SSID: mude o SSID para um nome que identifique a Estação Base Remota, ou utilize o mesmo da Estação Base Principal. No nosso caso, utilizaremos o mesmo SSID nos dois roteadores. O SSID é o parâmetro que define o nome da rede, que pode ser à sua escolha, como “minharede”.

f) Canal da Estação Base Remota: deve ser configurado no mesmo canal que é utilizado pela Estação Base Principal.

g) Habilitar a “bridge”: marque a opção WDS. Esta opção ativará o recurso de ponte, ou seja, o que tornará o equipamento como um repetidor de sinal.
Configurar WDS

h) Parâmetros necessários para configurar o WDS: ao marcar a opção WDS, irá aparecer alguns campos a serem prenchidos com informações que identifiquem a Estação Base Principal:
– SSID;
– Endereço MAC da Estação Base Principal;
– Senha da Estação Base Principal para ser acessada.
Nesses campos deve-se colocar as informações da Estação Base Principal, pois é por meio dessa que será acessada a internet. A forma mais simples é usar a função “Procurar” (“Survey”) para listar a lista de AP disponíveis, e então poder se fazer a escolha desejada. Ao selecionar o AP desejado de uma lista disponível, as informações do SSID/MAC serão preenchidas automaticamente. Se a Estação Base Principal estiver usando uma criptogradfia WEP ou WPA, digite aqui esta senha de criptografia para poder se conectar à Estação Base Principal.

i) Senha para os clientes se conectarem à Estação Base Remota: se desejar uma conexão criptográfica dos clientes a essa Estação, através da opção do menu “Wireless -> Seguranca” digite a senha para os clientes poderem se conectar. Se desejar, adote a mesma que é utilizada para Estação Base Principal.

j) Desabilitar DHCP: isso serve para que a Estação Base Remota não gere novos endereços IP automaticamente, mas sim que adquira os IP para as máquinas clientes através da Estação Base Principal. No menu lateral vá em “Advanced Settings > DHCP” e clique em disabled, então salve. Para esta configuração ter efeito, o roteador deve ser reiniciado. Fazer isto agora.
Desabilitar o DHCP

5. Sobre a política de acesso
a) Na Estação Base Remota apliquei os filtros por MAC address: coloquei todas os clientes que poderiam fazer o acesso.
Filtros de MAC address

b) Na Estação Base Principal: além de fazer os filtros dos clientes por MAC address, fiz a reserva de IP a cada um destes clientes. Também apliquei algumas regras de horários para navegação referentes algumas máquinas clientes.
Reserva de IP

Controle de Acesso

6. Links
1. How to configure WDS function on TP-LINK Wireless Routers?
2. Como configurar meu roteador como um repetidor de sinal
3. WDS
4. Estações base Wi-Fi: como expandir o alcance da sua rede sem fio adicionando outras estações base Wi-Fi
5. Expandindo a rede Wi-Fi com pontos de acesso adicionais

Este post descreve a instalação do driver para o controlador wireless do netbook Acer Aspire One Series.
Sistema Operacional: GNU/linux, Debian 6 (Squeeze)

Neste equipamento a interface wireless está em eth1.

1) Identificar o hardware wireless
$ lspci -nn | grep Network
01:00.0 Network controller [0280]: Broadcom Corporation BCM4312 802.11b/g LP-PHY [14e4:4315] (rev 01)

Interpretando:
vendor 0x14E4: Broadcom
Devide 0x4315: BCM4315/BCM22062000 Broadcom Wireless b/g

2) Identificar o driver

A Broadcam tem um driver Linux para esta placa em: http://www.broadcom.com/support/802.11/linux_sta.php
Este pacote contém device driver Broadcom’s IEEE 802.11a/b/g/n hybrid Linux® para uso com os hardwares Broadcom’s BCM4311-, BCM4312-, BCM4313-, BCM4321-, BCM4322-, BCM43224-, and BCM43225-, BCM43227- and BCM43228-based.

3) Baixar o driver e compilar

3.1) Baixar o driver (no caso, o pacote para 32bits)

minhapasta$ wget -c http://www.broadcom.com/docs/linux_sta/hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

3.2) Desempacotar (no caso, o pacote de 32bits baixado)
minhapasta$ tar -vzxf hybrid-portsrc_x86_32-v5_100_82_112.tar.gz

O arquivo README que está disponível na URL do driver deve ser lido, pois trata-se um tutorial para instalação do driver.

3.3) Headers do Kernel
Se ainda não estiver com os arquivos de headers do kernel instalados, faça-o agora:
# apt-get install build-essential linux-headers-$(uname -r)

3.4) Compilador C
Se ainda não estiver com o compilador C instalado, faça-o agora:
# apt-get install gcc

3.5) Compilar o driver como um “Linux loadable kernel module” (LKM)
minhapasta# make clean
minhapasta# make

Quando a compilação estiver completa, será produzido um arquivo wl.ko
Este driver agora suporta a nova API linux de configuração sem fio cfg80211 em substituição da extensão anterior mais velhos sem fio (wext). O “makefile” automaticamente irá construir a versão correta para o sistema, mas ele pode ser
substituído se necessário:

# make API=WEXT
ou ainda
# make API=CFG80211

4) Instalar driver
4.1) Remover qualquer outro driver instalado para o Broadcom wireless device.
Existem vários outros drivers (além deste baixado) que podem controlar o Broadcom 802.11 tais como b43, BCMA e SSB. Para visualizar os drivers instalados:
# lsmod | grep "b43\|ssb\|bcma\|wl"

Se algum deste estiver instalado, remova-os:
# rmmod b43
# rmmod ssb
# rmmod bcma
# rmmod wl
# rmmod ndiswrapper

Colocar estes drivers na “blacklist” para prevenirque sejam carregados no futuro:
# echo "blacklist ssb" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist bcma" >> /etc/modprobe.d/blacklist.conf
# echo "blacklist b43" >> /etc/modprobe.d/blacklist.conf

4.2) Remover uma (possível) versão do “wl” já instalado anteriormente
Se já existia uma versão anterior do wl, basta fazer o procedimento deste subitem desconsiderando os demais passos descritos neste item “Instalar”. Considerando uma versão do “wl” instalada, é necessário fazer uma transição limpa do driver mais antigo para o novo driver. O caminho para o driver anterior é normalmente /lib/modules/<kernel-version>/kernel/net/wireless. Quando da publicação deste post, o caminho era /lib/modules/2.6.32-5-686/kernel/net/wireless/

minhapasta# rmmod wl
minhapasta# mv /lib/modules/<kernel-version>/kernel/net/wireless/wl.ko /lib/modules/<kernel-version>/kernel/net/wireless/wl.ko.orig
minhapasta# cp wl.ko /lib/modules//kernel/net/wireless/wl.ko
minhapasta# depmod
minhapasta# modprobe wl

O novo driver “wl” deve estar agora operacional e está tudo feito. Não há necessidade de fazer os passos descritos nos itens 4.3 à 4.7 abaixo.

4.3) Módulo de segurança de criptografia
Caso não tenha ocorrido uma instalado de um driver “wl” anteriormente, será necessário adicionar um módulo de segurança antes da utilização deste módulo “wl”. De uma maneira geral, os sistemas atuais usam o “lib80211”.
# modprobe lib80211

4.4) Carregar módulo de API cfg80211
# modprobe cfg80211

4.5) Carregar driver
# insmod wl.ko

O novo driver “wl” deve estar agora operacional e está tudo feito. Pode demorar alguns segundos para o “Network Manager” perceber que um novo driver de rede foi instalado e poder mostrar as redes wireless disponíveis.

4.6) Back up o corrente boot ramfs e gerar um novo
minhapasta# cp /boot/initrd.img-`uname -r` somewheresafe
minhapasta# update-initramfs -u
minhapasta# reboot

4.7) Diretório de módulos do kernel
Copiar o módulo gerado para o diretório de módulos do kernel e criar as dependências:

minhapasta# cp wl.ko /lib/modules/`uname -r`/kernel/drivers/net/wireless
minhapasta# depmod -a

5) Conectando em Redes Sem Fio no Linux
Esta parte do tutorial é referente a como fazer a conexão em redes sem fio que utilizem ou não proteção (WEP e WPA), tudo por linha de comando no GNU/Linux.

5.1) Parar o gerenciador de rede
Deve-se parar o processo do gerenciador de rede caso este esteja sendo utilizando. Por exemplo, os gerenciadores de rede “Network Manager” ou “Wicd”. Aproveitaremos para mostrar sua desativação completa para que não seja mais iniciado durante o boot:

# /etc/init.d/network-manager stop
# update-rc.d -f network-manager remove

5.2) Habilitar a interface de rede
# ifconfig eth1 up

5.3) Rede Aberta
Para conectar quando é uma rede aberta, ou seja, sem nenhuma criptografia, basta o seguinte comando:
# iwconfig eth1 essid WIFI

5.4) Rede com Criptografia WEP
Se a rede tiver criptografia WEP, para conectar execute o seguinte comando:
# iwconfig eth1 essid WIFI key SENHA

5.5) Rede com Criptografia WAP
Mas se a rede estiver com criptografia WPA, conforme foi mostrado no escaneamento de rede, para conectar execute os seguintes comandos:
# wpa_passphrase WIFI SENHA > /etc/wpa_supplicant/wpa_supplicant.conf
# wpa_supplicant -i eth1 -c /etc/wpa_supplicant/wpa_supplicant.conf -B -D wext

5.6) Finalmente solicitar o IP para navegação
# dhclient wlan0

Links:
1- Broadcom BCM4312 com driver nativo do Linux
2- Conectando em Redes Sem Fio no Linux

Este post se refere ao computador LG R590-U.BE53P1, tipo 5200.

Vem sendo de certa forma comum existir desconfortos para encontrar drivers Linux para as máquinas. Isto vale para o adaptador ethernet, wireless, áudio e vídeo, principalmente estes. Vamos tratar cada procedimento adotado para deixar este computador da LG funcionando corretamente com o Linux, distribuição Debian.

 

1. Configurando a interface wireless Realtek no LG R590 no Debian
Quando da instalação do sistema operacional, já fora detectada a falta de um firmware no repositório Debian, conforme reprodução abaixo de parte da mensagem que fora mostrada naquele momento no terminal:

“parte de seu hardware precida de arquivos de firmware não-livre para funcionar. Os arquivos de firmware que estão faltando são: rtlwifi/rtl8192sefw.bin”.

Ao final da instalação, pode-se observar que a interface wifi ainda não se encontra funcionando. Como veremos adiante, o firmware faltante que fora detectada pelo BIOS é justamente relativo a controladora wifi da máquina.

1.1) Primeiros passos – a identificação
a) Listar as PCI existentes
O utilitário lspci mostra informações sobre os barramentos PCI da máquina e sobre os “devices” conectados a estes.

$ lspci -v
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
	Subsystem: Quanta Microsystems, Inc Device 0308
	Flags: fast devsel, IRQ 16
	I/O ports at 3000 [size=256]
	Memory at d8100000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: 

Pelo quadro acima vemos que a informação de driver em uso não aparece. Confirmando que falta este firmware. O “device” foi percebido, mas está sem uso em função da inexistência do software de firmware.
$ lspci -nn
02:00.0 Network controller [0280]: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller [10ec:8172] (rev 10)

Relembrando, conforme post “Entendendo os drivers Linux para arquitetura de barramento PCI“: a identificação de um dispositivo PCI é realizada através de 32 bits, da seguinte maneira:
dddd:bb:dd.f onde:
– cada domínio é identificado por 16 bits (“dddd”), podendo receber até 256 barramentos;
– cada barramento é identificado por 8 bits (“bb”), podendo receber até 32 dispositivos;
– cada dispositivo é identificado por 5 bits (“dd”), podendo existir até 32 dispositivos em cada barramento PCI;
– a função de cada dispositivo é identificado por 3 bits (“f”), podendo existir até 8 funções.

Logo, interpretando o caso acima, temos na máquina afeta uma controladora de rede no barramento número 02, identificada como o device número 00 deste barramento. Fazendo a leitura completa da saída do comando lspci, pode-se ver que esta máquina tem 5 barramentos identificados por 00, 01, 02, 03 e ff.

A tabela de dispositivos pci lidos a partir do BIOS está em /sys/bus/pci/devices/. No caso deste controlador de rede, suas informações podem ser obtidas em /sys/bus/pci/devices/0000:02:00.0/. Daí, usando-se os dois comandos abaixo:
$ cat /sys/bus/pci/devices/0000:02:00.0/vendor
$ cat /sys/bus/pci/devices/0000:02:00.0/device

pode-se tirar:
– o “vendor” identifica que o fabricante do hardware: é informado 0x10ec (e do sitio PCI Vendor and Device Lists vemos que este número identifica a Realtek Semiconductor Co., Ltd.)
– o “device” é onde o fabricante do hardware informa qual a identificação do dispositivo: é informado 0x8172 (e do sitio PCI Vendor and Device Lists vemos que este número identifica o device “Single-Chip IEEE 802.11b/g/n 1T2R WLAN Controller with PCI Express Interface”).

O circuito integrado (CI) em chip único Realtek RTL8191SE, é um CI MIMO (“Multiple In, Multiple Out”) que implementa solução Wireless LAN (WLAN) com especificação 802.11n (com suporte à IEEE 802.11b and 802.11g) trabalhando na banda de 2.4GHz. Ele integra um MAC, uma capacidade de banda básica 1T2R, e RF em um único “chip”. O RTL8191SE fornece uma solução completa de um cliente “wireless” de alta performance.

Indo ao sitio da Realtek, há como baixar drivers para Linux para este dispositivo. Escolha no menu: Communications Network ICs -> Wireless Lan ICs -> Wlan NIC -> IEEE 802.11b/g/n Single-Chip -> Software -> RTL8192SE e baixe o arquivo correspondente ao seu kernel. No caso do kernel 3.2.60, o arquivo a ser baixado é o 92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz. Para o kernel anterior ao 2.6.24, o arquivo a ser baixado é o rtl819se_linux_2.6.0019.1207.2010.tar.gz.

1.2) Debian 6 (Squeeze)
Acessando os softwares de firmware do CI Realtek, e considerando que o kernel em uso na máquina é o 2.6.23, deve-se baixar o arquivo rtl819se_linux_2.6.0019.1207.2010.tar.gz que contém o driver adequado.

O arquivo baixado deve ser desempacotado e compilado. Certifique-se que sua máquina tem instalado os seguintes aplicativos:

# apt-get install linux-headers-$(uname -r)
# apt-get install gcc
# apt-get install make
# apt-get install binutils

É importantíssimo que a mesma versão do compilador (gcc) que foi utilizado para gerar  o kernel Linux também seja utilizada para compilar os drivers.  Proceda da seguinte maneira:

a) Verificar a versão do gcc utilizada pelo kernel:

$ cat /proc/version
Linux version 2.6.23-5-amd64 (Debian 2.6.23-38) (ben@decadent.org.uk) (gcc version 4.3.5 (Debian 4.3.5-4)

Vemos que a versão do gcc utilizada para compilar o kernel foi a versão 4.3.

b) verificar a versão em uso na máquina:
$ gcc -v
gcc version 4.4.5 (Debian 4.4.5-8)

ou através de:

$ cd /usr/bin
/usr/bin$ ls -l gcc*
lrwxrwxrwx 1 root root gcc -> gcc-4.4
-rwxr-xr-x 1 root root gcc-4.4
-rwxr-xr-x 1 root root gcc-4.3

Logo, observamos uma diferença.  Se a máquina não estiver com o gcc-4.3 instalado, faça sua instalação (pode ser facilmente através do Synaptic). Em seguida, execute:


/usr/bin# rm gcc
/usr/bin# ln -s gcc-4.3 gcc

Para certificar-se, visualize agora qual o compilador gcc que está ativo:
$ gcc -v
gcc version 4.3.5 (Debian 4.3.5-4)

Só então execute os seguintes comandos:


$ tar -xvzf rtl819se_linux_2.6.0019.1207.2010.tar.gz
$ cd rtl819se_linux_2.6.0019.1207.2010
$ make
# make install
Reinicie o computador agora....

OBS:
a) O módulo tem que ser recompilado toda vez que o número do kernel linux mudar.
b) O driver usa wlan0, e utilizando o comando lspci obtem-se DEVICE 8172 na linha 02:00.0. Se mostrado na linha 03:00.0 poderá também ser wlan1.
c) Em caso de necessidade de suporte quanto ao funcionamento do driver, pode ser tentado ajuda através do email wlanfae@realtek.com

1.3) Debian 7 (Wheezy)
Ao seguir o roteiro acima, baixando o arquivo 92ce_se_de_linux_mac80211_0005.1230.2011.tar.gz já que no momento o kernel da máquina 3.2.60, e seguindo os mesmos passos descritos para o Debian 6, após o reboot da máquina esta estará com a interface wifi funcionando normalmente.

Observe agora que a saída do comando lspci indica qual o driver em uso:

$ lspci -v
02:00.0 Network controller: Realtek Semiconductor Co., Ltd. RTL8191SEvB Wireless LAN Controller (rev 10)
	Subsystem: Quanta Microsystems, Inc Device 0308
	Flags: bus master, fast devsel, latency 0, IRQ 16
	I/O ports at 3000 [size=256]
	Memory at d8100000 (32-bit, non-prefetchable) [size=16K]
	Capabilities: 
	Kernel driver in use: rtl8192se

1.4) Debian 8 (Jessie)
Mais fácil ainda. Basta:
a) colocar em /etc/apt/sources.list a seção non-free. Por exemplo, algo assim:
deb http://ftp.br.debian.org/debian/ jessie main non-free
b) atualizar:
# apt-get update
c) instalar pacote de firmware (por linha de comando ou utilizando o synaptic):
# apt-get install firmware-realtek
d) reiniciar a máquina
# reboot

Pronto, a interface wifi deverá estar funcionando.

1.5) Comandos úteis
a) verificar se a placa wifi está bloqueada:
# rfkill list wlan (para wifi)
# rfkill list all (para wifi e bluetooth)

obs: inicialmente, fazer a instalação do aplicativo (apt-get install rfkill)
Se tudo estiver desbloqueado uma resposta do tipo deve ser fornecida:

1: phy0: Wireless LAN
	Soft blocked: no
	Hard blocked: no
7: hci0: Bluetooth
	Soft blocked: no
	Hard blocked: no

 


b) desbloquear a placa (caso esteja bloqueada):
# rfkill unblock wlan (para wifi)
# rfkill unblock all (para wifi e bluetooth)
# /etc/init.d/network-manager restart (reiniciar a rede)

2. Configurando o adaptador de video Nvidia Geforce GT335M no Debian

O lap-top LG modelo LGR58 vem equipado com um processador gráfico NVIDIA GeForce da serie 300M (modelo GeForce GT 335M – mobile), com 1GB de memória dedicada.

# lspci -v

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 335M] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: LG Electronics, Inc. Device 0832
	Flags: bus master, fast devsel, latency 0, IRQ 16
	Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Memory at d0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 4000 [size=128]
	Expansion ROM at d3080000 [disabled] [size=512K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Kernel driver in use: nouveau

 

Observe que está sendo utilizado o driver genérico “nouveau” para esta interface, e não o driver especializado da própria Nvidea.

a) Faça o download do driver do produto Geforce GT335M, diretamente do sitio da Nvidia.

b) Desinstalar o driver da Nouveau

A distribuição Debian já vem com um driver alternativo e aberto Nouveau para controladoras de vídeo da nVidia (Driver Open Source de Aceleração para placas nVidia) incluído no seu kernel Linux. O Fedora 11 já inclui este driver e a Canonical incluiu também no Ubuntu 10.04. A distribuição Debian também vem disponibilizando este driver em seus repositórios. O projeto nouveau visa à construção de drivers de código aberto de alta qualidade para placas nVidia. “Nouveau” [nuvo] em francês significa “novo”.

Preferi usar o próprio driver fornecido pela nVidea. Neste caso, devemos desinstalar os pacotes Nouveau:

Utilize o Synaptic e marque para desinstalar os pacotes nouveau:
libdrm-nouveau1a
libdrm-nouveau1a:i386
xserver-xorg-video-nouveau-dbg

Adicione ao arquivo (ou crie este arquivo se ainda não existir) /etc/modprobe.d/blacklist.conf as seguintes linhas:
blacklist vga16fb
blacklist nouveau
blacklist rivafb
blacklist nvidiafb
blacklist rivatv

Agora reinicie o computador. Isto fará com o que o driver nouveau ainda em uso não seja mais utilizado. Após a reiniciação, verifique se realmente o driver nouveau não mais está obtendo a seguinte resposta ao comando abaixo:
# lshw -c video | grep 'configuration'
configuration: latency=0

c) Saia do servidor X (abra um terminal em modo texto – por exemplo, através de ctrl+alt+F1) e cancele todas aplicacoes OpenGL:

# /etc/init.d/gdm stop (se está usando gdm) ou
# /etc/init.d/gdm3 stop (se está usando gdm3)
# /etc/init.d/lightdm stop (se está usando o lightdm)

OBS: o gerenciador de login (para detalhes veja o post Gerenciadores de login no Debian) que está em uso pode ser facilmente identificado através de duas formas:
– pelo comando: $ cat /etc/X11/default-display-manager

– pela leitura do deamon ativo no sistema:

$ ps -A | grep gdm para saber se está usando gdm ou gdm3; ou
$ ps -A | grep lig para saber se está usando lightdm; ou
$ ps -A | grep kdm para saber se está usando kdm

d) Mude para a pasta contendo o driver, fazendo o arquivo baixado ter privilégios de ser executado:
# chmod +x NVIDIA-Linux-x86-256.44.run (para versão 32 bits), ou
# chmod +x NVIDIA-Linux-x86_64-340.32.run (para versão 64 bits)

e) Se ainda nao tiver instalado os arquivos listados abaixo, faça-o agora:

# apt-get install linux-headers-$(uname -r)
# apt-get install gcc
# apt-get install make
# apt-get install binutils

f) Por seguranca, faça uma cópia da configuração do servidor X:
#cp /etc/X11/xorg.conf /etc/X11/xorg.conf-original

g) Fazer a instalação do driver:
# ./NVIDIA-Linux-x86_64-340.32.run (para versão 64 bits)
O arquivo .run e’ um arquivo de auto extracao. Quando executado, ele extrai os conteúdos do arquivo e executa o utilitário nvidia-installer, o qual provê uma interface iterativa para o usuário fazer a instalação. Após a instalação reinicie o computador.

h) Verificar se o driver nvidia realmente está em uso
Após reiniciar o computador, verifique se o driver em uso é o nvidea:
– verificação-1: pelo comando abaixo, obtendo a seguinte resposta:
# lshw -c video | grep 'configuration'
configuration: driver=nvidia latency=0

– verificação-2: pelo comando lspci, obtendo a seguinte resposta:

# lspci -v

01:00.0 VGA compatible controller: NVIDIA Corporation GT215 [GeForce GT 335M] (rev a2) (prog-if 00 [VGA controller])
	Subsystem: LG Electronics, Inc. Device 0832
	Flags: bus master, fast devsel, latency 0, IRQ 44
	Memory at d2000000 (32-bit, non-prefetchable) [size=16M]
	Memory at c0000000 (64-bit, prefetchable) [size=256M]
	Memory at d0000000 (64-bit, prefetchable) [size=32M]
	I/O ports at 4000 [size=128]
	[virtual] Expansion ROM at d3080000 [disabled] [size=512K]
	Capabilities: [60] Power Management version 3
	Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [78] Express Endpoint, MSI 00
	Capabilities: [b4] Vendor Specific Information: Len=14 <?>
	Capabilities: [100] Virtual Channel
	Capabilities: [128] Power Budgeting <?>
	Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
	Kernel driver in use: nvidia

i) Alguns problemas que podem ser encontrados
i.1) se a versão do compilador GCC do kernel for diferente da versão do compilador instalado em seu sistema, quando desta etapa do procedimento de instalação  do driver ocorrerá uma mensagem de aviso e parada para o usuário abortar ou continuar a instalação.  No meu caso, a mensagem informava que o kernel usou o GCC4-3 e a versão atual é a GCC4-4. Por segurança, é melhor abortar e fazer a instalação do driver com a versão do compilador GCC compatível com a utilizada para compilar o kernel.  Para isto proceda da seguinte forma:

  • instale a versão do GCC 4-3 (utilize o synaptic, por exemplo)
  • verifique a versão do gcc atual:
    $gcc -v
    gcc version 4.4.5 (Debian 4.4.5-8)
  • verifique o local do compilador GCC.$ which gcc
    /usr/bin/gcc

    onde poderá se observar que gcc não passa de um link simbólico para o arquivo -> gcc-4.4
  • crie uma variável de ambiente CC, com valor de GCC4-3, pois no processo de instalação do driver esta será consultada e utilizada:
    # CC=gcc-4.3
    # export CC

Os comandos acima determinam que o conteúdo da variável CC é gcc-4.3, e o export CC é para tornar a variavel CC global  e poder ser visualizada em todos shells.
Para certificar-se, visualize o conteúdo da variável CC através do comando:
# env
Agora sim, dê início a instalação do driver novamente.

i.2) Se obtiver uma mensagem de erro relativo a não encontrar o apontador da árvore do kernel, proceda da seguinte forma:
# cd /usr/src
/usr/src# ln -s linux-headers-3.6.3-amd64/ linux

OBS: no caso acima para o kernel em uso que era o 3.6.3-amd64

i.3) Uma possível configuração para usar a interface RGB para um projetor: use o comando abaixo dentro do X (ou seja, com a interface gráfica sendo executada).
# nvidia-settings
Configure o que for necessário para o /etc/X11/xorg.conf e salve as modificações. Depois reinicialize o X e vai dar certo.

No meu caso, para ter a saída de vídeo reproduzida numa TV através da interface RGB fiz a seguinte configuração:

  • configuração para a tela do laptop LGD (DFP-0 on GPU-0):
    Configuration: TwinView
    resolução: 1024 x 768 60Hz
    position: absolute
  • configuração para o monitor TV LG Electronics LG TV (CRT-0 on GPU-0):
    Configuration: TwinView
    resolução: 1024x768 Auto
    Position: Clones

3. Mais informações:
1- Pacote Debian AMD64, ia64 ou i386 para Intel i5?
2- Blog do Jairo Sanches – Atheros AR8131 no Linux
3- To install Debian testing
4- Instalar o driver wireless RTL8191/8192SE
5- NVIDIA GeForce
6- Repositorios Debian
7- Migrando o Debian para o Squeeze
8- Debian Sources List Generator
9- Nouveau: driver open source de aceleração para placas nVidia
10- Como usar o o driver alternativo e aberto Nouveau
11- Debian – Package firmware-realtek
12- Entendendo melhor como funcionam os drivers em máquinas Linux
13- HDMI Audio on NVIDIA GPUs

Ao instalar uma imagem Debian (a que eu usei foi a versão 6 do Debian, a Squeeze) no lap-top HP Pavilion dv2040, nos deparamos com o problema da interface wifi não funcionar. Isso é devido ao fato de que o fabricante do driver (a Intel) não disponibilizá-lo como software livre. Assim, a distribuição Debian não incorpora o driver em sua ISO.

1. Buscando a solução

Estamos diante do desafio de lidar com a instalação e a configuração do dispositivo WiFi. A instalação deste dispositivo é, essencialmente, um processo em duas etapas: 1) instalar um driver (também chamado módulo) e 2) configurar sua interface WiFi. Um dispositivo WiFi opera através de um chip eletrônico chamado “chipset”. Podemos encontrar o mesmo chipset em diversos dispositivos diferentes. Consequentemente, o driver/módulo para um chipset irá funcionar com todos os dispositivos que usam aquele chipset. Uma interface WiFi é uma interface Ethernet que também provê parâmetros específicos de configuração WiFi, que são controlados usando o comando iwconfig.

Antes de mais nada, vamos ver que placa de wifi é esta que está equipada no laptop:

# lspci -nn
05:00.0 Network controller [0280]: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection [8086:4222] (rev 02)

Fazendo a identificação do dispositivo (vide http://www.pcidatabase.com/):

  • 8086: é a identificação do “vendor”. No caso, o número corresponde a empresa Intel;
  • 4222: é a identificação do “device”. A identificação do chip que encontramos é “Intel 3945ABG Wireless LAN controller”.
  • Vemos que o laptop HP Pavilion dv2040 possui uma placa wireless fabricada pela Intel, referência “Intel Corporation PRO/Wireless 3945ABG”. Para ela funcionar há necessidade de seu driver proprietário correspondente, de forma a controlar corretamente seu chipset (que, fazendo as pesquisas utilizando as referências ao final deste post, encontramos a identificação do seu chipset: ipw3945; e de seu driver necessário: iwl3945). De forma complementar, algumas destas informações também poderiam ser obtidas diretamente do data-sheet do laptop, tal como a encontrada em http://www.retrevo.com/search?q=HP+DV2040&rt=sp&modelid=607833.

    O fabricante do laptop, a HP, mantém em seu portal informações sobre os drivers utilizados em suas máquinas. Informações sobre a placa 3945ABG podem ser obtidas neste portal. Neste mesmo portal da HP encontra-se a indicação da localização de onde podemos baixar o driver da placa. No entanto, nesta página do sourceforge observamos uma nota informando que o projeto do driver fora descontinuado (para kernels Linux a partir do 2.6.24), e que seu desenvolvimento está agora unificado com o projeto iwlwifi (Intel Wireless WiFi) para Linux. Nesta página encontramos o link onde se encontra especificamente o projeto iwlwifi para a placa em uso no laptop (Nota: como dito antes, este projeto serve para kernels Linux a partir do 2.6.24).

    No momento deste post, a versão do driver disponibilizado para download na página do projeto foi a “iwlwifi-3945-ucode-15.32.2.9.tgz”. Na verdade, há necessidade de dois pacotes Debian:
    (a) o firmware: firmware-iwlwifi, que é o firmware binário para a placa Intel Wireless 3945 (iwlwifi-3945-2.ucode);
    (b) o driver: wireless-tools, que contém as ferramentas sem-fio (“wireless”), usadas para manipular diretamente as extensões sem-fio do Linux (“Linux Wireless Extensions”). A extensão sem-fio é uma interface que permite ao usuário ajustar a LAN sem-fio para parâmetros específicos.

    Há duas opções de encaminhamento a partir deste ponto, já que fora alcançado o entendimento das razões do não funcionamento da interface wifi do laptop.

    2. Fazendo a instalação dos softwares necessários

    2.1 Opção 1: adicionar repositório non-free e instalar o driver e o firmware via aptitude (ou Synaptic, usando a interface gráfica)

    (a) Adicione um “non-free” componente à /etc/apt/sources.list. No caso da versão Debian 6, teremos:

    # Debian Squeeze/6.0
    deb http://ftp.br.debian.org/debian squeeze main contrib non-free

    (b) Atualize a lista de pacotes disponíveis. Instale o firmware-iwlwifi e o pacote wireless-tools:

    # aptitude update
    # aptitude install firmware-iwlwifi wireless-tools

    (c) Reinicie a máquina. Após este procedimento a interface wifi do laptop deve funcionar normalmente.


    2.2 Opção 2
    : baixar o driver e o firmware e fazer a instalação manualmente

    Sem dúvidas, a opção 1 descrita anteriormente é mais rápida e simples. Mas com conhecimentos mais avançados em Linux e sendo cuidados@, esta opção 2 pode ser adotada sem problemas. As instruções de instalação estão dentro do README do próprio driver iwlwifi-3945-ucode (que como dito antes, pode ser baixado de http://intellinuxwireless.org/?p=iwlwifi).

    Dica:
    Um interessante aplicativo para ver as configurações da máquina de uma forma gráfica é o “hardinfo”:
    (a) # apt-get install hardinfo
    (b) acesse o aplicativo através do menu suspenso Aplicativos->Sistema->Informações_e_Testes_do_Sistema (no gnome).

    Mais informações:
    1- Como habilitar os dispositivos WiFi baseados nos chipsets Intel 3945 and 4965 em sistemas Debian
    2- Intel Wireless Wifi Link Drivers for Linux
    3- Debian Wireless Fidelity
    4- How to use a WiFi interface
    5- Entendendo melhor como funcionam os drivers em máquinas Linux
    Identificação de dispositivos PCI:
    6- Como identificar os dispositivos PCI de uma máquina
    7- Identificação dos PCI devices
    8- PCIdatabase
    9- Listagem de dispositivos wireless devices com informação sobre o seu chipset, e se são suportados em Linux