Mostrando entradas con la etiqueta guadalinex. Mostrar todas las entradas
Mostrando entradas con la etiqueta guadalinex. Mostrar todas las entradas

01 marzo 2007

Compilar el Kernel

Después de comprobar en el foro de Guadalinex que son muchos los usuarios que se plantean la necesidad de compilar un nuevo kernel y existiendo una miniguía dedicada al tema, he decidido crear un nuevo hilo específico con este título con objeto de facilitar las búsquedas, una vez depurado el procedimiento tras numerosas compilaciones. Ha sido desarrollado sobre Guadalinex 2004 [basado en Debian Sarge], pero se puede decir que es aplicable a cualquier otra distribución, salvo en lo referente a la descarga de paquetes. En todo caso quiero advertir que este procedimiento es válido para el kernel 2.6 pero no para las series del 2.4, donde hay algunas diferencias que se pueden consultar en los enlaces que se indican en el siguiente párrafo.

Quiero agradecer a edulinux, usuario de Guadalinex y amigo personal, la ayuda prestada y a trunks y alfabet [usuarios de los foros], sus oportunos comentarios en el hilo "Compilar Kernel".

También he consultado la información de otros sitios web, por lo que recomiendo los artículos dedicados a la compilación del núcleo [kernel] que se encuentran en los siguientes sitios [ya sé que hay otros muchos, pero estos son los que yo he usado]:

El rincón de Linux

Guía de L.A. Cofiño

Frikis.org [pensado para el kernel 2.4.]

Sobre menú de configuración [menuconfig].

Mi ordenador portátil Airis 620 se apagaba frecuentemente al inicio, generalmente al ir a cargar el ACPI que gestiona la energía del equipo. Buscando a posteriori información sobre el tema, en algunos foros de internet se describe que el kernel 2.6 genera conflictos con la ACPI, por lo que la solución de compilar un nuevo núcleo parece que fue la más acertada. Desde http://www.kernel.org se puede descargar cualquier versión del kernel y en nuestro caso usamos la 2.6.8.1, que era la última que había disponible. Una vez descargada se copia al directorio /usr/src.

Un detalle importante radica en que para compilar esa versión del núcleo se requieren ciertas librerías, en concreto el paquete libncurses5-dev_5.4-4_i386.deb. Si usas otra versión de Linux, descarga de tu sitio las librerías en cuestión [en algún sitio leí que también era necesario el paquete libncurses5_5.4-4_i386.deb, aunque no me consta que este último haya sido instalado].

