Instalación de Debian en portatil Ahtec Signal 1555M

por Sergi Baila

Versiones

v0.1 (24.02.05 SBM) : creación del documento

Introducción

Este documento pretende ser un diario de la instalación Debian (unstable) sobre un portatil Ahtec Signal 1555M.

Hardware


Instalación

Primer arranque

Para la instalación utilizamos el Debian Installer, en su versión rc2. Usando un CD netinst.

El arranque se desarrolla sin problemas, escogemos la opción de arranque expert26 (kernel 2.6).

Al haber indicado el modo experto, se nos hacen muchas preguntas aunque la mayoría se pueden dejar por defecto (especialmente si no se entienden).

Tras seleccionar los módulos se queja de que le falta cargar algunos drivers (seguramente se cargaran más adelante). Interesantes son el b44 (para la tarjeta de red integrada Broadcom) y ipw2100 (el adaptador de red inalámbrica).

Ya al arrancar me detecta dos dispositivos de red: como eth0 la Broadcom 100BaseT y como eth1 la red FireWire. Por supuesto, selecciono la primera como primaria.

Tras detectar la red y configurarla, me pide que rama instalar: seleccionamos unstable (notando como se erizan los pelillos de la nuca...).

El sistema compartirá disco con un Windows XP, así que particionamos el resto de disco como una sóla unidad ext3 y una zona de intercambio (swap).

Tras esto, el instalador detecta hardware, realiza comprobaciones y eventualmente al instalar el gestor de arranque GRUB localiza mi "Windows XP Professional" y me informa que lo dejará todo preparado para un arranque dual.

Segundo arranque

El segundo arranque, el primero que se hace directo sobre la instalación en disco, pregunta cosas sobre zona horaria, claves de usuarios, etc.

Luego nos pregunta de donde vamos a instalar paquetes, y le indico que lo haré a través de internet (via HTTP). También finalmente el tasksel nos da la opción de preinstalar paquetes de configuraciones habituales.

Dado que me gusta el riesgo, voy a instalar lo que necesite manualmente, así que escojo la configuración manual y de momento sólo descargaré las actualizaciones.

Configuración paquetes instalados/actualizados

Una vez descargados los paquetes pasamos por las pantallas de configuración de los paquetes que así lo requieren.

console-data

Seleccionamos un mapa de teclado: qwerty,Spanish

exim4-config

Configuración de correo: "sólo envio local, no está en red"

Conseguido

Finalmente se nos presenta el prompt. Ya tenemos instalado el sistema base. Nos falta instalar el kernel correcto, ya que el instalador de netinst siempre instala un kernel 386. Así, mediante aptitude (o el gestor de paquetes que más os guste) instalamos el paquete kernel-image-2.6-686 que es un paquete que siempre depende del último kernel disponible.

Una vez hemos arrancado correctamente, ya podemos eliminar el anterior paquete sin problemas.

Instalar las X

Para instalar las X, en vez de utilizar la tarea de aptitude o algo similar, que instala más paquetes de los que necesito, escojo los paquetes que me interesan de esa tarea. Concretamente: x-window-system-core, gnome-desktop-environment, gdm, mozilla-browser, mdetect y read-edid.

Tras algunas configuraciones menores, para las X me pide la resolución que fijo como única a 1024x768, 60Hz y 24 bits de color.

Se puede reconfigurar las X con

dpkg-reconfigure --priority=low xserver-xfree86

Teclas a recordar


Configuración hardware específico

Uno de los principales problemas de un portátil con Linux es los sistemas de hardware bastante propietarios que usan. Vamos a ver que nos encontramos aquí...

Touchpad

Este portátil tiene un touchpad de Synaptic Devices que emula un ratón PS/2 de dos botones. El kernel 2.6 ya me lo detecta. Adicionalmente, esta página informa sobre el driver.


[dmesg...]

Synaptics Touchpad, model: 1
 Firmware: 5.8
 180 degree mounted touchpad
 Sensor: 18
 new absolute packet format
 Touchpad has extended capability bits
 -> 4 multi-buttons, i.e. besides standard buttons
 -> multifinger detection
 -> palm detection
input: SynPS/2 Synaptics TouchPad on isa0060/serio4
mice: PS/2 mouse device common for all mice

Existen paquetes Debian para gestionar este dispositivo: xfree86-driver-synaptics, qsynaptics.

Siguiendo las instrucciones del README.Debian del driver, modificamos el fichero /etc/X11/XF86Config-4 :

# XF86Config-4 (XFree86 X Window System server configuration file)
#
# This file was generated by dexconf, the Debian X Configuration tool, using
# values from the debconf database.
#
# Edit this file with caution, and see the XF86Config-4 manual page.
# (Type "man XF86Config-4" at the shell prompt.)
#
# This file is automatically updated on xserver-xfree86 package upgrades *only*
# if it has not been modified since the last upgrade of the xserver-xfree86
# package.
#
# If you have edited this file but would like it to be automatically updated
# again, run the following commands as root:
#
#   cp /etc/X11/XF86Config-4 /etc/X11/XF86Config-4.custom
#   md5sum /etc/X11/XF86Config-4 >/var/lib/xfree86/XF86Config-4.md5sum
#   dpkg-reconfigure xserver-xfree86

