TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

Linux en un Compaq Presario 905EA

por Vicente Aguilar <bisente@bisente.com>

AVISO:
Esta página no se ha actualizado desde hace MUCHO tiempo. Cualquier distribución actual debería soportar de serie todo el hardware del Presario 905. Personalmente, yo ahora uso Ubuntu sin ningún tipo de problema.
Si aún así necesitas una guía actualizada para usar Linux en un Presario 905, prueba en la página de Compaq en TuxMobil.

Introducción

Este documento describe cómo instalar Linux en un Compaq Presario 905EA, aunque estas instrucciones deberían servir para cualquier portátil Presario de la serie 900, tal vez incluso de otras también (Evo). Esta guía está un poco orientada hacia la distribución Debian porque es la que yo uso, pero trataré de dar tantos consejos como pueda para otras distribuciones. De todas formas, con toda la información aquí expuesta, cualquier persona con unos conocimientos medios de Linux podrá instalar cualquier otra distribución en uno de estos portátiles. Ha habido noticias de gente que ha conseguido instalar RedHat,Mandrake,SuSE,Gentoo y Morphix (entre otras) en uno de estos portátiles.

Hace poco he probado un Live-CD de la SuSE 8.2 en este portátil, y todo funciona de maravilla sin tener que tocar nada. Si es un novato en Linux (sin ánimo de ofender) y no quiere/no sabe cómo configurar el kernel, las XFre86 y demás, tal vez debería probar esta distribución antes de probar a seguir las instrucciones de esta página.

En caso de que esta página lleve unas semanas sin actualizarse, consulte alguna de los otros recursos sobre Linux en un Presario 900, en especial la lista de correo dedicada a estos portátiles.

Algo de información sobre el hardware/software


  • Especificaciones Técnicas:
    • AMD Mobile Athlon XP 1800+ (1.53 GHz)
    • 256 Mb RAM
    • 30 Gb Disco Duro
    • Pantalla 15" TTF
    • ATI Mobility Radeon U1/IGP320M
    • Unidad DVD-ROM/CD-RW
    • Disquetera 3 1/2"
    • Synaptics TouchPad
    • Modem 56K mini-PC (winmodem)
    • 1 PCMCIA type I, II (con soporte para tarjetas de 32 bits)
    • 2 puertos USB
    • 1 puerto IEEE 1394
    • 1 puerto infrarrojo
    • 2 puertos de sonido (altavoces + micrófono)
    • 1 MultiPuerto
    • 1 puerto PS2, 1 paralelo (SPP/ECP), 1 VGA y 1 S-VIDEO
 

Estado

FUNCIONA
NO FUNCIONA
SIN PROBAR
  • Red
  • DVD-ROM/CD-RW
  • Vídeo (2D+XVideo)
  • TouchPad + pad 4 direcciones
  • USB
  • PCMCIA
  • Puerto SVGA
  • ACPI
  • Teclas Inet/MMedia
  • Modem
  • Sonido
  • MultiPuerto
  • AMD PowerNow!
  • Aceleración 3D
  • IEEE-1394
  • Puerto Infrarrojo
  • PS/2
  • Puerto Paralelo
  • S-VIDEO
  • Compaq Wireless W200

Historial de versiones


Configuración básica

    Cosas básicas que necesitará hacer funcionar para poder trabajar realmente con este portátil. En la mayoría de los casos, ni si quiera tendrá que recompilar el núcleo de Linux. Si tiene que recompilarlo pero nunca antes lo ha hecho, no tema: no es ni la mitad de difícil de lo que pueda parecerle. Lea The Linux Kernel HOWTO y no tenga miedo de trastear con su kernel nunca más.
Funciona sin más. Es una tarjeta basada en el chip RTL8139C+, completamente soportado por el núcleo de Linux. Seguramente ya irá compilada en el núcleo de su distribución, o estará disponible en forma de módulo (en Debian, busque el 8139cp o el 8139too). Incluso instalé todo el sistema por red utilizando un CD de netinst para Debian.
También funciona sin mayores problemas. Si quiere grabar CDs, debe activar la emulación SCSI para esta unidad. Esto probablemente signifique que tendrá que compilar el núcleo... consulte la documentación de su distribución y el CD-Writing HOWTO. La unidad tiene soporte para BURN-Free, una tecnología tipo BURN-Proof, y está completamente soportada por el cdrecord. La reproducción de DVD también funciona, yo uso el Ogle.
Si quiere utilizar gráficos en la consola, use el driver VESA para el framebuffer que viene con los núcleos recientes, ya que el driver para tarjetas Radeon no funciona. Conseguir que el framebuffer funcione sólo es importante si necesita algún programa que lo utilice, o si piensa usar el driver fbdev de XFree86 (vea la siguiente sección).
Hay un driver con soporte 2D y XVideo para las XFree86, programado por Hui Yu, pero sólo funciona con la versión 4.3.x de las X y no está incluido aún (que yo sepa) en la distribución oficial de las X 4.3.0. Sin embargo, las últimas versiones de algunas distribuciones parece que ya incorporan este driver (Gentoo, tal vez las últimas RH y SuSE también).