Arrancamos nuestro sistema Guadalinex [tuvimos suerte ya que lo logramos al primer o segundo intento] y abrimos nuestra consola de root. Copiamos las librerías en el portátil y ejecutamos el comando de instalación del paquete [el símbolo # tiene carácter meramente indicativo y lo uso para informar de que el comando citado debe ser usado como root]:

# dpkg -i libncurses5-dev_5.4-4_i386.deb


Seguidamente copiamos el archivo linux-2.6.8.1.tar.bz2 [ocupa 34 megas] en la carpeta /usr/src, mediante el comando

# cp /directorio_de_origen/linux-2.6.8.1.tar.bz2 /usr/src

Ahora nos vamos al susodicho directorio mediante la orden

# cd /usr/src

y descomprimimos mediante el comando

# tar xvfj linux-2.6.8.1.tar.bz2

Ahora toca crear un enlace simbólico que apunte desde el directorio /usr/src/linux hasta /usr/src/linux-2.6.8.1 y para ello ejecutamos

# ln -s linux-2.6.8.1 linux

Los pasos que vienen ahora pretenden que la compilación del núcleo se realice con la misma configuración que tenemos para nuestro Guadalinex, lo que garantizará una compatibilidad total para el funcionamiento del sistema con el nuevo núcleo [no es necesario tocar nada para tener el mismo escritorio original]. Para ello, entramos en /usr/src/linux y copiamos el archivo config-2.6.5 [ahí está la configuración de nuestra versión del kernel que carga guadalinex] en /usr/src/linux y a continuación lo renombramos como .config

# cp /boot/config-2.6.5 /usr/src/linux

# mv config-2.6.5 .config

Ahora nos situamos en el directorio /usr/src/linux y ejecutamos

# make oldconfig

lo que nos permite conservar la configuración original de Guadalinex. Nos preguntará por las nuevas opciones de este kernel mediante un larguísimo y tedioso proceso de actualización. Si nos equivocamos en algo no habrá problema ya que en el paso siguiente podremos corregirlo. Seguidamente mediante el comando make menuconfig nos saldrá un extensísimo menú con las características de configuración elegidas para nuestro núcleo.

AVISO: Esta nota la he introducido con posterioridad y tiene por objeto simplificar la carga de la configuración original del kernel. Es preferible no usar el comando "make oldconfig" descrito anteriormente por lo engorroso del método de actualización a las características del nuevo kernel. Es más, ni tan siquiera es necesario renombrar el archivo config-2.6.5 como .config ya que la mejor opción consiste en ejecutar directamente el comando "make menuconfig" como se describe a continuación y seleccionar en el menú disponible la opción "Load file..." para escribir a continuación "config-2.6.5" [o el nombre del archivo cuya configuración queramos cargar por defecto desde el directorio /usr/src/linux]. A partir de ese momento ya podemos elegir las opciones más adecuadas para nuestro equipo, como se describe en el paso siguiente.

# make menuconfig

¡¡¡ OJO !!! Es importantísimo que si no sabemos qué opciones elegir dejemos las que vienen seleccionadas por defecto. En mi caso seleccionamos activar APM [un sistema de gestión de la energía del portátil], seleccionamos micro [Pentium IV] y desactivamos ACPI [he leído que es incompatible con APM] e infrarrojos [la utilidad irda no la tengo disponible] y alguna más que no recuerdo y que supongo no afecta al problema que pretendemos solucionar. Actualmente trabajo con la candidata 6 montada con un núcleo 2.6.9 con las opciones ACPI y APM activadas. Es muy importante conocer con detalle el hardware de nuestro equipo si queremos compilar las opciones del núcleo adaptadas a las características técnicas de nuestra máquina, lo que permitirá optimizar su rendimiento. Si alguien quiere echar un vistazo a mi archivo de configuración no tiene más que pedírmelo. Pues bien, ya estamos en condiciones de compilar nuestro núcleo con la orden make.

AVISO: Después de bastantes compilaciones del núcleo, debo admitir que las opciones acpi funcionan correctamente y que ahora tengo disponible el kernel 2.6.9 con las opciones de Guadalinex 2004 por defecto, con sólo unas ligeras modificaciones adaptadas al hardware de mi equipo.

# make

Ahora el sistema necesita un buen rato para compilar el núcleo, por lo que es aconsejable dejarlo trabajar y volver cuando esté ya lista la compilación.

ATENCIÓN: Para el Kernel de la serie 2.4, la secuencia de comandos difiere con respecto a la 2.6. Para más detalles revisar los enlaces citados al principio.

Si hubiésemos elegido instalar una opción como módulo, debemos ejecutar

# make modules_install

¡¡¡ OJO !!! Es muy importante no olvidar ejecutar como root el comando # depmod -a la primera vez que arranquemos con nuestro nuevo kernel, para computar las dependencias entre modulos.

Bien pues ya está nuestro núcleo compilado y listo para que lo carguemos en /boot así que copiamos el kernel que se encontrará en arch/i386/boot/bzImage

y lo renombramos [yo le he llamado vmlinuz-2.6.8.1]

# cp /usr/src/linux-2.6.8.1/arch/i386/boot/bzImage /boot/vmlinuz-2.6.8.1

Finalmente, es posible que se deban cambiar los permisos de este archivo, asignándole lectura y escritura para root y solo lectura para grupos y otros. Por otro lado, renombramos el archivo /boot/System.map

# mv /boot/System.map System_2.6.5.old

y ahora copiamos en /boot el archivo System.map que está en /usr/src/linux

# cp /usr/src/linux/System.map /boot

Pues ya estamos casi listos. Sólo nos queda editar como root el archivo /boot/grub/menu.lst [en nuestro caso con el comando # gedit /boot/grub/menu.lst] y añadimos al final del mismo lo siguiente:

title Guadalinex-2004-2.6.8.1
root (hd0,7)
kernel /boot/vmlinuz-2.6.8.1 root=/dev/hda8 splash=silent vga=791
initrd /boot/initrd.splash

¡¡¡ OJO !!! Tienes que ver en qué partición de tu disco duro tienes cargado Guadalinex, por eso, lo mejor es que copies el párrafo correspondiente a la Guadalinex sobre la que estás compilando [en mi caso la 2.6.5] y lo pegues a pie de página [si eliges otra posición piensa que puedes modificar el número de la opción default que se cargará por defecto, lo que te obligaría a modificarlo]. Ahora le cambias el título [title]; le he llamado Guadalinex-2004-2.6.8.1 pero puedes usar cualquier otro. Por último, la línea kernel /boot/vmlinuz-2.6.5 root=/dev/hda8 la he sustituído por kernel /boot/vmlinuz-2.6.8.1 root=/dev/hda8 ¡¡¡ OJO !!! Se debe mantener el número de hda que corresponda en cada caso, ya que cada equipo tendrá sus propias particiones.

Si tengo que decir la verdad, de haber tenido que compilarlo yo solo, no me habría atrevido. Ahora que por fin lo consigo, creo que cualquiera puede hacerlo y a mí me habrá servido para lanzarme a nuevas compilaciones del núcleo.

Que disfrutéis tanto como yo y [ante todo] que solucionéis vuestro problema.

NOTA: en la primera compilación no se incluía ACPI, por lo que al cerrar el equipo no se apagaba solo y se nos queda en el powerdown, con lo que se debe pulsar el botón de apagado para desconectar. En siguientes compilaciones esa función quedó resuelta ya que se volvió a incluir ACPI.

OBSERVACIONES: Las versiones 2.6.8 y 2.6.9 del kernel generan una incompatibilidad con k3b, el magnífico programa de grabación de Linux, y sólo puedes a usar ese programa como root; yo he grabado en esas circunstancias y no he tenido problema, pero en equipos compartidos por más usuarios puede ser un inconveniente. La versión 2.6.7 la he usado con k3b y va fenomenal. Más información en el sitio oficial http://www.k3b.org/ donde se detallan posibles soluciones.

SUCESIVAS COMPILACIONES: Cuando se quiere realizar nuevas compilaciones del núcleo, ya sea porque queremos añadir o eliminar ciertas opciones al kernel, conviene proceder de la siguiente forma. En primer lugar salvaremos en un directorio creado al efecto los archivos .config, vmlinuz-2.6.8.1 [o el que corresponda en su caso] y system.map por si más tarde queremos volver a instalar la versión correspondiente del núcleo. Una vez salvados dichos archivos ejecutamos como root desde consola el comando make mrproper lo que nos limpia todos los archivos generados en anteriores compilaciones dejándonos las fuentes exclusivamente listas para una nueva compilación. Ahora copiamos el archivo .config al directorio /usr/src/linux y ejecutamos make menuconfig, cargamos el archivo .config mediante la opción "Load file...", hacemos las modificaciiones oportunas en el menú de configuración, las salvamos y seguimos con el procedimiento habitual, ejecutamos los comandos make [tarda un buen rato en realizarse la compilación] y make modules_install y continuamos con la secuencia descrita más arriba. No se debe olvidar ejecutar como root el comando depmod -a la primera vez que arranquemos con nuestro nuevo kernel, para computar las dependencias entre modulos.

MÁS SOBRE COMPILACIONES SUCESIVAS: Gracias a postman2 [usuario de Guadalinex], quiero añadir un detalle importante. Cuando se trate de compilaciones sucesivas, sobre otra/s ya existente/s, con objeto de no machacar los módulos instalados en nuestro sistema conviene realizar una modificación en el archivo Makefile de la carpeta /usr/src/linux añadiendo al término EXTRAVERSION= un nombre que identifique a la compilación que vamos a realizar [por ejemplo, si vamos a compìlar para habilitar un determinado módem usamos -modem]. Esto nos creará nuevos directorios con el nombre que hemos añadido a EXTRAVERSION=, lo que nos permitirá recuperar compilaciones previas, ya que si por algún motivo se genera un error en esta última no habremos machacado las anteriores.

==================================

GUADALINEX V3

Como esta versión de Guadalinex se basa en Ubuntu [Breezy], debe quedar claro que los comandos que requieren usar privilegios de root deben ser usados anteponiendo sudo al comando en cuestión.

Para los usuarios de Ubuntu resulta indispensable la lectura del siguiente tema colgado de los foros de hala hispana"Cómo compilar el Kernel de Ubuntu".


¡¡¡ Hasta pronto !!!

Seguridad WPA

El ejemplo que empiezo por comentar es para Ndiswrapper [también puede usarse para otros módulos que soporten wpa, con las modificaciones oportunas] y aun no está plenamente contrastado. Simplemente, advierto de que en el sitio de Ndiswrapper se habla de plena compatibilidad con wpa_supplicant a partir de versiones posteriores a la 1.21. Por mi parte, debo aclarar que a mí me ha funcionado para una tarjtea con chipset Atheros funcionando con Madwifi.

Guadalinex v3 y v4 [basadas, respectivamente en Ubuntu Breezy y Edgy] disponen de la utilidad wpa_supplicant instalada, pero en caso de utilizar otra distribución de Linux que no la tuviese, deberíamos instalarla bajándonos el paquete de los repositorios o, en el peor de los casos, obteniendo las fuentes [wpa_supplicant] y compilándolas por el método habitual. Sigue las instrucciones de los desarrolladores sobre cómo llevar a cabo la operación y, si te sientes perdido, consulta la explicación que doy en el artículo dedicado a la instalación de tarjetas compatibles, en su apartado de compilación de drivers. Quiero aclarar que existen algunas diferencias entre la configuración bajo Guadalinex v3 / Ubuntu Breezy con respecto a Guadalinex v4 / Ubuntu Edgy y que aclaro más adelante.

Lo primero es generar una clave hexadecimal con la "frase de paso" que tienes guardada en la configuración de la red wif del router. Éso se consigue abriendo un terminal y ejecutando el comando siguiente:

wpa_passphrase nombre_red frase_de_paso


Debes sustituir el nombre de tu red wifi en el lugar de nombre_red y la frase de paso del router donde pone frase_de_paso. Esto genera una cadena similar [en longitud, claro] a ésta:

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e

Seguridad WPA en Guadalinex v4 y Ubuntu Edgy

Ahora vas a editar el archivo interfaces con el comando
sudo gedit /etc/network/interfaces. Supongo que te conectas vía dhcp, por lo que lo vas a dejar tal que así:

auto lo
iface lo inet loopback
auto wlan0
iface wlan0 inet dhcp
wireless-essid NOMBRE_DE_LA_RED
pre-up wpa_supplicant -Bw -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant


El valor -Dwext se aplicará en versiones de Ndiswrapper posteriores a la 1.12; en caso contrario usaremos -Dndiswrapper.

En mi caso uso una tarjeta con chipset Atheros AR5212 y el archivo lo tengo de esta guisa:

auto lo
iface lo inet loopback
iface ath0 inet dhcp
wireless-essid Mi_red
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf

auto ath0

Seguidamente ejecuta el comando sudo gedit /etc/wpa_supplicant.conf y se te muestra el archivo wpa_supplicant.conf [probablemente se encuentre vacío], sin texto alguno. Eso nos da igual, porque vamos a añadir las siguientes líneas:

ctrl_interface=/var/run/wpa_supplicant

ap_scan=1

network={
ssid=nombre_red_wifi
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
#psk="Frase de paso"

psk=1d06e406f9f6765053d822c9a006e9da6f4b03c9d09c2bd6d1cd8d887816fb6e
priority=5
}

Observa que en la línea que empieza con psk se ha incluido
el valor de la clave hexadecimal obtenida anteriormente al ejecutar el comando wpa_passphrase .

En algunos sitios de internet se aconseja ejecutar el comando que se indica a continuación [en realidad le estamos diciendo que ejecute, por una sola vez, lo que tenemos cargado de forma permanente en el archivo interfaces]. En mi caso, con el driver de madwifi no lo llevé a cabo y me ha funcionado correctamente:

sudo wpa_supplicant -iwlan0 -c/etc/wpa_supplicant.conf -Dndiswrapper

Para versiones posteriores a la 1.12, el valor -Dndiswrapper serás sustituido por -Dwext. Éste y otros detalles pueden ser consultados en el sitio de Ndiswrapper dedicado al uso de WPA.

Reinicia los servicios de red con el comando sudo /etc/init.d/networking restart

Seguridad WPA en Guadalinex v3 y Ubuntu Breezy

El método es prácticamente idéntico. Sólo hay que añadir un par de detalles. Se debe editar como root el archivo /etc/default/wpasupplicant y desmarcar
la línea que proceda [sinónimo de eliminar el símbolo # de un script o programa para que se ejecute esa línea de código]. En mi caso, lo hice con la línea que hacía referencia a madwifi; si usas ndiswrapper, pues ya sabes. Para otros drivers compatibles, sustituir el valor por el que corresponda. Bien, pues ahí va:

# /etc/default/wpasupplicant
# WARNING! Make sure you have a configuration file!

ENABLED=1

# Useful flags:
# -D Wireless drive, typically optional.
# -i Interface
# -c Configuration file
# -d Debugging (-dd for more)
# -w Wait for interface to come up

# See the manual page wpa_supplicant(1) for more options and information.

OPTIONS="-w"

# EXAMPLES:

# OPTIONS="-i wlan0 -D ndiswrapper -c /etc/wpa_supplicant.conf"
OPTIONS="-i ath0 -D madwifi -c /etc/wpa_supplicant.conf"


Ahora debemos editar el archivo /etc/network/interfaces y modificar la línea que hace referencia al modo dhcp, ya que hay un bug para esta versión de Ubuntu/Guadalinex que impide a wpa_supplicant gestionar la conexión en modo dhcp, por lo que usaremos IP fija. Lo que yo hice fue dejarlo con ip estática y quedó así:

auto lo
iface lo inet loopback
iface ath0 inet static
address 192.168.1.12
netmask 255.255.255.0
gateway 192.168.1.1
wireless-essid MI_RED
wpa-driver madwifi
wpa-conf /etc/wpa_supplicant.conf
auto ath0


Con ésto ya no deberías tener problemas de conectividad. Espero que todo vaya correctamente. En caso contrario cuéntnos cómo te fue.


-----------------------------------------

Si Linux no existiera habría que inventarlo

28 febrero 2007

Instalar Ndiswrapper

Ndiswrapper es un software que actúa como una especie de envoltorio sobre los drivers originales de Windows para hacerlos funcionar bajo Linux. Y lo que es más importante, permite gestionar prácticamente todas las tarjetas compatibles mencionadas en el envío anterior. Os preguntaréis que, si son compatibles, para qué queremos hacerlas funcionar con Ndiswrapper. Muy fácil, a veces hay tarjetas que no tiran por problemas de hardware [lo más frecuente] o por problemas con el propio software. Además, hay otras muchas tarjetas que, al no liberar sus fabricantes el software para hacerlas funcionar bajo Linux, la única manera de que rulen es con este método [un buen ejemplo lo tenemos en las bien conocidas tarjetas Broadcom que sólo se podían usar con este software]. Así que, de una forma u otra, es muy posible que en alguna ocasión tengas que vértelas con la instalación de este driver. Puedes comprobar si tu dispositivo inalámbrico es compatible con Ndiswrapper consultando la lista de compatibilidad. Para obtener más información sobre este controlador, visita el sitio de Ndiswrapper en SourceForge.

Si la tarjeta que vamos a configurar dispone de drivers para Linux, es posible que éstos vengan precompilados y se carguen en el sistema al ser reconocida la tarjeta. Pero si no gestionan correctamente el uso de la misma o, simplemente, no los queremos usar, se debe tomar ciertas precauciones. En primer lugar vas a editar como root un archivo llamado blacklist [busca en /etc/hotplug/ para Guadalinex v3 y Ubuntu Breezy o en /etc/modprobe.d/ para Guadalinex v4 y Ubuntu Edgy] y vas a añadir una línea al final del texto, con el nombre del módulo que haría funcionar el chipset de la tarjeta para v3 o bien el término blacklist seguido del nombre del módulo para v4. Con ello conseguimos que no se vuelva a cargar en el inicio del sistema y así evitamos que interfiera con la carga del driver de Ndiswrapper. También nos aseguraremos de descargar el módulo usando como root [ubunteros, recordad el uso de sudo] el comando rmmod nombre_modulo.

¿Por dónde empezamos?


Esta guía ha sido realizada para ser usada en Guadalinex v3 y Ubuntu Breezy, pero en general vale para cualquier otra distribución, salvando las diferencias. Si nuestra distro fuese Guadalinex 2004, estamos de suerte, ya que lo trae instalado y sólo resta configurarlo y poco más. Para la versión 2005/v3, al igual que en Ubuntu Breezy, no está disponible y debes instalar los paquetes desde el programa Synaptic. Ábrelo y busca ndiswrapper; marca e instala los tres paquetes encontrados: source, utils y ndisgtk. A continuación vas a seguir los siguientes pasos:

1.- Instala Ndiswrapper con Synaptic o desde un terminal usando apt. Si no dispones de conexión, al final de este mensaje se explica cómo descargar los paquetes. Tambien están disponibles en el CD de Guadalinex v3. Si es tu primera experiencia en Linux y no te sientes muy seguro trabajando por un terminal, bájate de los repositorios la herramienta Ndisgtk. Si no tienes acceso desde Linux, más abajo explico cómo descargar los paquetes deb. Una vez que instales los paquetes en cuestión, debes reiniciar tu sistema.

2.- Copia los drivers de Windows que venian con el CD de tu tarjeta al directorio de usuario [supongamos que fuesen, por ejemplo, driver_windows.inf y driver_windows.sys]. Es imprescindible copiar el contenido completo de la carpeta donde se encuentran esos drivers, eligiendo la versión más reciente [habitualmente WinXP o Win2000].

3.- Abre un terminal y ejecuta sudo -s, lo que nos va a permitir trabajar como usuario root [los usuarios de distros no basadas en Ubuntu no ejecutarán este paso 3º, pero deben recordar que los apartadosl 4 al 6 deben ejecutarse como root]. Si pasados 5 minutos debes ejecutar alguno de estos pasos y no dispones de privilegios como root, debes ejecutar nuevamente sudo -s o si lo prefieres, ejecutas el comando anteponiendo sudo, quedando de la siguiente forma sudo comando_de_linux

4.- Ejecuta ndiswrapper -m [ésto crea el alias wlan0 y lo asocia con el módulo ndiswrapper].

5.- Ejecuta ndiswrapper -i /home/ruta_driver/driver_windows.inf [ésto instalará los drivers para ser usados con ndiswrapper]. Se puede comprobar que ha sido cargado correctamente usando como root el comando ndiswrapper -l lo que listará los drivers instalados con ndiswrapper y nos indicará si su hardware está presente o no.

6.- Y por ultimo, modprobe ndiswrapper.

En tarjetas, para que cargue el módulo en cada reinicio, es indispensable añadirlo a la lista de /etc/modules, por lo que vas a editar ese archivo como root y al final del mismo debes añadir una nueva línea con el nombre ndiswrapper. En mi caso abrí como root el editor Gedit mediante el comando gedit /etc/modules.

Te aconsejo usar otras fuentes de información, como la sección de Guadalinex denominada Guadapedia, donde se detalla cómo llevar a cabo la operación para la
versión 2004 [basada en Debian] y para la versión 3 [basada en Ubuntu Breezy].


¿Cómo configurar la conexión?

Es posible que a partir de este momento, la tarjeta empece a guiñar y a dar señales de vida. ¡¡¡ Ya era hora !!! Es el momento de configurar la conexión. En primer lugar lo voy a explicar por el método tradicional usando la línea de comandos. Posteriormente, explicaré el método más sencillo a partir de la utilidad Ndisgtk.

Ahora debes editar como root el archivo /etc/network/interfaces con el comando
gedit /etc/network/interfaces y debe quedar con la siguiente sintaxis:

auto lo
iface lo inet loopback
iface wlan0 inet dhcp
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless_essid nombre_de_la_red
wireless_key tu_contraseña
auto wlan0

En algunos dispositivos es posible que la interfaz inalámbrica no sea wlan0, sino que reciba otro nombre, por lo que debes sustituirlo por el que te corresponda. La última línea hace que la interfaz wifi, wlan0, se cargue al inicio.

Si en lugar de conectar via dhcp, usas ip estática, el archivo interfaces debe quedar así:

auto lo
iface lo inet loopback
iface wlan0 inet static
address x.x.x.x
netmask x.x.x.x
gateway x.x.x.x
pre-up modprobe ndiswrapper
post-down rmmod ndiswrapper
wireless_essid nombre_de_la_red
wireless_key tu_contraseña
auto wlan0

Para verificar que todo funciona correctamente, desactiva la contraseña del router y en wireless_key introduces off. Ésto hará que se levante la interfaz de red inalámbrica sin necesidad de contraseña. Cuando todo funcione correctamente, configuras el cifrado de señal en formato wep. Ndiswrapper admite el encriptado wpa pero ese no es el motivo de este artículo y quizás más adelante lo expliquemos.

Si todo ha ido bien, levantas la conexión ejecutando como root elcomando ifup wlan0 y apagas, tambiéncomo root, con ifdown wlan0.

También puedes instalar Ndiswrapper usando la herramienta Ndisgtk que se instala como hemos explicado al principio. El método a seguir está descrito en la sección correspondiente de Guadapedia y simplifica notablemente el proceso de instalación.

Nota: En Ubuntu y Guadalinex v3, para ejecutar como root se debe anteponer a cualquier comando el término sudo.

Configurar de forma más sencilla

[El texto que corresponde a este apartado ha sido extraído casi en su totalidad de Guadapedia, en el sitio de Guadalinex].

Instalados los drivers, abre el menú Sistema > Administración > Red y nos pedirá que introduzcamos la clave de root, hecho lo cual, observaremos que se ha detectado el nuevo interfaz de red inalámbrica. Lo seleccionamos y, a continuación, pulsamos el botón Propiedades. Ahora nos aparecerá una nueva ventana. Allí tendremos que configurar todos los datos de la conexión.

  • Nombre de la red [ESSID]: Pondremos el nombre de la red inalámbrica exactamente igual, con mayúsculas y minúculas, tal como aparece en el menú de configuración wireless del router.
  • Tipo de Clave: Por defecto se deja en hexadecimal, pero se podrá cambiar si la contraseña nos falla.
  • Clave WEP: Si la conexión ha sido configurada en el router con clave wep, en esta casilla tendremos que indicar cuál es. En caso de usar caracteres ascii, al nombre de la clave se debe anteponer estos dos caracteres s:

A continuación tendremos que configurar los datos de red habituales.

  • Configuración: Si el router permite la conexión DHCP, usaremos dicha opción. Si no lo permite seleccionaremos Dirección IP estática. En este caso además tendremos que configurar lo siguiente:
    • Dirección IP: Es la dirección IP local de nuestra máquina en la red local. El formato usado será como este 192.168.0.5.
    • Máscara de subred: Se usa para definir el alcance de la red. Normalmente en una red local pequeña será 255.255.255.0.
    • Dirección de la puerta de enlace: Aquí pondremos la dirección IP local del router.
  • Una vez hayamos definido los parámetros de la conexión, pulsaremos la casilla (arriba) Activar esta conexión.
  • Pulsamos en Aceptar y volveremos a la ventana de Configuración de la red.
  • Aquí nos aseguramos que al seleccionar el dispositivo inalámbrico el botón Activar aparece sombreado (indicando así que ese dispositivo está activo). Si no lo estuviera, pulsaremos sobre dicho botón.
  • Finalmente pulsaremos en el botón Aceptar y cuando se apliquen los cambios tendremos configurada la conexión a internet.
El driver no funciona / Quiero usar uno diferente

Si tu driver de Window$ no funciona o quieres probar otro diferente, debes eliminar el primero antes de cargar uno nuevo. Para ello usa el comando

ndiswrapper -e anterior_driver_windos.inf

Ahora ya puedes cargar el nuevo driver [te sugiero que sea el de tu cd de instalación en window$ o en su defecto el recomendado en la lista de Ndiswrapper]. Ejecuta el comando

ndiswrapper -i nuevo_driver_windos.inf

Ahora debes cargar nuevamente el driver en el núcleo de tu sistema ejecutando como root el comando
modprobe ndiswrapper. Si todo ha ido bien, levantas la conexión ejecutando como root ifup wlan0 y apagas con ifdown wlan0.

Si a pesar de todo no logras conectar

Si no te conecta, intenta lo siguiente. Abre un terminal y ejecuta como root el comando
ifup wlan0 y ahora prueba a hacer ping a tu router [normalmente 192.168.1.1 o el que tu tengas como puerta de enlace] ping 192.168.1.1 Para probar si tienes conexión, vas a hacer ping al exterior a un par de sitios:

ping 66.102.9.104

ping www.google.es

Si el ping te responde positivamente, pero no te puedes conectar a internet cuando usas el navegador, el problema puede estar en las DNS's. [Cuando menos sabes que la tarjeta tiene acceso al router y a partir de ahí todo será bastante sencillo]. Si a pesar de todo no logras conectar, puede ser que no hayas desactivado la seguridad wifi de tu router [o que la wifi del router no este activa]. Si el router no te responde, prueba a hacer ping a la dirección de tu tarjeta [si la tarjeta está bien puesta esa acción debería responder sin problemas y sabrás que la tarjeta funciona y que el problema está en otra parte [probablemente en la configuracion del router o en el uso de mayúsculas/minúsculas]. Para configurar las DNS's entra en el menú Sistema > Administración > Red, selecciona tu dispositivo inalámbrico e introduce los valores de las dns correspondientes y que puedes anotar del sitio de Adsl4ever.

Otra posibilidad consiste en editar como root el archivo /etc/resolv.conf, mediante el comando gedit /etc/resolv.conf [ubunteros, recordad el uso de sudo]. Debe contener dos o más líneas con un contenido similar a éste:

nameserver x.x.x.x

Donde, x.x.x.x se corresponde con las DNS's del proveedor de acceso a Internet e incluso la puerta de acceso o gateway del router [si esas DNS's fueron cargadas en el menú de configuración del router].

Si aun no has conseguido que la tarjeta funcione


En algunos casos, especialmente con ciertos dispositivos usb, se requiere completar los pasos A, B y C que se indican a continuación, entre los puntos 5 y 6 de la lista de operaciones anteriormente descrita, para configurar correctamente Ndiswrapper.

A) Ejecuta lspci -n o lsusb [según el tipo de tarjeta pcmcia/pci o usb] para obtener el código identificador del dispositivo [en este caso se obtuvo 09aa:1000 y a partir de ahora me referiré a él como xxxx:yyyy].

B) Ejecutacomo root el comando ndiswrapper -l para ver cómo llama ndiswrapper al driver [en este caso prisma02, en tu caso será el que corresponda a la tarjeta en cuestión].