Section "Files"
        FontPath        "unix/:7100"                    # local font server
        # if the local font server has problems, we can fall back on these
        FontPath        "/usr/lib/X11/fonts/misc"
        FontPath        "/usr/lib/X11/fonts/cyrillic"
        FontPath        "/usr/lib/X11/fonts/100dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/75dpi/:unscaled"
        FontPath        "/usr/lib/X11/fonts/Type1"
        FontPath        "/usr/lib/X11/fonts/CID"
        FontPath        "/usr/lib/X11/fonts/Speedo"
        FontPath        "/usr/lib/X11/fonts/100dpi"
        FontPath        "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"
        Load    "GLcore"
        Load    "bitmap"
        Load    "dbe"
        Load    "ddc"
        Load    "dri"
        Load    "extmod"
        Load    "freetype"
        Load    "glx"
        Load    "int10"
        Load    "record"
        Load    "speedo"
        Load    "type1"
        Load    "vbe"
        Load    "synaptics"
EndSection

Section "InputDevice"
        Identifier      "Generic Keyboard"
        Driver          "keyboard"
        Option          "CoreKeyboard"
        Option          "XkbRules"      "xfree86"
        Option          "XkbModel"      "pc105"
        Option          "XkbLayout"     "es"
EndSection

Section "InputDevice"
  Driver        "synaptics"
  Identifier    "Touchpad"
  Option        "Device"        "/dev/psaux"
  Option        "Protocol"      "auto-dev"
  Option        "LeftEdge"      "1700"
  Option        "RightEdge"     "5300"
  Option        "TopEdge"       "1700"
  Option        "BottomEdge"    "4200"
  Option        "FingerLow"     "15"
  Option        "FingerHigh"    "20"
  Option        "MaxTapTime"    "180"
  Option        "MaxTapMove"    "220"
  Option        "VertScrollDelta" "100"
  Option        "MinSpeed"      "0.06"
  Option        "MaxSpeed"      "0.12"
  Option        "AccelFactor" "0.0010"
  Option       "SHMConfig"     "on"
#  Option       "Repeater"      "/dev/ps2mouse"
EndSection


Section "Device"
        Identifier      "Targeta de vídeo genèrica"
        Driver          "i810"
EndSection

Section "Monitor"
        Identifier      "Monitor genèric"
        HorizSync       28-49
        VertRefresh     43-72
        Option          "DPMS"
EndSection

Section "Screen"
        Identifier      "Default Screen"
        Device          "Targeta de vídeo genèrica"
        Monitor         "Monitor genèric"
        DefaultDepth    24
        SubSection "Display"
                Depth           1
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           4
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           8
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           15
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           16
                Modes           "1024x768"
        EndSubSection
        SubSection "Display"
                Depth           24
                Modes           "1024x768"
        EndSubSection
EndSection

Section "ServerLayout"
        Identifier      "Default Layout"
        Screen          "Default Screen"
        InputDevice     "Generic Keyboard"
        InputDevice     "Touchpad" "CorePointer"
EndSection

Section "DRI"
        Mode    0666
EndSection

Fijaos en el LoadModule del módulo del driver (synaptics) y en la sección que configura el mismo.

El touchpad se puede configurar ejecutando qsynaptics o editando el fichero ~/.qsynaptics que crea el mismo programa. Hay que tener en cuenta que cada arranque de la sesión es necesario reprogramar el touchpad con estos valores. Para ello, podemos programar la ejecución de qsynaptics -r en el programa Sesiones de gnome (o como lo hagáis con vuestro gestor de ventanas favorito).

Sonido

