miércoles, 28 de febrero de 2018

Convertir tablet a laptop con teclado AT

Convertir tablet a laptop con teclado AT 
(extracto de la lista de correo de GNU-ULA. By Rafa Zurita)

[ULA:1610] Fwd: unleash the beast: freaky laptop fotolog verano 2018

Rafael Ignacio Zurita 28 de febrero de 2018, 10:14
Responder a: gnu-ula@googlegroups.com
Para: gnu-ula@googlegroups.com
Hola gnuxallenceros, Les reenvio esta historia contada con fotos:
Este proyecto lo estaba por publicar y compartir en github; pero por falta de tiempo, ganas, etc (para ordenar todo y subir codigo/diagramas) va para ustedes en forma de revista veraniega tipo fotolog.

Historia: desde hace un par de años que necesito una nueva laptop. Las HP Jornadas ya no me sirven en los viajes aunque las extrañe. Principalmente porque las placas 16bits pcmcia wireless solo soportan clave WEP. Y con 16MB de RAM ya no puedo casi abrir ninguna pagina web :(
Asi que hace un año encontré un hardware para reemplazo: una tablet winbook tw700. Procesador intel, 4 cores, puerto usb NORMAL, todas las boludeces extras (wifi, sonido, touchscreen, etc), y un puerto hdmi, lo cual lo necesito para conectar la cosa a algun proyector.

Igualmente, la tablet no es una laptop. Ni parecido. Además, para quienes me conocen saben que no puedo tocar teclados que no sean dignos de ser teclados. Asi que por casi un año intenté encontrar un buen teclado para convertir la tablet en laptop. Nada. Ni los Apple me convencen.
Pensé en utilizar my HHK, pero ni en pedo me dije despues. Si lo pierdo me mato jaja.
Asi que me calenté, y me arremangué. Así comienza esta historia:

Conseguí un viejo teclado AT (ni siquiera ps2). Un modelo Muy famoso hace unos diez años en los supermercados, por su tamaño compacto, y por ser medios irrompibles. Lo conseguí por $200 en mercadolibre. El estado era deprorable y algunas teclas no funcionaban (así que seguro era de un super):



Inline image 2


Lo desarmé todo. Limpié los contactos. Lo pinté a nuevo como si fuese que estoy armando un fiat 600 para correr. Ejem ejem:


Inline image 4


Como no podía usarlo (es AT),lo convertí a USB (si, de AT a usb). Por suerte, las señales de un teclado AT son compatibles con ps2, asi que lo que hice fue encontrar las señales de datos y reloj, y recepcionarlas con un pequeño microcontrolador atmel attiny 85 (8KB de flash, 512-Byte de SRAM, 6 señales de E/S). Unos tipos (genios) hace unos años portaron v-usb (una versión de un usb device por software, para micros). Con lo cual, la parte del USB la tuve resuelta via software, con v-usb. Luego fue compatibilizar varias bibliotecas de arduinos que manejan teclados ps2 y usb para lograr tener un conversor completo (las bibliotecas de arduino estaban re incompletas :(.
Bueno, fotos jugosas parte hardware de esta parte:
- Descifrando las señales del teclado AT (con el mismo micro attiny 85)


Inline image 5
- Esquemas de lo encontrado (fijensé, muy importante, que me auspició el trabajo "FRUTAS VALDO"):

Inline image 6
(Nota importante: existen unos conversores de teclado ps2 a usb. Asi que podría haber convertido las señales del teclado a ps2 simplemente, y usaba el conversor; evitando el microcontrolador. Pero los conversores son mas caros que el attiny85, y no hubiese aprendido nada via ese camino ;)

Tambien incorporé un HUB USB, para tener un puerto extra usb integrado al teclado (similar a los que tienen los HHK). Es la plaquita "marrón" de la siguiente foto. Observen, que tuve que quitar los puertos fisicos, porque sino no entraba el hub usb dentro del teclado. Dejé soldado unicamente dos puertos, el que se vé ahí al lado del attiny (finalmente el attiny está conectado ahí, y recibe energía y conexión a la tablet mediante el hub) y otro más que está contra la carcasa del teclado (para conectar un pen drive o lo que sea, desde el exterior). Este ultimo está cableado con el cable plateado de la derecha:


Inline image 7

No tengo fotos de todo conectado, pero les juro que luego dejé todo prolijo (parte hw) para poder cerrar el teclado.
Ah. Tuve que dejar un boton de "reset" del micro attiny. Al principio, mi idea era que pudiese actualizarle el firmware al microcontrolador, si necesitaba cambiarle el software. Pero resultó que el hub demora mucho en presentarse al sistema, y no puedo alcanzar a conectarme con el bootloader del attiny, que luego de un pestañeo ya arranca el software grabado en la flash. Así que no me sirvió para ese fin por culpa del hub en medio del camino.
Aún así me fué re util. Al encender mi nueva laptop no se configura en Linux el teclado de una, por algún bug que todavia no logro encontrar (igual tampoco revisé mucho aún por falta de tiempo). Y este botoncito de reset me vino al pelo porque hace que el microcontrolador (ahora usb) se resetee al presionarlo y se presente de cero a Linux, y ahí sí Linux reconoce el firmware como teclado usb (ya que el botoncito solo hace reset del micro, no del hub). Y ahí funca (es decir, algo que me salió de ped...  :) Boton (abajo a la derecha):

Inline image 8
Luego las visagras, porque si es laptop tiene que poder cerrarse como laptop. Las choreé de un teclado para tablets. Me dió placer romper completamente el teclado pedorro ese para tablets, era malísimo. Pero, me dió las bisagras :



Inline image 9

Resolucion de la pantalla: es comoda para mi gusto (aún si la pantalla, como ven, no es muy grande):


Inline image 10
La instalación de Linux, tengo que confesarlo. Fue y es una pesadilla.
Luego de varios meses tengo Debian. Pero tardé semanas en configurar el X apaisado. Tardé semanas en configurar el touchscreen calibrado. Tardé semanas en hacer andar la wifi. Tardé semanas en hacer funcionar el puerto externo HDMI. Tardé semanas en etc etc etc :( Realmente doloroso instalar Linux en tablets. El driver de audio sé que está bien, pero no logro que por los parlantes salga sonido (seguro que es algo de los controles del mixer, que tiene como mas de 100 controles, POSTA). El bluetooth aun no me funciona (funciona, pero si no uso la wifi). Los drivers de la wifi están en staging. La camara usa un bus poco comun y el driver tambien está en staging (y no está completo). Asi que estuve armando mi propio kernel una y otra vez una y otra vez, es decir, no pude usar los de Debian (todo esto me hizo acordar a cuando en el 2000, instalar linux era para solteros, con tiempo, aburridos, y sin nada mejor que hacer).
Pero bueno, tengo esta versión de kernel bastante bastante funcional (ejem, disculpen):
Inline image 11
Foto final de despedida con la pantalla cerrada. Espero que les haya gustado el cuentito fotolog.

Inline image 12
Costo total: tablet $1500. Teclado $200. Visagras choreadas. Horas de laburo mejor ni contarlas que me rajan de casa...

Ultima foto de ultimo momento. Una comparativa, para poder apreciar que no es tan grande como en las fotos anteriores parece

No hay comentarios:

Publicar un comentario

Revisión de distribuciones mínimas

Una revisión por las viejas y nuevas distribuciones GNU/Linux minimalistas. Vintage, nostalgia, o viejazo... como quieran llamarles, una c...