Así que si su distribución utiliza X 4.3 y el driver para las tarjetas radeon símplemente funciona (y puede ver películas sin problemas con mplayer, xine o lo que use), puede alegrarse y olvidarse de esto. Si no funciona, tendrá que instalar usted mismo el driver. Puede descargarlo de  la página de Ian (enlace directo a los drivers).

Si su distribución todavía utiliza las X 4.2, tendrá que actualizarlas a la versión 4.3, bien compilándolas desde el código fuente o buscando algún paquete actualizado para su distribución. Otra opción es utilizar el driver VESA o el fbdev (para el que necesitará haber configurado el framebuffer). Ambos funcionan y son fáciles de configurar, pero no tienen ningún tipo de aceleración 2D ó 3D.

Debian todavía no utiliza las X 4.3, ni si quiera la versión "inestable" (SID), así que si quiere aceleración 2D y video necesitará actualizar sus XFree86. Afortunadamente, hay varios "repositorios" para el apt con paquetes actualizados:

Woody (no los he probado):
deb http://ktown.kde.org/~nolden/X11 stable main

Sid:
deb http://penguinppc.org/~daniels/sid/i386/ ./

(Seguramente habrán otros muchos sitios de donde descargar las X4.3 para Debian...)

Estas versiones puede que tengan (o puede que no) el nuevo driver, así que si las X no le funcionan o las extensiones XVideo no van, descarge e instale el nuevo driver tras actualizar las X.

Más información sobre la tarjeta gráfica:

La tarjeta gráfica que incorpora este portátil es parte de un nuevo chipstes integrado de ATI llamado U1 ó IGP320M. El chipstet es una combinación de northbridge con una tarjeta gráfica compatible Radeon 7000. Puede encontrar más información sobre el en  este artículo de The Inquirer y este otro de Tom's Hardware Guide.
En X-Window funciona como un dispositivo PS/2 más, así que incluya el soporte PS/2 en su núcleo (viene con todas las distribuciones) y configure en XF86Config para que se use el protocolo PS/2. Esta es la forma más fácil de conseguir que el TouchPad funcione, pero lo hará en un modo muy simple y el pad de 4 direcciones de debajo de él no funcionará.

Si quiere que el pad funcione y tener algunas funcionalidades extra en el TouchPad (como desplazarse por las ventanas moviendo el dedo por el lateral derecho del TouchPad, o que una pulsación con 1, 2 ó 3 dedos equivalga a la pulsación del botón izquierdo, derecho o central del ratón), tendrá que instalar una versión de gpm reciente. La que viene con Debian SID (1.19.algo) NO SIRVE, necesitará al menos la versión 1.20.0. Yo he hecho todas las pruebas con la 1.20.1rc1 parcheada. Esto es lo que debe hacer:
Si no quiere parchear/compilar gpm, puede usar mis paquetes .deb del gpm-1.20.1rc1 con los parches de Peter para el TouchPad Synaptics.

También puede probar tpconfig (viene con la Debian), una utilidad para ajustar algunos valores del TouchPad. No he trasteado mucho con ella, así que no estoy seguro de lo que puede o no hacer.

Otra opción, si no quiere liarse con los parches del gpm, es utilizar este driver para el Synaptics Touchpad para XFree86. Funciona de maravilla, pero por supuesto, es una solución sólo para las X y no podrá utilizar todas las características avanzadas del touchpad cuando trabaje en consola con el gpm.
Hay dos formas de conseguir que el sonido funcione:
  1. Use los drivers del kernel (OSS/free). El sonido debería funcionar sin problemas en cualquier kernel >= 2.4.21-pre4. En versiones del kernel <= 2.4.21-pre3 había un bug que colgaba el sistema al cargar los drivers. Si por algún motivo necesita utilizar todavía un kernel antiguo, puede solucionar el bug con este parche de Fedor Karpelevitch.
  2. Los drivers ALSA. Las versiones <= 0.9.0rc5 de estos controladores de sonido tenían un error similar al de OSS/Free, que fue resuelto en la versión 0.9.0rc6. Cualquier versión actual no debería darle ningún problema (yo utilizo ahora la 0.9.3c).
  3. Use los drivers OSS/Commercial. Cuestan $35 ($20 el paquete básico + $15 del driver de esta tarjeta), pero funcionan muy bien, la instalación es muy sencilla y llevan integrado un mezclador de sonidos (como esd o arts, pero en el propio driver).

