Mostrando entradas con la etiqueta trisquel. Mostrar todas las entradas
Mostrando entradas con la etiqueta trisquel. Mostrar todas las entradas

martes, 6 de junio de 2017

¿Cómo corrijo el error de video de la Acer Aspire 4736 en Ubuntu?

¡Trabajadores!

Nuestro Movimiento es uno que encarna el sentir de los humildes y del pueblo Trabajador. Esto nos propone realizaciones que deben orientarse a todos los espectros de la vida y reconocer a la única clase de hombres, los que trabajan.

Si bien como Conductor cuento para mis tareas con un equipo Intel i7 con unos 64GB de RAM y amplia capacidad de almacenamiento, bien cierto es que esta respetable potencia computacional no siempre puede llevarse al alcance de todos, ni tampoco es imprescindible para nada.

Existen ocasiones donde uno prefiere un equipo cómodo de transportar, que pueda dotarse de software libre, y que pueda acarrearse a convenciones de Software Libre o a cualquier destino de trabajo, que nos deparen lamentos si se rompe o le pasa algo. Para ello queremos un equipo humilde, y qué mejor si es uno que salvamos del ostracismo.

El Capital quisiera que existan computadoras ancianas, pero en nuestro caso sólo las consideramos veteranas. Tal es el caso de la portatil Acer Aspire 4736, modelo superado y descontinuado para el Capital, pero oportunidad nada desdeñable para el Trabajador. Por una cifra que no alcanzaba los cuatro dígidos, un ejemplar sobrante de stock en su caja sellada, y nunca utilizado. También existían 3 o 4 baterías de nueva factura para el mismo, por lo cual la oferta es bien válida.
El equipo está dotado con un microprocesador Intel Core Duo T6600 de 2.2Ghz, originalmente con 2GB de memoria RAM SODIMM DDR2 y un disco rígido de 320GB dotado de Linpus Linux Lite. El chipset es Intel Express y el adaptador de video Intel GMA 4500MHD propone una resolución de 1366 x 768 en su pantalla 16:9 de 14,1 pulgadas, con salida VGA y HDMI. El sonido es Realtek, con micrófono interno incorporado, y el Wifi es Atheros. La conectividad es Ethernet Gigabit con capacidad Wake on LAN (encendido desde la red, de importancia para su futuro uso).

Si bien la propuesta deja que desear con el torpe Linpus Lite, y se presentaría como ampliamente superada para cualquier sistema operativo privativo, es aún muy adecuada para GNU Linux. En especial se destaca para emplearla como sistema remoto y de trabajo general.

La dotamos de GNU Trisquel (derivado de Ubuntu 14.04LTS y munido de kernel Linux-libre) y potenciamos su hardware a tope de sus posibilidades, tornándola válida. A tal fin se aprovechó y se incrementó la memoria RAM a 4GB (máximo del sistema) y el lento disco rígido convencional se reemplazó por una moderna unidad de estado sólido (120GB), con lo cual su velocidad operativa se incrementó varias veces. El disco rígido original lo adaptamos en una caja USB y nos servirá como un útil disquito externo de 320GB, que está lejos de tirar cohetes pero nunca viene mal. Todo por chirolitas.
Al aumentar esta velocidad de trabajo, la posibilidad de uso - que es el verdadero consumo - creció en forma igualmente proporcional. Y así terminamos con un equipo útil en condiciones portátiles y conectado a una red local.

Pues bien, existen en la política piedras y palos en la rueda que como buenos Conductores hemos de saber sortear o superar. Uno de ellos es el consabido problema de video de este modelo. Vean señores, sucede que tras instalar Trisquel 7 - luego de que el funcionamiento del instalador fuese óptimo - al apagar el equipo y reencenderlo, este presenta un error de video de "pantalla negra", o sea que su pantalla queda apagada debido al sistema operativo.

Podremos identificar este problema de video pues el sistema presenta imagen normalmente al encenderse, y muestra la pantalla de arranque de la BIOS/POST, seguida luego de la presentación incorrecta de la pantalla de selección del sistema operativo (selector GRUB), inmediatamente la pantalla se vuelve púrpura y luego instantáneamente negra. Sin embargo, se dará inicio a Trisquel o Ubuntu,  Si estamos atentos, oiremos dentro de los 3 o 4 segundos el sonido de inicio de sesión de Trisquel.