C) Ejecuta como root el comando ndiswrapper -d xxxx:yyyy prisma02 [ésto asocia el driver con el dispositivo] y le indica a Ndiswrapper dónde encontrarlo. Recuerda que en este ejemplo, donde pone xxxx:yyyy iría 09aa:1000. En tu caso lo sustituyes por el valor que corresponda. Y en lugar de prisma02 pones el nombre de tu driver obtenido con la ejecución del comando ndiswrapper -l descrito en el punto B.

Para finalizar, sigue con el paso 6 de la lista y ejecuta como root [no olvides sudo en Guadalinex v3 y en Ubuntu] modprobe ndiswrapper. Ésto dará por concluida la instalación. Revisa la configuración del arhivo /etc/network/interfaces e intenta lanzar nuevamente la aplicación para levantar la conexión.

Cada vez que hagamos un cambio en alguna característica de la red, para lanzarla de nuevo podemos evitar reiniciar el sistema [lo que convierte el proceso en algo demasiado lento, sobre todo si hay que hacer numerosos cambios y pruebas] si usamos como root el comando
/etc/init.d/networking restart.

No tienes conexión y quieres bajar los paquetes deb

NOTA IMPORTANTE: He comprobado que los paquetes de los repositorios de Ubuntu que indico más abajo o no están todos o algunos han cambiado de sitio, por lo que recomiendo buscarlos y descargarlos desde el propio navegador de internet del repositorio de Guadalinex y aprovecho también para recordar que aunque no es necesario, resulta conveniente descargar también el paquete common, junto a los paquetes utils y source. Además el buscador del repositorio ayuda enormemente en la tarea de encontrar paquetes aplicando distintos criterios como versiones o categorías.

