Esta versión está obsoleta. Ver nueva versión actualizada el 18 de Mayo de 2008
Dado que en Kriptópolis uno de los temas es el software libre, he decidido describir el proceso de instalación de Debian testing (Sarge) en un portátil centrino, con wifi / wireless y touchpad incluidos. Creo que es interesante porque me ha llevado algo de tiempo y un poco de suerte encontrar el "buen camino", y los dispositivos configurados son bastante comunes hoy en día. Por otra parte, este comentario viene a ser como la segunda parte de otro que inicié hace algún tiempo: ¿Soy una nenaza?.
El sistema en cuestión es:
- El equipo es un portátil HP Pavilion ze4944EA, con un Intel Centrino 710 (1.4 GHz), Intel Extreme Graphics 2, Touchpad Synaptics, wireless Intel 2200BG, ethernet Realtek 8139 (y algún otro dispositivo como modem Conexant, que no trato aquí). Asimismo, me conecto a internet mediante router wireless / ethernet (con o sin DHCP, a gusto del consumidor).
- El sistema operativo a instalar es Debian testing (Sarge), y mediante instalación de red partiendo de un CD básico (lo recomiendo frente a descargarse los 2 DVDs). Es necesario Sarge sobre la versión actual estable (Woody) por una mayor compatibilidad con el hardware de hoy en día.
Los pasos a seguir son los siguientes: (después de navegar bastante por internet, varias instalaciones tentativas y un poco de suerte)
Nota: cuando hay que teclear algo en la consola, se entenderá que lo hacemos siendo el usuario "root"
Paso 1
Lo primero (desde Windows) nos bajamos el CD de debian sarge (testing) con el sistema mínimo, para realizar una instalación por red, del sitio de debian (para la arquitectura i386, obviamente): http://cdimage.debian.org/pub/cdimage-testing/sarge_d-i/i386/rc2/sarge-i...
Paso 2
Quemamos la imagen .iso en un CD (grabable o regrabable).
Paso 3
Si en nuestro disco duro no tenemos espacio no particionado libre, lo mejor es utilizar un programa como Powerquest Partition Magic: inicialmente yo tenía 2 particiones NTFS de Windows, por lo que cogiendo espacio de la 2ª, creo una nueva partición tipo linux ext3 (2GB) y otra tipo linux swap (512MB).
Paso 4
Metemos nuestro CD de debian en el lector y reiniciamos el sistema (es preciso tener configurada la BIOS del PC para que se pueda arrancar desde el lector de CD, si no, al reiniciar nos metemos en la BIOS y cambiamos el orden de arranque).
Paso 5
Se cargará el CD de debian y nos aparecera una línea de órdenes para introducir el tipo de arranque: tecleamos expert26 noacpi nolacpi e INTRO. En este momento es importante conectar el PC al router mediante un cable Ethernet. Le paso las opciones noacpi y nolacpi porque, según algunos comentarios de Internet, de lo contrario el kernel da problemas con los Centrino... a mí me ha ido bien, pero el lector puede probar sin ellas a ver qué pasa.
Paso 6
Ya dentro del programa de instalación, seleccionamos nuestro idioma, teclado... en el apartado de particiones, seleccionamos la de tipo ext3 para usarla con el punto de montaje "/", y la "swap"... pues para "swap". En el apartado de configuración de red introducimos nuestros datos de red (dir. IP, etc...) si no tenemos DHCP, o seleccionamos configuración con DHCP (si lo tenemos activado en el router). Seleccionamos las opciones por defecto, elegimos el kernel 2.6.x, seleccionamos el gestor de arranque GRUB, terminamos, sacamos el CD, y se reinicia otra vez el PC.
Paso 7
Bien. Con mi equipo antes mencionado, al arrancar se intenta cargar el módulo i810_audio (para el sonido); pero como aún no tenemos instalados los paquetes de controladores ALSA, si no hacemos nada se cuelga el sistema en el arranque. Por tanto conviene saberlo antes del reinicio para estar preparados (gracias a los comentarios de otro usuario). Para solventarlo, pulsamos Ctrl+C mientras nuestro nuevo sistema está arrancando (yo pulsé varias veces), para evitar que se carguen los módulos. El objetivo es llegar al final a la pantalla de configuración del nuevo sistema ("baseconfig").
Paso 8
Seleccionamos las opciones que nos van pidiendo (valores por defecto, creamos un usuario normal aparte del "root") y salimos al login:
Paso 9
Entramos como "root" y empezamos a configurar asuntos.
Paso 10
Cargamos el módulo (controlador) de nuestra Ethernet "wirefull" (o sea, la de toda la vida :-):
modprobe 8139too
Seguidamente reiniciamos la red con:
/etc/init.d/networking restart
Paso 11
Editamos el archivo /etc/apt/sources.list para que tenga dos líneas:
deb http://ftp.es.debian.org/debian testing main contrib non-free
deb http://security.debian.org/ testing/updates main contrib non-free
El archivo lo podemos editar con el "vi":
vi /etc/apt/sources.list
(documentarse antes sobre vi), o añadiendo esas fuentes con dselect (ejecutamos "dselect" y en la opción de elegir método de instalación añadimos esas dos fuentes http).
Para insertar una nueva línea en vi, pulsar "o" en la línea actual; para insertar texto a partir del cursor, pulsar "i"; para salir de estos modos de edición, pulsar Esc; para guardar los cambios, pulsar ":", seguido de "w" e Intro; para salir, pulsar ":", seguido de "q" e Intro.
Paso 12
Una vez que hemos editado el citado fichero, bajamos de esas fuentes e instalamos con el programa apt-get varios paquetes necesarios:
apt-get update (para actualizar la base de datos de paquetes debian).
apt-get install alsa-base (para el sonido)
apt-get install kernel-image-2.6.8-2-386 kernel-headers-2.6.8-2-386 (para el controlador wireless: tendremos que compilarlo, y las "headers" para el kernel que viene de serie - 2.6.8-1-386 - parece que ya no están disponibles).
apt-get install gpm (ratón en modo texto)
Además del touchpad, tengo un ratón Microsoft inalámbrico USB. En la configuración de gpm selecciono el dispositivo /dev/psaux, protocolo autops2, protocolo de repetición ms3, y resto de valores por defecto. Podemos ver esta configuración más tarde en el fichero /etc/gpm.conf.
Paso 13
Aquí reinicio para comprobar que el nuevo sistema arranca bien.
Paso 14
Tras reiniciar, todo debe haber ido correctamente y funcionar tanto el touchpad como el ratón USB.
Paso 15
15) Ahora instalamos las "X", con el gestor de escritorio "gnome" y gestor de inicio (login gráfico) "gdm":
apt-get install x-window-system gnome gdm
Los paquetes anteriores requieren otro montón de paquetes adicionales, por lo que podemos dejar al PC descargando, tomarnos una copa y volver una hora más tarde (en una conexión ADSL a 512 kbps).
En la configuración de las "X" (servidor XFree86), seleccionamos todos los valores por defecto, salvo por el hecho de elegir que SÍ tenemos pantalla LCD, y que el dispositivo para el ratón es /dev/gpmdata. Podemos ver más tarde esta configuración en el fichero /etc/X11/XF86Config-4.
En la configuración del resto de paquetes, elegir las opciones por defecto.
Paso 16
Reiniciamos otra vez, y si todo ha ido bien arrancaremos en modo gráfico...
Paso 17
En mi caso, todo ha ido bien salvo por una cosa: el touchpad Synaptics ha dejado de funcionar, parece que ahora el kernel ni siquiera lo reconoce (fenómenos paranormales del mundo Linux...). Después de investigar un poco, aprendo que los siguientes módulos deben estar instalados: mousedev, evdev, psmouse. Así que ejecuto lo siguiente desde una consola:
modprobe mousedev
modprobe evdev
modprobe psmouse
Añado la siguiente línea al fichero /etc/modules, para que me funcione el click con doble toquecito sobre el touchpad:
psmouse proto=imps
Por si las moscas, también añado la siguiente línea al fichero /etc/modutils/aliases:
alias char-major-13 mousedev
Y a continuación ejecuto:
update-modules
Aunque yo probaría primero sin hacer esto último (aliases y update-modules) porque no estoy convencido de que sirva para mucho (aunque no parece que haga nada malo).
Paso 18
Reiniciamos de nuevo y ahora, tanto en modo texto como gráfico, deben funcionar tanto el touchpad como el ratón USB.
En otros sitios hablan de un controlador especial para el touchpad Synaptics en las "X": paquete xfree86-driver-synaptics, pero a mí me funciona perfectamente sin ello
Paso 19
Nos queda configurar el enlace inalámbrico (wifi / wireless / IEEE802.11g), no nos habíamos olvidado, conste. Para ello, seguimos las instrucciones que nos dan en este útil enlace, y ejecutamos lo siguiente en la consola:
apt-get install module-assistant (facilita la creación de paquetes debian, a partir de los ficheros fuente)
apt-get install gcc (puede que no sea necesario, pero vamos a compilar algo, y por si las moscas...)
m-a -t update
m-a -t -f get ipw2200
m-a -t build ipw2200
m-a -t install ipw2200
Si todo fue bien, m-a (nada que ver con Hannibal Smith y cia.) se bajó de internet el paquete ipw2200 (fuentes), lo compiló y creó un nuevo paquete debian con el módulo cargable ipw2200 (y algún otro), e instaló dicho paquete. Podemos ver (y guardar para instalar en el futuro) que ahora tenemos un paquete debian en: /usr/src/ipw2200-modules-xxxxx.deb, siendo xxxxx algo muy largo para escribirlo aquí...
Ahora debemos descargarnos un "firmware" requerido por el módulo ipw2200, de la página: http://ipw2200.sourceforge.net/firmware.php y nos bajamos la última versión ("para 1.9 y más nuevos"). El fichero en cuestión es un comprimido .tgz : lo guardamos en el directorio /opt (por ejemplo) lo descomprimos ahí mismo, y copiamos los ficheros .fw en el directorio /usr/lib/hotplug/firmware/ Todo esto mejor si lo hacemos desde gnome :-)
Seguidamente cargamos el módulo:
modprobe ipw2200
Paso 20
Pero aún faltan varios detalles. Debemos descargar el paquete wireless-tools y el paquete wpasupplicant (este último si queremos cifrado WPA-PSK, con TKIP, recomendable):
apt-get install wireless-tools (contiene la utilidad iwconfig y otras).
apt-get install wpasupplicant
Paso 21
Ejecutamos iwconfig, y donde nos aparezca información sobre wireless es el enlace inalámbrico (a configurar). Pongamos que es: eth1, y que va a tener la dir. IP 192.168.0.10, estática (sin dhcp), con los servidores DNS: 80.81.82.83 80.81.82.84.
Editamos el fichero /etc/network/interfaces para añadir la información sobre el enlace:
# The wireless network interface
# Esta linea solo si queremos que el enlace se levante al arrancar, por defecto no
# auto eth1
# En lugar de "static" ponemos "dhcp" si configuramos con DHCP
iface eth1 inet static
wireless-essid elssiddemired
pre-up wpa_supplicant -B -ieth1 -Dipw
post-down killall -q wpa_supplicant
# de aqui para abajo sobra, si usamos DHCP
address 192.168.0.10
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
# dns-* options are implemented by the resolvconf package, if installed
dns-nameservers 80.81.82.83 80.81.82.84
Nota importante: debian se lía si configuramos más de un enlace/interfaz para la misma red. Por eso yo quito la línea auto eth1 (o auto eth0) tanto de mi enlace wireless como Ethernet normal, y abro o cierro dichos enlaces a mano, con:
ifup eth1 (para abrir eth1)
ifdown eth1 (para cerrar eth1)
Y sólo tengo abierto uno al mismo tiempo. También podemos poner en auto el que usemos con más frecuencia, y si luego lo queremos cerrar lo hacemos con ifdown.
Asimismo, creamos un nuevo fichero /etc/wpa_supplicant.conf con el siguiente contenido:
ctrl_interface=/var/run/wpa_supplicant
ctrl_interface_group=0
ap_scan=1
network={
ssid="elssiddemired"
scan_ssid=1
proto=WPA
key_mgmt=WPA-PSK
group=CCMP TKIP WEP104 WEP40
pairwise=TKIP CCMP
group=TKIP
psk="mifrasedepaso"
}
El fichero anterior configura el comando wpa_supplicant (del paquete wpasupplicant) para activar el protocolo WPA, con gestión de clave WPA-PSK y protocolo de cifrado TKIP. La línea scan_ssid=1 es necesaria si - como es mi caso - el router wireless no difunde el ssid de la red (para mayor seguridad). Para más información, leer la documentación del paquete en /usr/share/doc/wpasupplicant/
Asimismo, debemos abrir el fichero /etc/default/wpasupplicant, y cambiar la línea ENABLED=0 a ENABLED=1 para activar el funcionamiento de wpa_supplicant.
Paso 22
Desenchufamos el cable Ethernet, reiniciamos (mala costumbre tomada de Windows...) y una vez que hemos arrancado de nuevo, con todos los enlaces cerrados, intentamos abrir el wireless:
ifup eth1
Y si todo va bien, con nuestro navegador Mozilla desde las "X" podemos acceder a Internet sin problemas. También podemos comprobar si al menos el enlace está activo haciendo un "ping" a la dirección IP de nuestro router wireless (según nuestro /etc/network/interfaces anterior, esa dir. IP sería 192.168.0.1).
Y si algo ha salido mal... mucha paciencia, y a echar mano de Google...
Creo que no me he dejado nada. Espero que pueda ser de utilidad. La configuración de los demás dispositivos queda como ejercicio para el lector :-)
Gracias
anónimo18 Marzo 2008 - 4:38pm
Muchas gracias. Gracias a ti (en el 2008) he conseguido configurar mi conexión. estoy a un paso más de dominar Debian!
Gracias de nuevo. Sin tu ayuda (y la de algunos tutos más) no hubiera sido posible.
ifrename
ivalladt30 Octubre 2005 - 1:38pm
Se trata de un paquete Debian que permite renombrar los interfaces de red basándose p.ej. en el MAC de cada tarjeta de red. Yo lo utilizo para estar seguro de que `eth0' corresponde al adaptador Ethernet y `wlan0' al wireless. Resulta cómodo al probar nuevos kernels donde súbitamente uno u otro adaptador no tiene módulos disponibles y aún así queremos estar seguros de que se ejecutará la configuración correcta en /etc/network/interfaces.
Además, qué narices, el adaptador Wireless *debe* llamarse `wlan0'. :)
Muy bueno martes13
Tolito18 Mayo 2005 - 3:43pm
Enhorabuena por el artículo, viene muy bien para la gente que quiera adentrarse en estos caminos de instalar la Debian. ;)
Con SuSe 9.3
neki13 Mayo 2005 - 6:10pm
Yo uso Suse 9.3 y he configurado directamente el portatil centrino. La propia distribucion traia los drivers y me detecto el hardware. Tan facil como en windows.
Pues me alegro
spy (no verificado)13 Mayo 2005 - 6:23pm
Porque en la 9.2 me resultó un calvario.
Me paso lo mismo
neki14 Mayo 2005 - 12:39pm
Yo tb tuve problemas con el 9.2 pero con el 9.3 ha mejorado mucho la cosa. Me detecto todo muy bien y fue capaz de instalarlo.
Buen artículo, felicidades.
bgood12 Mayo 2005 - 9:54pm
Buen artículo, felicidades.
Supongo que el wireless es de los de botoncito, consigues hacer que funcione el activarlo/desactivarlo dándole al botón?
Teclas especiales en linux
El Nigromante13 Mayo 2005 - 1:16am
Sí, el botoncito del wireless funciona (se conecta o desconecta la red pulsando). Lo que no funciona es la luz correspondiente (está apagada siempre, independientemente de que la red este conectada o no).
Curiosamente, lo contrario ocurre con el touchpad, al pulsar el botón se enciende o se apaga la luz correspondiente, pero el touchpad permanece activo.
Al pulsar la tecla del wireless, aparece un mensaje de error en la consola (bash):
atkbd.c: Unknown key pressed (translated set 2, code 0xf8 on isa0060/serio0).
atkbd.c: Use 'setkeycodes e078 to make it known.
Y algo similar inmediatamente después de soltarla ("Unknown key released").
Y lo mismo ocurre con otras "hotkeys" para iniciar el navegador, cliente de correo, etc.
Por lo que he visto, es cosa del núcleo (kernel, en mi caso 2.6.8). Al parecer, algunas teclas o botones especiales, no estándar, generan "scan codes" desconocidos. Con la instrucción setscancodes parece que se pueden "mapear" correctamente estos "scan codes" a los "key codes" correspondientes. Por tanto, parece que en mi caso el botón del wireless no está "mapeado" por defecto en linux, aunque sí desconecte la red porque probablemente lo maneja directamente la BIOS del portátil.
Dado que por lo menos lo básico funciona, yo de momento me conformo. Con el hardware propietario ya se sabe (especialmente si se trata de un portátil). Avisaré si soluciono el problemilla.
Páginas posiblemente relacionadas con el asunto:
http://fobie.net/nc8000/
http://lackof.org/matt/hacking/keyboard/
http://ubuntuforums.org/archive/index.php/t-27039.html
Ésta es del caché de Google, parece que ya no existe en su ubicación original
Keyboard Support HOWTO
Cómo hacer que el LED se encienda
anónimo15 Abril 2007 - 1:34pm
Hola, os hago un copia&pega de cómo lo solucioné en mi caso (tengo una tarjeta wireless Intel PRO/Wireless 2200BG)
(vía) http://www.ubuntu-es.org/index.php?q=node/26392