Realmente el chipset funciona y otorga señal de video a la pantalla de la portátil, pero éste se ve completamente oscuro. La causa es la desactivación de la retroiluminación del panel LCD de la pantalla de la portátil por un conocido error del viejo chip de video Intel y su chipset. Esto lo podemos apreciar iluminando la PC lateralmente con una linterna, y podremos apreciar muy oscuro la ventana de bienvenida a Trisquel...

Para resolver el problema debemos lograr una visualización correcta conectando la portátil a un monitor externo (yo lo he hecho por HDMI, pero probablemente también podrían utilizar la salida normalizada analógica VGA).

En el monitor externo, el video se presentará correctamente. Pudiendo ya ver correctamente de forma temporal, configuraremos el Grub para modificar la forma en que se maneja la retroiluminación del panel LCD. Para ello abrimos una terminal con Aplicaciones / Accesorios / Terminal, (o presionando Ctrl+Alt+T) e ingresamos el siguiente comando:

sudo nano /etc/rc.local

Debería cargarse el editor peronista GNU Nano con un archivo de configuración, con cierto contenido. Debemos crear una linea nueva (presionando Enter) por encima de la línea "exit 0", y debemos agregar el siguiente código de configuración:

setpci -s 00:02.0 F4.B=00

Una vez agregada esta línea individual, guardamos el archivo con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

En segundo lugar editaremos el archivo de configuración del arrancador GRUB, ingresando el comando:

sudo nano /etc/default/grub 

Ahora bien, el archivo /etc/default/grub configura los aspectos básicos de arranque del sistema. Ya contendrá datos que no debemos modificar. Solamente debemos buscar la línea que dice:


GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash"

...y únicamente ésta línea modificaremos agregándole la variable acpi_osi = linux, de manera tal que quede así: 

GRUB_CMDLINE_LINUX_DEFAULT = "quiet splash acpi_osi = Linux"

Conforme lo hayamos hecho, guardamos el archivo con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

Ahora debemos indicarle al sistema que actualice al arrancador GRUB en base a las modificaciones practicadas. Ello se ordena con el comando:

sudo update-grub
Una vez completada esta operación (tarda un par de segundos), opcionalmente nos conviene configurar un servidor Secure Shell dentro de Trisquel, a fin de poder acceder al equipo desde otro cliente en la red en caso de necesidad. Esto podría servirnos en caso de alguna otra falla de video (la cual no se ha producido: Para ello ingresamos:

sudo apt-get update
sudo apt-get install openssh-server openssh-client
sudo apt-get upgrade

Ahora podremos ya  apagar el equipo con:

sudo poweroff

Desconectamos el monitor externo y al encender la portátil nuevamente, el sistema arrancará Trisquel sin presentar errores de pantalla negra. Podremos ver ahora correctamente la pantalla de bienvenida y operar en el sistema normalmente.

Si tuviésemos instaladas otras distribuciones GNU Linux (como Ubuntu), y en las mismas apareciese el error de "pantalla negra", debemos hacer el mismo procedimiento dentro de cada distribución.

viernes, 25 de diciembre de 2015

¿Cómo instalo Libreboot en mi IBM Thinkpad X60 o Lenovo T60?

Vean señores; por lógica necesidad del actual estado de cosas, el software libre corre normalmente sobre un hardware privativo. Los controladores libres se escriben, las estructuras se consolidan, pero siempre frente a proveedores privativos de hardware.
Si el hardware es privativo y su diseño cerrado, qué otra cosa podemos esperar del software que se integra en él para su funcionamiento. Nos encontramos entonces frente a la paradoja de "lo menos malo": utilizar software libre en hardware cerrado, con firmware privativos.

En nuestro camino de Conducción Orgánica del Movimiento en un ambiente de absoluta libertad, nos topamos entonces con la realidad coyuntural de que en la enorme mayoría de los casos, por mas que instalemos software libre en nuestro sistema, el firmware o la BIOS del mismo suele ser privativa, y sólo dable de modificar por el fabricante... Esto ha de ser remediado, pero son pocos los equipos que cuentan con la posibilidad siquiera de montar BIOS libres.

La BIOS es el sistema básico de entrada/salida de nuestro ordenador, una supramemoria de configuración que actúa al más alto nivel; esto es, siquiera antes que el sistema operativo arranque. Es el cimiento sobre el cual se erige todo sistema computacional moderno. En muchos equipos informáticos complejos, esta BIOS se encuentra escrita en un chip tipo EEPROM alimentado por una pila botón que permite guardar su contenido aunque se apague el sistema.


La historia nos está demostrando  - y cada vez con mayor rapidez - que el hardware libre será, una realidad insoslayable. Hoy contamos con algunos equipos limitados: computadoras en plaqueta de arquitectura ARM, sistemas embebidos de diseño abierto, sistemas en un solo circuito integrado, etc. Con el tiempo no será extraño que cada individuo pueda disponer de arquitecturas abiertas de potencia para desarrollar su informática libre golpeando allí donde más duele al imperialismo: en el bolsillo.

Sin embargo, no todo queda en manos del futuro: existen posibilidades de contar hoy con hardware de aceptable potencia, con BIOS completa y absolutamente libre si nos damos maña con ellos. Tal es el caso de la notebook IBM ThinkPad X60, también comercializada con distinto identificador de hardware y marca, como Lenovo T60. Se trata de un equipo portátil de arquitectura x86_64, antiguo mas no obsoleto, e indudablemente más potente que otras plaquetas utilitarias de arquitectura ARM o MIPSel que podríamos conseguir también. Fundamentalmente debemos inclinarnos ante el hecho de ser una de las pocas laptops capaces de recibir una BIOS totalmente libre.

La X60/T60 nos permitirá realizar esta hazaña por la liberación total del pueblo, su hardware y su software. Se trata de una veterana notebook de trabajo que conseguimos usada pujando hasta conseguir un precio popular. Está dotada con pantalla TFT LCD 4:3 de 14 pulgadas y 1024x768 pixels de resolución. El video es Intel 945GMA con salida SVGA. Sin dudas destaca su excelente teclado resistente, unos 2GB de memoria, y disco rígido HDD SATA de 160GB. La CPU es un veterano Intel Core 2 Duo, de doble núcleo. Trae una lectograbadora de DVD, así como tres puertos USB2 y uno PCMCIA (no evaluado). El dispositivo señalador es un trackpoint especie de joystick en forma de bolita roja localizado en la parte central del teclado entre las teclas "v" y "b", provisto de dos botones. La BIOS original es privativa, ya sea nomenclada bajo marca IBM o Lenovo. El sistema operativo que se integraba originalmente en la misma era un mediocre y lento Micro$soft Window$ Vi$ta de 32 bits. La batería original es la anquilosada IBM ML-X61 con un cargador de 14,4 voltios.

Al modificar la ThinkPad X60/X60s para dotarla con una BIOS completamente libre llamada LibreBoot, y opcionalmente reemplazando su placa Wifi Intel 3945abg por una Atheros, contaremos ya con un hardware completamente libre de pies a cabeza, en la cual montaremos un sistema operativo derivado de Ubuntu, pero con un kernel Linux totalmente libre. Dicho sistema operativo es Trisquel 7 Belenos GNU/Linux.

Todo procedimiento de cambiar una BIOS original por una versión actuaizada suele ser riesgoso. Lo suele ser mucho más cambiar una BIOS original por otra libre. En este caso, os asistiré, pero tengan en cuenta que siempre radica la posibilidad de inutilizar completamente el equipo. Si se tienen dudas no debe hacerse el procedimiento. En particular el Justicialismo cree que hackear es libertar, por lo tanto procederemos con la valentía de quien sigue la senda del Socialismo Nacional. En este caso obligatoriamente conectamos el equipo a la red eléctrica por medio del cargador CA correspondiente, y lo conectamos a internet por medio de un cable LAN/Ethernet.

Primero reemplazaremos el peligroso Window$ Vi$ta e instalamos un sistema operativo libre, acorde para reescribir la BIOS. En este emplearemos como sistema operativo Trisquel 7 LTS Belenos de 64 bits con sus opciones normales, pero podremos utilizar cualquier distro basada en Debian

Trisquel 7LTS Belenos es una distribución afianzada por la Fundación de Software Libre, en la cual -  a diferencia de Ubuntu - nos encontraremos con un Kernel completamente libre, y la inexistencia total de software o controladores privativos. Podremos formatear el disco rígido e instalarla (20 minutos aproximadamente en este equipo) o podremos arrancarla en modo LiveCD y trabajar. En nuestro caso decidimos por formatear el disco para estar más seguros.

Por lo demás, es una distribución GNU/Linux totalmente funcional. Una vez arrancado Trisquel normalmente, nos encontraremos con un típico escritorio Gnome.
En primer lugar vendrá siempre bien descargar dependencias necesarias para operar en la programación de la BIOS, y ello lo haremos desde la conexión cableada a internet, pues la placa Wifi original no será detectada por Trisquel. . Abrimos una terminal con Ctrl+Alt+T e ingresamos:

sudo apt-get update
sudo apt-get upgrade
sudo ./deps-trisquel


En segundo lugar, descargaremos las utilidades de trabajo y el BIOS libre Libreboot (podremos encontrar la última versión sin complicaciones es la r20150208 aquí). Podremos descargarla utilizando la terminal Linux de Trisquel, con los comandos de organización que correspondan a nuestro equipo. Utilizamos entonces:



cd ~/Descargas/
wget http://mirrors.mit.edu/libreboot/20150208/libreboot_bin.tar.xz
tar -xJf libreboot_bin.tar.xz
cd ~/Descargas/libreboot_bin/

En la carpeta ~/Descargas/libreboot_bin/bin/ encontraremos multitud de archivos ROM, los cuales comprenden diferentes versiones de las BIOS libres para distintos tipos de placa madre/notebooks. En nuestro caso, al disponer de una IBM ThinkPad X60 o X60s emplearemos los archivos ROM contenidas dentro del directorio ~/Descargas/libreboot_bin/bin/x60/. Si tuviésemos una Lenovo T60 deberíamos emplear una de las ROMs dentro del directorio ~/Descargas/libreboot_bin/bin//t60/.

Para ello ingresamos ahora:

cd ~/Descargas/libreboot_bin/bin/x60/

...y buscamos la ROM que corresponda a nuestro equipo según el teclado y características generales. Encontraremos versiones de teclado QWERTY o Dvorak, tanto para los Estados Unidos (us), el Reino Unido (uk), Francia (fr), o Sueco (svenska). También encontraremos versiones de BIOS solo texto ("txtmode") o con gráfica Framebuffer VESA ("vesafb"). En nuestro caso, escogeremos la ROM para la IBM ThinkPad X60 con teclado QWERTY, en inglés estadounidense, con gráfica Framebuffer VESA. Dicho archivo es el designado x60_usqwerty_vesafb.rom.

Como tercer medida, procederemos al respaldar la BIOS original de nuestra Thinkpad X60/Lenovo T60, por las dudas. En vista de ello ingresamos:

cd ~/Descargas/libreboot_bin/flashrom/x86_64/

...y ejecutamos estos dos comandos:

sudo ./flashrom_lenovobios_sst -p internal -r factory.bin 
sudo ./flashrom_lenovobios_macronix -p internal -r factory.bin

Estos dos comandos hará que el sistema lea el contenido binario de la BIOS actual de nuestra portátil y lo grabe en el disco rígido, específicamente en un archivo binario de emergencia llamado factory.bin dentro de la carpeta ~/Descargas/libreboot_bin/flashrom/x86_64/. Conviene pasar este archivo en algún medio extraible como un pendrive, por si tenemos que hacer alguna acción de restauración posterior, o por si algo sale mal.

Primer escritura de la BIOS Libreboot
Completado la serie de pasos previos, escribiremos en la memoria FLash/EEPROM la BIOS libre Libreboot. Para eso debemos ejecutar dos instancias de escritura ("flasheo"). En el caso de la ThinkPad X60 la primer instancia consiste en ejecutar:

cd ~/Descargas/libreboot_bin/
sudo ./lenovobios_firstflash bin/x60/x60_usqwerty_vesafb.rom 

...en cambio, en el caso de la Lenovo T60 la primer instancia consiste ene ejecutar.

cd ~/Descargas/libreboot_bin/
sudo ./lenovobios_firstflash bin/t60/t60_usqwerty_vesafb.rom 

Es primordial aguardar que el proceso de escritura de la BIOS finalice completamente. Tengamos presentes que es normal que el sistema nos devuelva mensajes de error tipo "critical error" durante la ejecución de la escritura de la memoria Flash con la BIOS no original. Debemos ser peronistas y no temer a nada, pues todo habrá de hacerse en aras de la completa liberación. De hecho aparecerán errores si el proceso es exitoso. Por ejemplo podría aparecer el mensaje:
Updated BUC.TS=1 - 64kb address ranges at 0xFFFE0000 and 0xFFFF0000 are swapped.
Si este mensaje no apareciese, no apague la notebook, y corra nuevamente el script correspondiente, o llegado el caso, utilice una versión sin gráfica VESA Framebuffer (por ejemplo, el fichero de ROM llamado x60_usqwerty_txtmode.rom) para la acción de la escritura de la BIOS Libreboot.

Ahora bien, estos errores aparecieron durante el proceso de escritura correcto de LibreBoot.
...Si los errores devueltos en pantalla son aproximadamente los indicados, significará no obstante que se ha tenido éxito. Podrá apagar el equipo (no lo reinicie, apáguelo). Aguarde al menos unos 20 segundos , para asegurar que la memoria RAM se borre completamente. Y luego reencienda el equipo. Libreboot debería arrancar, y si instaló la versión gráfica, lo hará mostrando al fumanchero GNU levitando.

Será este el momento de gritar al cielo un estruendoso ¡VIVA PERÓN!

En la ThinkPad X60 es normal que al arrancar Libreboot por primera vez lo haga con el brillo de pantalla al mínimo. Utilizaremos la combinación de teclas Fn+Home para restituir el brillo al nivel deseado.

Trackpoint
Una vez que arranque Trisquel 7, podremos evaluar el sistema en general y  comprobar que todo funcione. En algunas ocasiones, puede que el que el trackpoint no funcione. En mi caso no me molesta pues el mouse USB funciona perfectamente. Pero en el caso de que deseemos dejarlo funcionando, entramos a la terminal con Ctrl+Alt+T e ingresamos:

cd ~/Descargas/libreboot_bin/nvramtool/


sudo ./nvramtool -w trackpoint=Enable

...y reiniciamos el equipo con:

reboot

Si al arrancar de nuevo aún no funcionase el trackpoint, habremos de hacer un procedimiento específico para nuestro modelo de portáil. Si tuviésemos la IBM Thinkpad X60 podremos probar con:

cd ~/Descargas/libreboot_bin/nvramtool/
sudo ./nvramtool -y ~/Descargas/libreboot_bin/x60cmos.layout -w trackpoint=Enable

...en cambio, si tuviésemos la Lenovo T60, usaríamos:

cd ~/Descargas/libreboot_bin/nvramtool/
sudo ./nvramtool -y ~/Descargas/libreboot_bin/t60cmos.layout -w trackpoint=Enable

Segunda escritura de la BIOS Libreboot
Ahora que tenemos instalado Libreboot, debemos escribir por segunda vez para remover la BIOS IBM/Lenovo original totalmente del sistema. Esto equivaldría a una segunda presidencia de Perón. Para ello abrimos una terminal e ingresamos:

cd ~/Descargas/libreboot_bin/
sudo ./lenovobios_secondflash bin/x60/x60_usqwerty_vesafb.rom

...o si tenemos la Lenovo T60 usamos:

cd ~/Descargas/libreboot_bin/
sudo ./lenovobios_secondflash bin/t60/t60_usqwerty_vesafb.rom

...la terminal debería devolvernos algo como:
Ahora apagamos completamente el equipo, esperamos unos veinte segundos, y lo volvemos a iniciar. Al arrancar nuevamente Trisquel, podremos decir que contamos con BIOS libre y sistema operativo absolutamente libre.
Es en este momento que aprovechamos para remover las etiquetas de Window$ que pululaban el equipo, y los reemplazamos por gran cantidad de stickers de la FSF, Libreboot, Kernel Libre, etc.

Otras mejoras:

Hasta aquí, ninguna de los procedimientos de cambio de la BIOS Libreboot requirió desarmar el equipo. Pero en nuestro caso el empleo del sistema ha demostrado ser tan sólido por medio de software y BIOS 100% libre, que nos hemos propuesto abrir la veterana portátil y hacerle algunas mejoras de hardware. En primer lugar reemplazamos la vieja placa inalámbrica Intel 3945bgn WiFi por una Atheros mPCI Wireless-N. La antigua placa Wifi requería blobs de software propietario (lo que la hacía incompatible con Trisquel GNU/Linux) y calentaba mucho, mientras que la nueva Atheros AR5B91 es reconocida por los controladores absolutamente libres de Trisquel, amén de ser mucho más fría y funcionar con los estandares Wifi N modernos. Su consumo es sensiblemente menor.
Su instalación en el equipo lleva unos 10 minutos, y requiere desatornillar el chassis inferior de la portátil, extraer la placa-teclado y la tapa-chassis con cuidado, y desatornillar la miniplaqueta provista de fábrica con sus dos cable-antenas, para luego reponer  la nueva en su lugar de la misma forma que estaba puesta la anterior.
Como el resto del equipo no presenta dificultades, aprovechamos para higienizar todo el interior del equipo con aire comprimido, colocar nueva grasa siiconada refrigerante al disipador/ventilador de la CPU, lubricar su funcionamiento, y ponerle 2GB SODIMM DDR2 más de memoria, para totalizar unos 4GB de RAM, lo máximo que acepta la placa madre. También cambiamos el disco rígido SATA de 160GB convencional por un rápido disco de estado sólido Kingston SSD de 120GB.
Asimismo, conseguimos una batería de nueva factura del modelo ML:X61, con 8 celdas y 5200 miliamperes de carga, provee y 75 watts/hora.
Volvemos a instalar Trisquel 7 en el SSD (solo tarda 8 minutos en el SSD), y ya contamos con Wifi N libre para mayor comodidad. La plaqueta de Wifi no requiere instalación de software alguna, Trisquel la reconoce sin problemas y nos permite conectarnos a todo tipo de redes wifi. Asimismo, el equipo reconoce la nueva memoria instalada. El buen resultado que nos da el disco SSD Kingston nos hace actualizar un segundo equipo con la misma facilidad que el primero
Solucionar el zumbido de la notebook.
La BIOS Libreboot provoca la emisión de ciertos ruidos de zumbidos agudos de la CPU en ocasiones, lo cual no deja de ser molesto. Afortunadamente tal problema está documentado y se soluciona a través de un software librellamado powertop.

En cualquier distribución derivada de Debian podremos instalar Powertop desde la terminal, con los siguientes comandos:

sudo apt-get update
sudo apt-get install powertop
sudo powertop --auto-tune

También lo podemos ejecutar sin parámetros, y luego ir a la opción "Tunables" y disponer todas las opciones que aparezcan en "good".

Ahora bien, si usamos Trisquel anterior a la versión 7, como por ejemplo el Trisquel 6 Tutatis, la versión de Powertop que cargue el sistema será algo vieja, debemos ejecutarla al arranque. Para ello Libreboot cuenta con un script específico. Abrimos una terminal y corremos los siguientes Comandos de Organización:

cd /Descargas/libreboot_bin/
./powertop.trisquel6

Este script preparará al comando powertop para que se ejecute toda vez que se dé inicio al sistema.

En todo caso, habremos de tener en cuenta que powertop no funcionará inmediatamente, debe recoger ciertos datos antes de implementar sus características, las cuales se almacenarán en /var/cache/powertop/saved_parameters.powertop. Deje al equipo trabajando con la batería por un tiempo, y powertop comenzará a funcionar correctamente luego de algunos minutos.

Actualizar Libreboot BIOS:

Una vez que tenemos instalado la BIOS Libreboot, será mas sencillo cargar una nueva versión de la misma en el futuro. Simplemente debemos descargar la nueva versión como hicimos inicialmente, y luego ejecutar el comando flash para escribir la BIOS, de la siguiente manera:


cd ~/Descargas/libreboot_bin/
sudo ./flash bin/ruta/de/bios/nueva/