miércoles, 8 de agosto de 2007

wireless fácil con Ubuntu y ndiswrapper

Para muchos el tema de instalación de tarjetas inalámbricas es todo un dolor de cabeza, aún sigo pensando que no debería de serlo, que la gente de Canonical, debería hacer algo al respecto para facilitar un poco las cosas al usuario final. Pero mientras esto sucede les dejo una pequeña guía de como poder instalar casi cualquier tarjeta inalambrica, ya sea ubs o integrada.

Lo primero que se debe de hacer es escribir en consola:

$ lspci

y ver que nos arroja, es decir, con esto sabemos que clase de tarjeta tenemos, y esto nos sirve para buscar en internet el driver en caso de que no contemos con él, hay que recordar que se necesita descargar el driver para windows xp.

Después, una vez que sepamos que tarjeta tenemos, instalaremos el ndiswrapper, este programa nos ayuda a "traducir" el driver para windows para que pueda correr en nuestro linux.

Lo pueden bajar desde http://ndiswrapper.sourceforge.net/joomla/ si les gusta la emoción de compilar o si cuentan con una distro no basada en debian, para los de debian y ubuntu dejo la liga de donde pueden bajar el .deb

La pagina que les abre, denle clik donde dice donwload y abajo all, escojen cualquier mirror, es decir cualquier link de los que aparace ahi.

Bueno como prometí, que este blog era para novatos, les explico como instalar un .deb para los que no sepan. para los que usen gnome (ubuntu) solo basta con dar doble clik y darle otro donde dice instalar, para los que usen kde (kubuntu) basta con dar clik derecho y donde dice kubuntu pakage menu escojan install, y ya si esto no funciona arrastren el iciono a una konsola y antepongan la palabra "sudo dpkg -i" y listo.

Recuerdan en nombre de la tarjeta que tienen? ahora es cuando lo ocupan, ya que encontraron de donde bajarlo escojan la carpeta de su preferencia y metanlo ahí.

Ahora a partir de aki hay 2 formas de hacer las cosas, una fácil o la otra... no tanto.

La fácil es instalando ndisgtk ya saben en terminal

$ sudo apt-get install ndisgtk

y ejecutan el ndisgtk en terminal y seleccionan donde esta el archivo .inf y el .sys del driver de sus tarjeta, y lo instalan

En dado caso que solo hayan bajado un .exe. que es lo mas seguro, tendrán que hacer

$ sudo apt-get install cabextract

y en la carpeta donde lo metieron o lo kieren extraer

$ cabextract driver.exe

donde driver es en nombre de su controlador.

Y listo con esto deberían estar navegando. Solo como tip para los mexicanos que usan prodigy infinitum. Deben de dar clik derecho al network manager y darle conectar a su red y cuando pida la contraseña wep, cambien la opción a hexadecimal y ahí escriban el numero que viene entre corchetes en su modem y listo con eso deberan navegar sin cables.

solo falta escribir en terminal

$ sudo gedit /etc/modules

y ahi adentro escribir en la parte de abajo

ndiswrapper

y listo con esto se iniciara automaticamente cuando inicien sesión

Ahora si esto no funciono, les pongo un ejemplo de la manera difícil:

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).

Y lo mismo, solo falta escribir en terminal

$ sudo gedit /etc/modules

y ahi adentro escribir en la parte de abajo

ndiswrapper

y listo con esto se iniciara automaticamente cuando inicien sesión

1 comentario:

Anónimo dijo...

Muchisímas gracias Leviatan!
Gracias a ti tengo Internet en mi kubuntu.
Todo genial explicado.