5 may 2010

Actualizando un Eeepc 1005HA de Ubuntu 9.10 a 10.04

El último fin de semana me dio por actualizar mi netbook un Eeeepc 1005HA con Ubuntu UNR 9.10 a la última versión Ubuntu UNE 10.04 LTS. Lo más sensato para hacer estas cosas es esperar un mes o dos antes de actualizar el equipo para dar tiempo a que se corrijan los típicos bugs que siempre aparecen en las nuevas distribuciones. Incluso si tienes prisa por echarle un vistazo a la nueva distribución, lo más cómodo es esperar unos cuantos días para no comerte la sobrecarga en los servidores de repositorios. A pesar de todo esto decidí sufrir un poco y actualizar el ultraportátil. Después de ejecutar "updata-manager -c" me costó un par de intentos conseguir que el ordenador descargará los índices de todos los repositorios, a lo que siguió un par de horas de descarga de los paquetes nuevos y otra hora más para que el netbook instalara y configurará los paquetes.
Aquí tenéis la información de los pasos a seguir para realizar la actualización. Todo muy sencillo darle a actualizar y aceptar los cambios a realizar.




El nuevo Ubuntu va muy bien y se nota un poco más ligero e incluso tarda un poco menos en arrancar, casi todo funcionó perfectamente a la primera. Personalmente me gusta más el nuevo tema por defecto que el anterior, aquí podéis echar un vistazo a las principales diferencias.


Ahora llega la parte divertida, lo que no funcionó. Lo primero que noté es que no funcionaban las teclas de función, esto se soluciona editando el fichero de configuración del grub /etc/default/grub y cambiando GRUB_CMDLINE_LINUX_DEFAULT='quiet splash' por GRUB_CMDLINE_LINUX_DEFAULT='quiet splash acpi_osi=Linux', después actualizamos el grub con sudo update-grub y reiniciamos.


El otro problema fue que el control del ventilador de mi netbook no funcionaba (información sobre el bug). El problema es que no existe el fichero de configuración del demonio de control de los ventiladores /etc/fancontrol lo que se soluciona ejecutando pwmconfig como root y luego iniciando el demonio /etc/init.d fancontrol start.

Este es mi fichero de configuración de fancontrol:


# Configuration file generated by pwmconfig, changes will be lost
INTERVAL=10
DEVPATH=hwmon0= hwmon1=devices/platform/eeepc
DEVNAME=hwmon0=acpitz hwmon1=eeepc
FCTEMPS=hwmon1/pwm1=hwmon0/temp1_input
FCFANS= hwmon1/pwm1=
MINTEMP=hwmon1/pwm1=35
MAXTEMP=hwmon1/pwm1=70
MINSTART=hwmon1/pwm1=40
MINSTOP=hwmon1/pwm1=0

Otra posible solución, sería lanzar al iniciar un script que se dedicara a gestionar el ventilador y deshabilitar el control del ventilador con fancontrol. Aquí tenéis un par de scripts y más información de como lanzarlos al iniciar Ubuntu. Yo usé uno de los scripts de la página con un par de modificaciones y después lo agregué al arranque del sistema copiándolo en /etc/init.d y ejecutando sudo update-rc.d eeepcfan defaults.


#!/bin/bash

# Automatic fan controller
# Tested on a eee 1005HA running Ubuntu 10.04

# Test with 'sudo eeefan background'.
# If works, 'sudo update-rc.d eeepcfan defaults'
# and reboot.

temp_file=/sys/devices/virtual/thermal/thermal_zone0/temp
fan_control=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1
fan_control_activate=/sys/devices/platform/eeepc/hwmon/hwmon1/pwm1_enable

eeefanupdate() {
TEMP=$(cat $temp_file)
TEMP=$(($TEMP / 1000))

FANSPEED=0

if [ $TEMP -ge 30 ]
then
FANSPEED=30
fi

if [ $TEMP -ge 35 ]
then
FANSPEED=60
fi

if [ $TEMP -ge 40 ]
then
FANSPEED=80
fi

if [ $TEMP -ge 45 ]
then
FANSPEED=100
fi

if [ $TEMP -ge 50 ]
then
FANSPEED=120
fi

if [ $TEMP -ge 55 ]
then
FANSPEED=180
fi

if [ $TEMP -ge 60 ]
then
FANSPEED=200
fi

if [ $TEMP -ge 65 ]
then
FANSPEED=220
fi

echo $FANSPEED > $fan_control
}

case "$1" in
start)
start-stop-daemon --start --background --exec $0 -- background
;;
background)
sleep 70

echo 1 > $fan_control_activate

while [ 1 ]
do
eeefanupdate
sleep 10
done
;;
stop)
;;
*)
echo "Usage: $0 start|background" >&2
exit 3
;;
esac

Una aplicación interesante para los Eeepc es eee-control disponible en los repositorios. Esta aplicación resulta muy útil porque permite configurar varios aspectos como la frecuencia del procesador, control del ventilador, teclas de función, desactivar hardware del equipo, ... Es necesario modificar el fichero de configuración si queremos usar el control del ventilador para adaptarlo al 1005HA, para ello editamos /etc/eee-control.conf y en el apartado [fan] establecemos max-speed: 255.


Una de las características más polémicas de esta versión de Ubuntu UNE es que el panel del menú superior está fijo y no es posible añadir applets o mover los existentes. La forma de solucionar esto es iniciar sesión en la interfaz de Gnome en vez de la interfaz UNE y modificar esta para que se comporte de la misma forma que la interfaz para netboks.

En la página de documentación de Ubuntu está la información al respecto.

Pasos para modificar la interfaz:


sudo ln -s /etc/xdg/xdg-une/autostart/maximus-autostart.desktop /etc/xdg/autostart/
sudo ln -s /etc/xdg/xdg-une/autostart/netbook-launcher.desktop /etc/xdg/autostart/
sudo ln -s /usr/share/gconf/une/default/20_une-gconf-default /usr/share/gconf/defaults/
sudo ln -s /usr/share/gconf/une/mandatory/20_une-gconf-mandatory /usr/share/gconf/defaults/
sudo update-gconf-defaults

Si nos pasamos modificando el panel y no sabemos como devolverlo a su aspecto original basta con borrar el directorio donde se guarda la configuración del panel para que al reiniciar sesión este recupere la configuración por defecto. La carpeta es .gconf/apps/panel en nuestro directorio home, lo podemos borrar desde la consola con "rm -rf ~/.gconf/apps/panel".