Si no tienes conexión a internet, puedes descargar los paquetes deb de instalación de Ndiswrapper en otro equipo y luego copiarlos al tuyo:


A) VERSIÓN 1.1

Fuentes - Pincha aquí

Utilidades - Pincha aquí

Bájalos y los copias a tu escritorio de Linux. Entra en un terminal y cambia de directorio hasta situarte en tu escritorio [o en el directorio donde hayas alojado los paquetes]. Ejecuta en un terminal como root la siguiente orden:

dpkg -i ndiswrapper-source_1.1-4ubuntu2_all.deb
para el primero de los paquetes y


dpkg -i ndiswrapper-utils_1.1-4ubuntu2_i386.deb
para el segundo.


Ahora reinicias tu sistema y continúas con la configuración de los drivers, a partir del punto 2 de la receta.

B) PAQUETES NDISWRAPPER VERSIÓN 1.8 (No aconsejable su instalación en Guadalinex v3 y Ubuntu Breezy)

Paquetes de los repositorios Ubuntu:

Fuentes - Pincha aquí

Utilidades - Pincha aquí

Para instalarlos:

sudo dpkg -i ndiswrapper-source_1.8-0ubuntu2_all.deb
para el primero de los paquetes y


sudo dpkg -i ndiswrapper-utils_1.8-0ubuntu2_i386.deb
para el segundo.