Puertos de E/S

Usando el driver OHCI del núcleo se carga sin problemas y detecta el bus USB, y el demonio hotplug detecta cualquier dispositivo USB al conectarlo. He probado el USB con dos dispositivos.
Así que, a pesar de los problemas con la WebCam, creo que el USB funciona.
exclude port 0x380-0x3ff
El controlador del puerto FireWire es un Texas Instruments TSB43AB22 1394a-2000. El driver ohci1394 del núcleo carga y parece detectar el hw, pero como no tengo ningún dispositivo 1394 no he podido probarlo.
Aún no he mirado esto. Tampoco tengo ningún dispositivo con qué probarlo.
Aún no he mirado nada de esto. Supongo que al menos los puertos PS/2 y paralelo funcionarán sin problemas, ya que son bastante comunes y soportados más que de sobra.

Otras cosas

El driver ACPI que viene con el núcleo de Linux no parece funcionar bien con este portátil. Para conseguir que el ACPI funcione, tendrá que instalar los últimos parches que puede encontrar aquí. Después de esto, toda la información ACPI de la batería y demás se encuentra disponible en /proc/acpi/*. El ordenador se puede apagar sin problemas via software, pero el modo suspendido no parece funcionar (por supuesto, también puede usar el software suspend).

El estado del ACPI (carga de las baterías, etc.) se puede comprobar utilizando la utilidad ACPI en línea de comandos. Si usa Gnome 2, péguele un vistazo a mi versión mejorada del Gnome 2 Battery Applet (un parche similar se va a incluir probablemente en la versión del batstat applet de Gnome 2.2).

Otro programa interesante es el demonio acpid. Este demonio captura todos los eventos ACPI y le permite programar una acción para cada evento. Por ejemplo, puede bloquear la pantalla cada vez que se cierre la tapa del portátil, o detener cualquier programa superfluo que consuma mucha CPU (loquesea@home) cuando se desconecta de la corriente y comienza a funcionar con la batería.
PowerNow! es la tecnología de los AMD Mobile K6/Athlons que les permite hacer que la CPU vaya más lenta en condiciones de poca carga del sistema, ahorrando así batería. Hay un proyecto para añadir soporte al kenrel de Linux para estas tecnologías llamado cpufreq. El proyecto estaba liderado por Dominik Brodowski y se podía descargar parches para las series 2.4 y 2.5 del kernel, pero desde Marzo ha tomado Dave Jones las riendas del proyecto y ha pasado todo el desarrollo a la serie 2.5 del núcleo. No he encontrado aún ningún parche actualizado para la serie 2.4 desde entonces, así que tendremos que utilizar la última versión que salió (cpufreq-2.4.21-pre3-4, que de todas formas funciona por ahora sin problemas con versiones más recientes del kernel).

Pero el driver PowerNow! sólo es inútil, ya que no ajusta la velocidad de la CPU automáticamente. El driver sólo provee al usuario con un interfaz para modificar la velocidad, y es el propio usuario (o un programa en el espacio de usuario) el que debe controlarla según la carga del sistema. Uno de estos programas es el cpudyn de Ricardo Galli. El programa controla cada X msegundos la carga de la CPU y modifica su velocidad según sea necesario. También monitoriza los discos duros y los pone en modo stand-by tras un periodo de inactividad. Si decide utilizar este programa, también debería aplicarle este parche, que mejora su rendimiento en las CPUs Athlon XP.
El modem es un Conexant HSF 56k HSFi. Hay un driver para Linux que puede encontrar aquí. Como estoy usando Debian, que no está basada en paquetes RPM, he descargado el paquete .tgz con el código fuente y he compilado los drivers a mano. Si usted usa otra distribución, mire si ya hay paquetes precompilados para ella.

Tras varias semanas peleándome con estos drivers, finalmente he conseguido que el modem funcione en mi equipo. Los problemas que estaba teniendo eran derivados de que tras dos años con una conexión ADSL, se me había olvidado cómo configurar una conexión por modem. Menos mal que encontré el gkdial e hizo todo el trabajo sucio por mí. :)

NOTA: Estos drivers NO FUNCIONAN con un kernel PREEMPTIVE (¿cómo traduzco esto?). Así que si ha instalado los parches de rml, recompile su kernel sin la opción preemptive si quiere utilizar el modem.
Instale LinEAK (la versión que viene con Debian SID va bien). Copie este fichero lineakkb.def sobre el que tendrá en /etc/, ejecute lineakd y configure su teclado con lineakconfig. Para más información sobre cómo instalar/configurar/usar LinEAK, lea su documentación.

Hay otras formas de configurar estas teclas. Por ejemplo, GNOME 2.2 tiene un applet para configurar y utilizar estas teclas, con interfaz gráfica y todo. KDE podría tener alguna solución similar.
El MultiPuerto es un puerto de expansión especial que llevan algunos portátiles de Compaq. Está situado en la parte de atrás de la pantalla, es decir, en la parte superior de la tapa cuando se cierra el portátil. La aplicación más útil de este puerto de expansión es ponerse ahí una tarjeta inalámbrica, ya que así no consumimos el ÚNICO puerto PCMCIA del portátil y, además, permite una antena más larga y que estará mejor protegida (al estar dentro de la tapa del portátil). La tecnología MultiPuerto en sí es un derivado de USB, puede encontrar más información en esta página de Compaq.

Tengo una tarjeta Compaq Wireless Lan W200 para el Multiport. No había drivers para este dispositivo hasta hace unas pocas semanas, pero ahora hay unos drivers de Manuel Estrada Sainz que están disponibles aquí. El driver compila y parece que funciona, pero desafortunadamente ahora no tengo ningún punto de acceso inalámbrico, así que no he podido probarlo (debería funcionar).

En cualquier caso, el MultiPuerto parece que funciona. No es mas que un puerto USB modificado, y tras instalar la tarjeta y pulsar Fn+F2 para activarla, el hotplug la detecta como dispositivo USB y aparece su información en los logs (/var/log/syslog). Así que el sistema detecta el módulo correctamente como un dispositivo USB, y tras cargar los drivers puedo configurar la tarjeta. Así que supongo que todo funciona (el puerto y la tarjeta).

Gracias a Al Stone de la lista debian-laptops por esta información.
Quiero probar este parche un día de estos, pero aún no he tenido tiempo, así que lo menciono aquí por si a alguien le interesa y aún no lo conoce.

La idea detrás de Software Suspend es poder guardar una "instantánea" del sistema en ejecución (memoria, estado de los procesos, etc) en la partición se swap antes de apagar el sistema. De esta forma, cuando el portátil se vuelva a encender, el kernel puede recuperar toda la información de esta "instantánea" y recuperar el estado del sistema, continuando su ejecución en el mismo punto en que se detuvo (digamos que con una sesión de las X, navegando con el Mozilla y con un xterm compilando el kernel).

Este proyecto existe hace ya bastante tiempo y se ha incluido en el kernel de desarrollo 2.5, así que creo que ya se le puede considerar suficientemente maduro y estable como para utilizarlo.

Consejos y trucos

    Algunos consejos por si aún tiene problemas instalando Linux en su equipo:

Sobre una instalación dual

    Es posible configurar un equipo dual Windows/Linux utilizando lilo, pero tenga esto en cuenta: El portátil viene equipado de fábrica con WindowsXP, Norton Internet Security 2002 (Personal Proxy + AntiVirus), MS Word 2002 y MS Works 2002, pero sólo vienen CDs de instalación para el Windows y el Norton IS, no para Word y Works, así que no podrá instalar estos dos programas más tarde. Si que vienen 4 CDs etiquetados como "QuickRestore System Recovery", pero no dejan elegir qué programas reinstalar o el tamaño de la partición, símplemente formatean todo el disco y hacen una restauración total del sistema original.

    Así que hay dos opciones:
    Si, como yo, a veces actúa más rápido que piensa y tras borrar Windows se dió cuenta de que había perdido Word y Works, tendrá que hacer algo con esos CDs de QuickRestore. Aquí hay una guía para conseguir que en lugar de borrar todo el disco, restauren el sistema en una partición que ya exista. He seguido esa guía pero no me ha salido bien, pero creo que se por qué: yo había creado una partición NTFS para Windows, pero QuickRestore usa FAT para la instalación y luego convierte la partición a NTFS. Así que creo que lo que pasó es que al ver una partición en un formato que no esperaba, se volvió loco y ... en fin. Acabé otra vez con Windows en una partición de 30Gb. Por suerte, esta vez tenía a mano el Partition Magick y una copia de seguridad de la partición de Linux. ;)

Últimos detalles de personalización

    Consiga algunas pegatinas de Linux para poner encima de la de "Designed for Microsoft® Windows® XP". ;D

Enlaces relacionados

Generales

Controladores y programas

Documentos y HOW-TOs

Otras páginas "Linux en <algún_portátil>" que he encontrado útiles

Otros recursos sobre "Linux en un Presario 9xx"