Curiosamente (digo curiosamente porque sonido AC'97 hace mucho que está implantado) no funciona el sonido (he probado de reproducir un mp3 con xmms y un cd con gnome-cd y nada).

ACTUALIZACION: Ya funciona, y no he hecho nada. Quizás algún paquete, al ser la distribución unstable cuesta darse cuenta de todo lo que se actualiza cada vez.

ACPI

Instalo el paquete de gestión de energia: acpid

Durante la instalación me ha detectado algunos módulos:

Loading ACPI modules:
    battery
    ac
    processor
    button
    fan
    thermal
Starting Advanced Configuration and Power Interface daemon: acpid.

Con lo cual ya podemos consultar la temperatura y estado de la bateria (por ejemplo, yo tengo puesto en Gnome el icono de la bateria en el escritorio).

WiFi

Esta parte se prevee complicada. Intel no ha liberado el firmware necesario, así que el kernel de Debian no puede incluir soporte directo para este dispositivo. Así que tenemos que recurrir al proyecto Intel PRO/Wireless 2100 Driver for Linux.

Seguimos el howto disponible.

Básicamente, instalamos las wireless-tools. Seguidamente comprobamos la existencia de los módulos arc4 y crc32, de los cuales el primero aparece pero el segundo no (leer siguientes párrafos antes de hacer nada). Malas noticias. Tenemos que crear el módulo. Según el howto lo podemos compilar a partir del fuente del kernel, así que instalamos kernel-source-2.6.8.

La instalación me deja los fuentes en el fichero /usr/src/kernel-source-2.6.8.tar.bz2. Descomprimo en el directorio linux.

Al intentar ejecutar make menuconfig se me queja de la falta de las librerias ncurses, instalo el paquete libncurses5-dev. Sorpresa!! Al entrar y buscar el módulo CRC32 que me falta veo que ya está... y como no lo había encontrado? Resulta que se llama 'crc32c'. Así que según esas instrucciones tenía que ejecutar modprobe crc32 pero voy a probar con modprobe crc32c que si me funciona.

Ahora a compilar el driver. Lo descargo de la página del proyecto y descomprimo en un directorio. En mi caso uso la versión 1.0.5 (la actual a fecha de escritura de esto).

Según recomienda el autor del howto uso el modo directo, sin cargar el firmware con hotplug. Quito el comentario a la linea CONFIG_IPW2100_LEGACY_FW_LOAD=y y ejecuto make.

Tras un error me doy cuenta que no tengo instaldos los kernel-headers así que en mi caso instalo el paquete kernel-headers-2.6-686.

Ahora si, make y make install funcionan correctamente. Descargo el firmware tal como indica el documento de instalación y lo copio en /etc/firwmare .

Cargo el driver con modprobe ipw2100 y en el /var/log/syslog puedo ver la carga correcta:

Mar  2 17:16:21 localhost kernel: ieee80211_crypt: registered algorithm 'NULL'
Mar  2 17:16:21 localhost kernel: ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, 1.0.0
Mar  2 17:16:21 localhost kernel: ipw2100: Copyright(c) 2003-2004 Intel Corporation
Mar  2 17:16:21 localhost kernel: ACPI: PCI interrupt 0000:02:06.0[A] -> GSI 10 (level, low) -> IRQ 10
Mar  2 17:16:21 localhost kernel: ipw2100: Detected Intel PRO/Wireless 2100 Network Connection
Mar  2 17:16:21 localhost kernel: eth2: Radio is disabled by RF switch.

Y le ejecución de iwconfig:

enterprise:/home/sargue/ipw2100-1.0.0# iwconfig
lo        no wireless extensions.

eth0      no wireless extensions.

eth1      no wireless extensions.

sit0      no wireless extensions.

eth2      unassociated  ESSID:off/any  Nickname:"ipw2100"
          Mode:Managed  Channel=0  Access Point: 00:00:00:00:00:00
          Bit Rate=0 kb/s   Tx-Power:off
          Retry:on   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality:0  Signal level:0  Noise level:0
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Para probarlo, si usáis WEP por ejemplo, con la orden iwconfig eth2 key s:xxxxxx podéis fijar la llave WEP a utilizar y luego intentar la conexión a un AP con iwconfig eth2 essid "apname".

Pues no funciona... revisando los logs encuentro esto:
Mar  2 18:00:15 localhost kernel: eth2: Radio is disabled by RF switch.

Y mirando la documentación del driver ipw2100, consulto el contenido de /sys/bus/pci/drivers/ipw2100/rf_kill
para encontrarme que está detenido por hardware.Y no hay solución sencilla. La página del proyecto ipw2100 me redirige a otro proyecto: rfswitch. No parece haber soporte para mi portátil, además que el proyecto esta MUY verde.

Configuración general

Copias de seguridad

Para todas las copias de seguridad de mis equipos utilizo BackupPC. En el caso del portatil, usaremos una conexión via rsync sobre ssh.

Ya he hablado sobre este software en mi blog. Doy por suficientemente documentado el tema allí.

Cliente samba

Quiero conectar mi portatil a discos compartidos de un Windows XP. Necesito algunos paquetes, como y smbclient y smbfs. Lo primero es comprobar que puedo montar la unidad con smbmount correctamente. Al principio he encontrado problemas con los juegos de carácteres. Tras algunas pruebas he averiguado las opciones necesarias para que funcione: codepage=cp850,iocharset=iso8859-15 .

He averiguado el juego de carácteres de Windows mediante la ejecución de chcp en la línea de comandos del mismo.

Actualizaciones

La distribución unstable es muy volátil, y es necesario mantener lo más actualizados posibles los paquetes (si eso representa un problema, mejor no usar unstable y optar por testing por ejemplo).

Para facilitar la administración, utilizaremos una herramienta que nos notifique y descargue automáticamente las actualizaciones: cron-apt. No permitiremos que las instale sin supervisión puesto que esta tarea debe hacerse siempre de manera interactiva, ya que suelen surgir detalles que requieren nuestra supervisión.

Una vez instalado, modificamos la configuración /etc/cron-apt/config para que use aptitude en vez de apt-get.

La configuración por defecto de cron-apt lo configura para su ejecución cada noche a las 4 de la mañana (según /etc/cron.d/cron-apt). Eso funciona para sistemas que siempre estén conectados, pero en nuestro caso lo cambiamos para ejecutarlo cada hora.

Referencias

Debian Sarge on a laptop
Synaptics Touchpad
GNOME Users Guide


Licencia de Creative Commons
Esta obra está bajo una licencia de Creative Commons.