Los paquetes de la versión 1.1 sabemos que funcionan correctamente en Guadalinex v3 y Ubuntu Breezy, pero no tenemos constancia de que los correspondientes a la versión 1.8 vayan a funcionar sin problemas. Así que tú decides. Si pruebas la versión 1.8 y te ha funcionado, coméntalo para que quede constancia de ello.

C) PAQUETE NDISGTK

Para facilitar la tarea en la configuración de Ndiswrapper, se puede instalar el paquete Ndisgtk, especialmente si no te sientes seguro en el uso del terminal.

Haz clic aquí para descargarlo

Esta utilidad facilita la carga de los drivers, evitando el uso del terminal, por lo que es muy adecuado para usuarios extremadamente novatos. No se debe olvidar que el método tradicional mediante la ejecución de comandos en terminal siempre estará ahí disponible.


Para instalarlo se debe ejecutar como root en un terminal el siguiente comando:

dpkg -i ndisgtk_0.6-0ubuntu1_all.deb

En los tres casos comentados, para la instalación de los paquetes debian, no olvides situarte previamente en el directorio de Linux donde hayas copiado los paquetes [también puedes hacerlo desde cualquier otro directorio, indicando a tu sistema la ruta donde tienes alojado el paquete] antes de ejecutar el comando dpkg -i nombre_completo_del_paquete.deb

Compilar Ndiswrapper usando las fuentes

Finalmente, y con esto termino, si decides optar por compilar los módulos de Ndiswrapper usando tus propias fuentes, descarga los archivos comprimidos del sitio de SourceForge e infórmate en el wiki del sitio sobre el procedimiento de instalación. No obstante, en un mensaje anterior he explicado los requisitos necesarios para llevarlo a cabo, en el apartado "¿Cómo compilar el driver?" del artículo "Instalar tarjetas compatibles con Linux" de este mismo blog.

Suerte y hasta pronto...