Debido a que la mayoria de los Adaptadores USB o tarjetas WiFi no traen controladores para nuestro sistema (como si lo hacen para el de las ventanitas), puede parecer complicado hacer que nuestro Linux levante nuestro conector (adaptador USB en mi caso) y lo tome como un dispositivo de red. Y mas complicado encima hacer que se conecte. Nada mas lejos de la realidad.

Hacer andar nuestro adaptador es casi tan facil como en Windowze. Y digo casi porque antes tenemos que instalar Ndiswrapper (que es MUY facil). Pero para que se entienda todo primero voy a explicar que es Ndiswrapper.

Ndiswrapper nos permite hacer uso de los drivers para Windoze (mejor dicho, hace uso del API delkernel de Windows) y no emulandolos, sino haciendo que trabajen de forma nativa en el sistema del pinguino. Lo unico que necesitamos es el archivo *.INF que se acompaño con todos los drivers de Windoze. Esto a su vez quiere decir que, si bien el programa apunta a hacer funcionar adaptadores usb/tarjetas wifi, puede (en teoria) hacer andar cualquier driver para Windoze de forma nativa en Linux.

Muchas tarjetas estan soportadas. Aca dejo un link a una lista.

Ahora que ya tenemos explicado eso, seguimos con el articulo. A diferencia de casi todos los textos que encontre en internet, voy a presuponer que no tienen todavia conexion (por cable ethernet), es decir como estaba yo que solo podia conectarme desde Windoze (asi que nada de apt-get en este post).

En primer lugar, tienen que bajar el Source (codigo fuente) de Ndiswrapper (aca tengo una mini guia sobre como compilar). O, pueden bajar los paquetes e instalarlos con dpkg -i. Los links son estos:

Una vez instalado ndiswrapper (common y utils, no funciona sin los 2), vamos al directorio donde tenemos descomprimidos los drivers de nuestro Adaptador/Tarjeta WiFi (que en mi caso es un Encore ENUWI-G) y buscamos el archivo *.INF que mencionaba antes. Y escribimos el siguiente comando para instalar el driver:

  • benji@MiCaja :~ [...]/Windows XP$ sudo ndiswrapper -i SiS163u.INF

Ahora, para comprobar que este bien instalado escribimos lo siguiente:

  • benji@MiCaja:~$ ndiswrapper -l
    Installed drivers:
    sis163u driver installed, hardware present

Ahora que ya tenemos instalado el driver lo siguiente es probarlo (para asi saber si esta funcionando correctamente nuestro adaptador/tarjeta). Esto lo hacemos con lo siguiente:

  • benji@MiCaja:~$ modprobe ndiswrapper
    benji@MiCaja:~$ iwconfig
    lo no wireless extensions.
  • eth0 no wireless extensions.
    wlan0 IEEE 802.11FH ESSID:”default”
    Mode:Managed Frequency:2.437 GHz Access Point: 00:15:E9:03:3A:4A
    Bit Rate:54 Mb/s Tx-Power:17 dBm Sensitivity=0/3
    RTS thr:2312 B Fragment thr:2312 B
    Power Management:off
    Link Quality:100/100 Signal level:-56 dBm Noise level:-256 dBm
    Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
    Tx excessive retries:28838 Invalid misc:9147 Missed beacon:0

    sit0 no wireless extensions.

Lo que vemos ahi es la salida en mi maquina. Como remarque, wlan0 es nuestro dispositivo wireless y esta funcionando bien.

Ahora nos falta saber si, ademas de tener andando el adaptador wireless tenemos señal y conexion. Para eso tipeamos el siguiente comando para que busque las redes disponibles:

  • benji@MiCaja:~$ iwlist wlan0 scan
    wlan0 Scan completed :
    Cell 01 – Address: 00:15:E9:03:3A:4A
    ESSID:”default”
    Protocol:IEEE 802.11g
    Mode:Managed
    Frequency:2.437 GHz (Channel 6)
    Quality:0/100 Signal level:-52 dBm Noise level:-256 dBm
    Encryption key:off
    Bit Rates:54 Mb/s; 48 Mb/s; 36 Mb/s; 24 Mb/s; 18 Mb/s
    12 Mb/s; 11 Mb/s; 9 Mb/s; 6 Mb/s; 5.5 Mb/s
    2 Mb/s; 1 Mb/s
    Extra:bcn_int=100
    Extra:atim=0

Podemos ver que tenemos señal y detectamos redes. Ahora nos resta conectarnos con 2 datos (3 si estamos usando una clave WEP en la red) que sacamos de ahi. Estos son los siguientes:

  • ESSID:”default”
  • Mode:Managed

El primero es el nombre de la red, el segundo nos indica si estamos usando WEP o no (en mi caso no). Nuesto siguiente paso es agregar la red para despues conectarnos:

  • iwconfig wlan0 mode Managed (u Open o Shared si estan usando WEP)
  • iwconfig wlan0 key restricted XXXXXXXXXX (si estan usando WEP, sino este paso no es necesario)
  • iwconfig wlan0 essid default (cambien default por el nombre de su red)

Ahora, para conectar hay 3 posibles comandos. Segun lo que lei solo tenemos que usar 1, pero yo necesite los 2 primeros (no se porque pero andubo jaja):

  • ifconfig wlan0 up
  • dhclient wlan0
  • dhcpcd wlan0

Prueben si funciona la conexion (entren a cualquier pagina). De ser asi solo nos queda marcar el ndiswrapper como Modulo para que cargue cada vez que inicia Linux:

  • benji@MiCaja:~$ sudo ndiswrapper -m

Ahora ya tienen instalado y funcionando su adaptador. Para no tener que acordarse todos los comandos de memoria (o sea desde iwlist wlan0 scan) les recomiendo que se consigan una GUI para eso. Kubuntu trae una por ejemplo que es muy sencilla de usar: Wireless Assistant se llama. Para otros OS (o para GNOME) pueden usar NetworkManager (incluso si no convence Wireless Assistant hay una gui para KDE).

Con esto estan listos. Yo navego barbaro.