Porqué un Wifi no funciona desde un principio
Los Wifis funcionan mediante un firmware privativo que le dice de que manera debe funcionar. Aunque el kernel sepa que está ahí necesita que le digan, cómo funciona.
¿Por qué en otras distribuciones funciona el Wifi sin yo hacer nada y en Debian no?
Debian a diferencia de otras distribuciones no incluye firmware o software privativo desde un principio como contempla su contrato social. Además que muchos firmware aparte de ser privativos tampoco permite distribuir el binario.
¿Cómo saber realmente cual es el wifi que tengo en la maquina?
Realmente no existe mucho fabricante de chipsets, lo que si existe como en todo tema de hardware son ensambladores. Tener por ejemplo una tarjeta D-Link, Conceptronic, Tplink u otras no es sinónimo de usar siempre el mismo hardware. Existen distintas revisiones y puede que no funcione una igual que otra.
Para saber realmente que tenemos entre manos existen dos ordenes fundamentales para el terminal.
lspciListara las tarjetas conectadas por PCI normal o PCI-Express.
lsusbListara las tarjetas conectadas por USB.
Un ejemplo seria:
sobremesa:/home/snakefd99cb# lspci
01:08.0 Network controller: Broadcom Corporation BCM4318 [AirForce One 54g] 802.11g Wireless LAN Controller (rev 02)Ya tenemos la tarjeta y sabemos que es una Broadcom 4318 con revisión 02.
¿Realmente cuales son, grosso modo, los fabricantes de chipset?
Broadcom, Atheros, Ralink, Intel, Realtek, Via y Zydas (esta última empresa a sido comprada por Atheros)
La más común en portátiles HP o Acer es Broadcom y Los Asus eee son todas Atheros. Aunque esto puede cambiar de un día para otro, sólo usar como ejemplo.
Ya tengo claro cual es mi tarjeta, ¿como procedo a instalar el firmware?
- Broadcom: Véase el artículo de esta Wiki para instarla, o bien este otro de la wiki de Debian. A partir del kernel 2.6.32, la BCM 4312 utiliza el paquete: b43-fwcutter. Véase este enlace.
- Atheros: Funcional sin más desde el kernel 2.6.29. Si se trata de un Asus eee serie 7 y 9 mirar la wiki oficial de Debian para aprovechar el wifi en el instalador de red (netinstall).
- Ralink: firmware-ralink
- Intel: firmware-ipw2x00 para la serie 2000 y firmware-iwlwifi para las 3000, 4000 y 5000. Tenga en cuenta que la serie 4000 y 5000 necesita del kernel 2.6.28 en adelante o no se levantara el modulo.
- Realtek: Son libres así que funcionan sin más.
- Via: Cada tarjeta es un mundo, así que mejor tirar de Google.
- Zydas: zd1211-firmware.
Muy bien ya lo tengo instalado, ¿pero donde se localiza el firmware en mi sistema?.
La ruta es /lib/firmware
Bueno, y ¿cómo gestiono las redes?.
Un buen gestor de redes es Wicd (escrito en GTK).
¿Cómo escaneo redes wifi por terminal?.
# iwlist wlan(X) scanX indica la tarjeta wifi que nos interesa utilizar, empezando por 0. Si tenemos dos, tenemos wlan0 y wlan1.
Esto sería un ejemplo:
Cell 03 - Address: 00:XX:CF:XX:XX:02
Channel:9
Frequency:2.452 GHz (Channel 9)
Quality=44/70 Signal level=-66 dBm
Encryption key:on
ESSID:"WLAN_B3"
Bit Rates:1 Mb/s; 2 Mb/s; 5.5 Mb/s; 11 Mb/s; 22 Mb/s
Bit Rates:6 Mb/s; 9 Mb/s; 12 Mb/s; 18 Mb/s; 24 Mb/s
36 Mb/s; 48 Mb/s; 54 Mb/s
Mode:Master
Extra:tsf=0000007e377661cf
Extra: Last beacon: 124ms ago
IE: Unknown: 0007574C414E5F4233
IE: Unknown: 010582848B962C
IE: Unknown: 030109
IE: Unknown: 2A0100
IE: Unknown: 32080C1218243048606CAhora debemos saber como conectarnos.
1. A través de redes WEP.
Para redes WEP, que se caracterizan por tener una seguridad muy pobre, es muy simple. Solo basta utilizar dos mandatos. El primero define el nombre del punto de acceso a utilizar:
# iwconfig wlan0 essid nombre-punto-de-accesoEl segundo mandato se utiliza para definir la clave de acceso a utilizar, sea de 64 o 128 bit.
# iwconfig wlan0 key clave-de-accesoSi se utiliza una clave WEP tipo ASCII, se define de la siguiente manera:
# iwconfig wlan0 key s:clave-de-acceso2. A través de redes WPA.
Se procede a determinar el nombre de la red Wifi a utilizar y la clave de acceso. El mandato wpa_passphrase se utilizará para generar un fichero de configuración a utilizar posteriormente:
# wpa_passphrase nombre-punto-de-acceso clave-de-acceso > /root/wpa.conf