Ubuntu en IBM X41

Fuentes:

Actualización 02-06-06 He actualizado a Ubunto 6.06 (Dapper Drake) y ya funciona la tarjeta SD. La reconoce automáticamente, sin realizar ninguna configuración especial Creado el 22 de marzo de 2006. El modelo X41 de IBM es un portatil de reducido tamaño (21×27 cm) y peso (1, 29 Kg); dotado con un Pentium Centrino 778 a 160 Mhz, 512 Mb de RAM, disco duro de 40 Gb y comunicaciones integradas. Todos los detalles se pueden consultar aquí. Como S.O elegí Ubuntu 5.10 "Breezy Badger", respetando la partición de Windows XP y redimensionándola con Gparted a 15 Gb. También he respetado la partición oculta de 4 Gb que trae de fábrica el equipo (la utiliza para poder restaurar el sistema). Como medio de instalación elegí, ya que el X41 no tiene unidades externas, un DVD RW externo de LG que fue reconocido sin problemas al arrancar, por el portatil. En realidad la instalación fue muy sencilla ya que Ubuntu reconoce prácticamente todo el hardware del equipo:

  • CPU: es un Intel Centrino 778 a 160 Mhz; se puede controlar la frecuencia con el Monitor de frecuencia de Gnome.
  • Video: Intel Graphics Media Accelerator 900; funciona con el driver i810 a 1024×768 y 70Hz. Todavía no he probado a conectarlo a una pantalla externa, pero aquí dice como hacerlo
  • Ratón: de tipo jostick, lo reconoce perfectamente (/dev/input/mice y protocolo ImPS/2) en Xorg.conf. También reconoce un ratón externo usb
  • Disco Duro: reconoce el disco SATA sin problemas. Hibernación: funciona perfectamente sin tener que tocar nada. Suspensión: funciona bien, pero al recuperar la pantalla parpadea un poco y saca unas líneas verdes
  • Wifi: el portatil viene equipado con una Intel 2915 a/b/g que funciona perfectamente con el driver ipw2200. Lo único que he cambiado es el icono del panel sustituyendo el que viene por defecto en Gnome por el de NetworkManager 0.4.1. Para ello hay que instalar el paquete
    $ sudo apt-get install network-manager

    insertar la línea nm-applet con un ID=10 en Sistemas > Preferencias > Sesiones > Programas al inicio y reiniciar la sesión. Con el botón derecho sobre el nuevo icono que aparecerá podemos configurar el applet.

  • Wlan: el adaptador de red es una gigabit integrada Broadcom NetXtreme que funciona ‘out of the box’ con el driver tg3.
  • Bluetooth: funciona perfectamente, he podido pasar archivos desde un Nokia 6230, con tan solo activar el administrador de Bluetooth de Gnome y escanear los dispositivos cercanos. funciona con el driver hci_usb
  • Infrarojos: no probado todavía.
  • Sonido: fiunciona sin problemas; driver ac97_controller.
  • Modem: No probado (ni ganas que tengo) pero aquí dicen como hacerlo funcionar con los drivers de Linuxant (solo a 14.400 bds).
  • SD Card: todavía no he conseguido hacerla funcionar. el lector tiene un chip de Ricoh, el RL5c476 II. Parece ser que se necesita un kernel 2.6.15 y/o un parche que todavía no está muy fino (vaya, que está en desarrollo)
  • Lector de huellas: Todavía no lo he probado pero por lo visto en este foro estaría soportado por UPEK BSP.
  • Pcmcia: funciona sin necesidad de tocar nada. ha reconocido dos tarjetas con solo insertarlas.
  • Usb: funciona también sin necesidad de hacer nada, incluso reconoce un adaptador multipuerto (4 puertos en 1) de la marca Trust
  • Botones especiales: el equipo viene con una serie de botones exclusivos de IBM, se pueden configurar instalando la aplicación tpb (thinkpad bottons)
    $ sudo apt-get install tpb

    y modificándola para que muestre por pantalla la acción de pulsar sobre uno de estos botones: como por ejemplo los de sonido, en la parte superior del teclado o el de luminosidad de la pantalla (tecla Fn+Inicio/Fin). Una vez instalada la aplicación mencionada, añadido vuestro usuario al grupo nvram que ha creado el tpb:

    $ sudo adduser mi_usuario nvram

    y añadido tpb -d a Sistema >Preferencias > Sesiones > Programas al inicio con ID=50, modificar el archivo /etc/tpbrc o descargar el mío (quitarle la extensión .txt) para cambiar la apariencia del mensaje, tamaño, situación, color, etc… Con esta aplicación y este mismo archivo también se puede hacer que el botón de Access IBM (en la parte superior izquierda) arranque cualquier programa o script, aunque por ahora no lo he habilitado. Otros botones que se pueden activar son los que están justo encima de las flechas de dirección (esquina inferior derecha) y que sirven para avanzar y retroceder cuando navegas por Internet; para ello hay que crear el fichero .Xmodmap en el directorio personal del usuario:

    $ sudo gedit .Xmodmap

    e insertarle estas líneas:

    keycode 234 = F19 keycode 233 = F20

    Salvarlo y cerrarlo. Una vez hecho esto hay que ir a la web de Rob Mayoff e instalar un xpi para Firefox. Al reiniciar comprobarás que las teclas avanzan y retroceden en las webs vistas. Otro botón que se comporta de una manera especial es el de activar o desactivar las conexiones inalambricas; en el mismo botón se activa/desactiva la wifi y el bluetooth; esto en windows abre un programa que permite elegir cual de ellos hay que modificar, pero en Linux se activan/desactivan los dos a la vez. Con la siguiente modificación podemos separarlo y hacer que ambos además se muestren por pantalla (igual que el sonido o la luminosidad). Para ello hay que seguir los siguientes pasos (y en este orden):

    1. instalar xosd-bin:
      $ sudo apt-get install xosd-bin

    2. crear el fichero /etc/gdm/PostLogin/Default
      $ sudo gedit /etc/gdm/PostLogin/Default

    3. insertar lo siguiente en él:
      #!/bin/sh # TMPFILE=/tmp/X_user_for_osd echo $USERNAME > $TMPFILE # as the file we create is used in a script which will be run as root, # make sure nobody can mess around with it... chmod 600 $TMPFILE''

    4. Salvar el archivo y hacerlo ejecutable:
      $ sudo chmod +x /etc/gdm/PostLogin/Default

    5. A continuación crear el siguiente archivo:/etc/acpi/osd:
      $ sudo gedit /etc/acpi/osd

      e insertar lo siguiente en él:

      ''#!/bin/bash # /etc/acpi/osd # written by J Kraemer, output and location modified by EM # output closely matches default output of tpb on-screen display osd_print() { xuser=`cat /tmp/X_user_for_osd` su - $xuser -c "echo $1 | DISPLAY=:0.0 osd_cat -d 3 -p bottom -A left -O 1 -s 2 -S black -i 25 -o -21 -c blue &" }

    6. Una vez salvado’ hacerlo ejecutable:
      $ sudo chmod +x /etc/acpi/osd

    7. Ahora hay que modifcar el script original que activa Fn+F5 para que solo active la wifi (el bluetooth lo pasamos a las teclas Fn+F6); previamente haremos una copia de seguridad (no obligatorio pero recomendado): ''$ sudo cp /etc/acpi/ibm-wireless.sh /etc/acpi/ibm-wireless.sh-original
    8. y lo editamos:
      $ sudo gedit /etc/acpi/ibm-wireless.sh

      sustituiyendo el texto que tenía por este otro:

      ''#!/bin/bash # Find and enable/disable wireless devices; modified by EM for use with OSD, based on work by J Kraemer # /etc/acpi/ibm-wireless.sh . /etc/acpi/osd state=`. /etc/acpi/wireless.sh` if [ "$state" = "0" ]; then osd_print ‘Wireless off’ else osd_print ‘Wireless on’ fi

    9. Una vez salvado tendremos que reiiniciar el demonio de acpi:
      $ sudo /etc/init.d/acpid restart

      y reiniciar la sesión.

    10. El acceso a bluetooth lo vamos a pasar a la combinación de teclas Fn-F6 y también nos mostrará en pantalla cada vez que lo activemos/desactivemos. Es imprescindible haber realizado todos los pasos anteriores, sino no funcionará.
    11. hacer copia de seguridad de lo actual:
      $ sudo cp /etc/modprobe.d/ibm_acpi.modprobe /etc/modprobe.d/ibm_acpi.modprobe-original

    12. Editar el fichero /etc/modprobe.d/ibm_acpi.modprobe:
      $ sudo gedit /etc/modprobe.d/ibm_acpi.modprobe

      y cambiar el número hexadecimal 0xff9f por 0xffff (cambia solo el 9)

    13. Reiniciar el equipo
    14. Crear el archivo /etc/acpi/events/ibm-bluetooth:
      $ sudo /etc/acpi/events/ibm-bluetooth

    15. Insertar el siguiente texto:
      # /etc/acpi/events/ibm-bluetooth # This is called when the user presses the FN-F6 keys and calls # /etc/acpi/local/ibm-bluetooth-osd.sh for further processing. event=ibm/hotkey HKEY 00000080 00001006 action=/etc/acpi/ibm-bluetooth-osd.sh

    16. Salvarlo y guardarlo.
    17. Crear el siguiente archivo: /etc/acpi/ibm-bluetooth-osd.sh:
      $ sudo gedit /etc/acpi/ibm-bluetooth-osd.sh

    18. Insertar en él el siguiente texto:
      ''#!/bin/sh #/etc/acpi/ibm-bluetooth-osd.sh . /etc/acpi/osd cat /proc/acpi/ibm/bluetooth|grep status|grep -q enabled if [ $? == 0 ]; then echo disabled > /proc/acpi/ibm/bluetooth; osd_print ‘Bluetooth off’ else echo enabled > /proc/acpi/ibm/bluetooth; osd_print ‘Bluetooth on’ fi

    19. Salvarlo y cerrarlo y reiniciar el servicio acpi:
      $ sudo /etc/init.d/acpid restart''