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

jueves, 31 de mayo de 2018

¿Cómo hago para ver televisión digital satelital y terrestre con una caja TBS-5520 SE en Ubuntu?

¡ Trabajadores!

Siempre he sentido un verdadero orgullo de argentino al sentirme un vínculo de unión entre los hombres que trabajan.

La columna vertebral de nuestro movimiento son precisamente los Trabajadores, y ellos saben que junto a sus overoles manchados de grasas y polvo, portan el sagrado bastón de Mariscal que los torna en Conductores de una lucha en pos de las sagradas reivindicaciones.

Todo hemos de darlo por las conquistas sociales. Incluso hemos de llegar a la lucha si ello es necesario.

Veamos un ejemplo, pues ellos suelen aclararlo todo.

Siempre fue un Justo Anhelo de los trabajadores poseer un solo dispositivo que en sí mismo unificara las funciones de sintonizador de televisión digital terrestre ISDB-T y satelital, pero que además fuese portátil y capaz de hacer streaming - esto es, transmitir digitalmente a una red local o abierta si fuese necesario. Esto nos permitiría no sólo poder sintonizar a la vez tanto servicios digitales "de aire", sino también contenidos satelitales HD, y sin pagar una chirola. Simplemente nos permitiría lograr un avance tecnológico insuperable, y nos liberaría de los perniciosos monopolios de la comunicación.

Esto adminículo prometido sin embargo quedaba en el margen de la Ciencia Ficción, pero sin duda uno que conmovía a este viejo soldado.

Ademñas de las palmas y laureles de General de la Nación, mis trabajadores me han otorgado el título de Primer Trabajador, y en pos de ello hoy quiero hacerles conocer un dispositivo que enarbola los más altos deseos de sintonía en la constelación y en el aire. Gracias al Justicialismo, contamos hoy con esta solución, la caja TurboSight TBS5520SE.

La TBS-5520 SE es una caja sintonizadora universal externa de pequeñas dimensiones (no más que unos 12x9cm y 110 gramos). Dispone de una interfaz USB 2.0, y reúne dos tipos de receptores para servicios TV:
  • un sintonizador digital satelital (para norma DVB-S, DVB-S2 y DVB-S2X de televisión y radio digital), con una entrada coaxial nomenclada "LNB IN".
  • un sintonizador digital terrestre con entrada coaxial F, compatible con telecable digital DVB-C y C2) y Televisión Digital por Aire (TDA) en las normas ISDB-T (usada en Latinoamérica y Japón), y DVB-T y DVB-T2 (usadas en Europa principalmente).

El dispositivo tiene la capacidad de permitirnos escoger qué tipo de norma y uso queremos darle, y enviar los datos de TV digital directamente para verlos en la computadora, o crear un servidor de Streaming a través de un programa incorporado en la caja, y que se sirve de nuestro propio navegador web para configurarlo.
En nuestro caso, se trata de una caja ideal para actuar como suplemento para una computadora portátil o de escritorio, ya que nos permite en un único dispositivo recibir televisión digital satelital y televisión digital terrestre (por antena o telecable), en alta definición (HD), y retransmitirlo a través de la red.

Es soportada por las versiones más modernas del sistema operativo GNU con Linux, tanto de 32 como de 64 bits. Por ello, la caja soporta varios programas como VLC, y todos aquellos compatibles en Linux, como MythTV, o Kodi.

Se puede grabar o mirar un canal. También se puede grabar fácilmente TV en vivo, o programar la grabación mediante un clic. Es ideal para un Mediacenter y funciona con Ubuntu 18.04LTS.

Podremos encontrar la Guía de Usuario (en inglés) aquí.


Compilar el controlador de la TBS-5520SE en Ubuntu

Lamentablemente, la caja TBS-5520 SE no funciona en Ubuntu 18.04LTS de forma automática. Para que sea compatible con el kernel del sistema operativo, debemos compilar e instalar manualmente el módulo controlador y su firmware.

Esto puede parecer difícil pero no lo es tanto. En primer lugar abro una terminal con Ctrl+Alt+T. Se abrirá la terminal de Ubuntu. y luego le pego el siguiente bloque de comando:

sudo apt update

Tras presionar la tecla Enter, el sistema nos solicitará nuestra contraseña, y tras ingresarla a ciegas y presionar Enter, se actualizará la lista de paquetería.

Acto seguido, copiamos el siguiente bloque de comandos de organización y los pegamos en la terminal (seguidos de Enter).


sudo apt install git libproc-processtable-perl patchutils gcc dvblast dvb-apps kaffeine ;
mkdir ~/.tbsdriver/ ;
cd ~/.tbsdriver ;

wget https://github.com/LibreELEC/dvb-firmware/blob/master/firmware/dvb-fe-mxl5xx.fw ;
sudo mv dvb-fe-mxl5xx.fw /lib/firmware/ ;
git clone https://github.com/tbsdtv/media_build.git ;

git clone --depth=1 https://github.com/tbsdtv/linux_media.git -b latest ./media ; 
cd media_build ;
make dir DIR=../media ;
make allyesconfig ;
make -j4 ;
sudo make install ;


A continuación, instalamos los archivos de firmware oficiales. Para ello copiamos y pegamos el siguiente bloque de comandos:

cd ~/.tbsdriver/
wget http://www.tbsdtv.com/download/document/linux/tbs-tuner-firmwares_v1.0.tar.bz2 ; 
sudo tar jxvf tbs-tuner-firmwares_v1.0.tar.bz2 -C /lib/firmware/ ;


Cuando todos estos procedimientos terminen (dejarán de aparecer datos en la pantalla), podremos ingresar el siguiente comando para reinciar el equipo:

sudo reboot

Luego de volver a iniciarse el sistema operativo Ubuntu, nuestra computadora debería poder detectar ahora la caja sintonizadora. Para comprobarlo vía software podremos conectar la caja a un puerto USB, abrir una terminal con Ctrl+Alt+T e ingresar:

dmesg | grep frontend

...y el sistema debería devolvernos algo como:


[   25.594253] usb 3-1: DVB: registering adapter 0 frontend 0 (TurboSight TBS5520SE DVB-T/T2/C/C2/ISDB-T)...
[   25.594259] usb 3-1: DVB: registering adapter 0 frontend 1 (TurboSight TBS5520SE DVB-T/T2/C/C2/ISDB-T)...
[   25.594267] usb 3-1: DVB: registering adapter 0 frontend 2 (TurboSight TBS5520SE DVB-T/T2/C/C2/ISDB-T)...
[   25.594270] usb 3-1: DVB: registering adapter 0 frontend 3 (TurboSight TBS5520SE DVB-T/T2/C/C2/ISDB-T)...



Con esto ya la sintonizadora funcionará. Ahora podremos utilizar nuestro programa favorito para sintonizar, por ejemplo Kaffeine.

Nota: Lamentablemente, si se actualiza automáticamente o manualmente el núcleo de nuestro sistema operativo, tendremos que volver a recompilar y reinstalar este módulo controlador para que la caja TBS-5520 SE continúe funcionando. Esto podría suceder cada dos o tres meses si tenemos las Actualizaciones Automáticas de Ubuntu activadas. Sin embargo, es fácil de hacer, simplemente debemos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes comandos de organización:

cd ~/.tbsdriver/media ; 
git remote update ;
git pull ;
cd ~/.tbsdriver/media_build ;
git remote update ;
git pull ; make ;
sudo make install ;
sudo reboot ;

Tengamos a mano estos comandos para poder ejecutarlos cuando los necesitemos...

Usar Kaffeine para sintonizar con la caja TBS5520SE en Ubuntu

Pues bien, con Kaffeine podremos sintonizar la TV digital Satelital o Terrestre sin muchos problemas.

Para abrir Kaffeine vamos a Aplicaciones / Sonido y Video / Kaffeine.

Luego vamos al menú Televisión / Configurar Televisión y bajamos la listas de transpondedores satelitales haciendo clic en el botón "Actualización de Datos de exploración mediante internet"

A continuación podremos asignar satélite al sintonizador. Para ello escogemos la solapa Dispositivo1 (que sería el sintonizador satelital), y luego mediante el campo Origen seleccionamos el satélite que querramos (por ejemplo el AMC6 72W / ArSat1, Arsat2, HispaSat 30W, etc.
Luego seleccionamos el Television / Canales y en el cuadro que aparezca presionamos el botón Iniciar Exploración.
Kaffeine comenzará a explorar en busca de los Mux satelitales correspondientes.
Tras detectar los servicios satelitales, debemos seleccionar los que querramos (idealmente todos ellos) y presionar el botón Añadir Seleccionado, y luego presionar Aceptar. Ahora podremos escoger la función "Ver TV" de Kaffeine para ver los canales que anhelamos.

Para sintonizar los canales de la TV digital Terrestre, escogemos en sintonizador Dispositivo 2 (el sintonizador que representa la TV digital).
Al seleccionar los Canales, los escaneamos de la misma manera que a los satelitales, presionando el botón Iniciar la Exploración , y los agregamos a la lista.

Kaffeine nos permitirá contar con una EPG o guía de programación electrónica, con detalle de los programas y horarios dentro del Mux.




Usar DVBlast y tvheadend para hacer streaming con la caja TBS5520SE en Ubuntu
Para escoger el sintonizador desde la terminal, debemos usar el programa dvblast. Nos aseguramos de conectar los cables de señal a la caja y conectamos la caja a un puerto USB del sistema mediante su cable USB2.

Abrimos una terminal e ingresamos:

Para trabar la señal S, necesitamos hacer lo siguiente:


cd /dev/dvb/adapter0
sudo ln -s demux0 demux1
sudo ln -s dvr0 dvr1
sudo ln -s net0 net1

  • para buscar canales en la norma de TV satelital DVB-S:
sudo dvblast -f 10988000 -s 41250000 -v 13 -a 0 -n 1
  • Para buscar canales de TV en la norma satelital DVB-S2.
sudo dvblast -f 12660000 -s 45000000 -v 13 -m psk_8 -a 0 -n 1
  • Para buscar canales de TV digital terrestre en la norma ISDB-T.
 sudo dvblast -f 474000000 -b 6 -a 0 -5 ISDBT
  • Para buscar canales de TV digital terrestre en la norma europea DVB-T:
sudo dvblast -f 474000000 -b 8 -a 0
  • Para buscar canales de TV digital terrestre en la norma europea DVB-T2:
sudo dvblast -f 474000000 -b 8 -a 0 -5 dvbt2
  • Para buscar canales de TV por cable digital en la norma DVB-C:
sudo dvblast -f 474000000 -s 6900000 -a 0 -5 dvbc_annex_a

Ahora ejecutaremos el programa tvheadend en la terminal, a fin de poder configurar los distintos Muxes con:

tvheadend -C

Esto iniciará un servidor controlado a través de la web. Normalmente deberíamos saber nuestra dirección IP, pero si no la sabemos

Para controlarlo podremos iniciar un navegador, y en la barra de URL podremos agregar la IP de nuestra PC, y apuntar al puerto 9981. Por ejemplo:

localhost:9981 

...o en este ejemplo:

192.168.8.61:9981

(Si no sabemos nuestra dirección IP local podremos usar el comando ifconfig y ver el número indicado en el apartado inet).

Una vez hecho esto, nos aparecerá la Interfaz Web de Usuario TVheadend, que nos sirve para configurar los sintonizadores de la Caja a fin de lograr sintonizar los distintos servicios satelitales o terrestres. A su vez, nos servirá para retransmitir la TV digital a través de la red, lo cual nos permitirá verla localmente o a través de una red LAN.

La pantalla se nos presentará de la siguiente forma:


Para crear una streaming en red con la señal satelital DVB-S y terrestre ISDB-T, hacemos click en Networks, y presionamos el botón Add ("agregar"), para finalmente establecer los parámetros de ese tipo de red.




Por ejemplo, debemos establecer un nombre de red, y una posición orbital de acuerdo al satélite. Luego presionamos Create (crear). En el ejemplo se agrega un EuroSat, pero bien podremos emplear el satelite ArSat2, el Amazonas, etc.



Luego debemos especificar el o los transpondedores del satélite. Para ello hacemos clic en Muxes ("transpondedores") y programamos los datos técnicos del transpondedor del satélite. Estos normalmente se encuentran en webs de la FTA o del mismo satélite. Cuando terminamos de introducir los datos del transpondedor, presionamos el botón Save ("guardar").



Para configurar una señal ISBD-T debemos presionar el botón TV Adapters y buscar el adaptador "TurboSight TBS 5520 SE DVB-T/T2/C/C2/ISDB-T #1". y lo activamos tildando la opción Enabled. En el apartado de Satellite Config elegimos "Advanced, (non-universal LNB, Rotors)".

Luego desplegamos sus sintonizadores que contiene y buscamos el llamado "TurboSight TBS 5520 SE DVB-T/T2/C/C2/ISDB-T ISDB-T #0" y tildar la función Enabled ("activado") y Over the Air EPG ("guia electrónica de programas"). Finalmente presionamos el botón Save ("guardar").







En las opciones avanzadas indicamos posición orbital 1 y la guardamos con Save.



Ahora seleccionamos la Position #1, e indicamos los datos provistos por el canal satelital (normalmente están provistos en la web de los mismos) y los grabamos presionando Save.



Una vez configurado ambos sintonizadores, debemos presionar en Networks, y luego presionar el botón Force Scan para buscar los canales. La sintonizadora buscará los canales usando los datos provistos para el satélite y la TDA, y en la medida que encuentre servicios nos los irá mostrando.
Si hacemos clic en Services ("Servicios de TV"), podremos comenzar a hacer streaming con el botón Map Services ("Mapear Servicios"). Tildamos los canales que queremos retransmitir a la red. Podremos sintonizar un Mux a través de los sintonizadores satelitales (ya sea DVB-S o DVB-S2), y un Mux a través del sintonizador digital (en nuestro caso ISDB-T, ya que en el país no se recibe la norma europea DVB-T ni DVB-T2).


Finalmente podremos acceder a los servicios tanto localmente como en nuestra red. A diferencia de lo anterior, el resto es muy simple.

Para ello podremos servirnos del excelente cliente que es el reproductor VLC. Lo ejecutamos desde Aplicaciones / Sonido y Video / VLC.

Para abrir la reproducción, podremos presionar Ctrl+O (Abrir localización de Red"). Podremos completar con la dirección IP de la computadora que sirva el sistema. Y si el sistema es el nuestro propio, bien podríamos usar localhost:9981/playlist.

 Mediante Ctrl+L podremos activar la Lista de Reproducción con todos los servicios (canales) del sintonizador que hayamos asignado.




Si queremos, podríamos grabar el contenido presionando el botón rojo de "Grabar". Normalmente el fichero se irá almacenando en nuestra carpeta /Descargas, y lo hará hasta que volvamos a presionar el botón Grabar para detener la grabación, o bien directamente cerremos el reproductor VLC. El arfchivo recibirá la  extensión TS (Transport Stream), pero podemos convertirlo a MP4 simplemente renombrándolo y cambiándole extensión a mp4, ya que VLC podrá reproducirlo sin problemas.


Configurar Televisión digital Terrestre (TDA) con la caja TBS-5520 SE en Ubuntu

Si el lugar de hacer uso de la funcionalidad de streaming en red y queremos ver la TV digital terrestre de manera local, podemos proceder como en cualquier otro dispositivo sintonizador de TDA en Ubuntu.

Simplemente descargamos las aplicaciones para TV digital con:

sudo apt update
sudo apt install dvb-apps


Una vez hecho esto, creamos una lista con las frecuencias de los canales de la TDA. Para ello ingresamos:


nano ~/.frec_canales_tda.conf

Se abrirá el editor de texto GNU Nano con un archivo vacío. Simplemente le pegamos el siguiente contenido:

# Canales UHF del 14 to 69 en el sistema argentino de televisión digital terrestre SATVD-T, TDA
T 473142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 14
T 479142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 15
T 485142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 16
T 491142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 17
T 497142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 18
T 503142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 19
T 509142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 20
T 515142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 21
T 521142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 22
T 527142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 23
T 533142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 24
T 539142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 25
T 545142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 26
T 551142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 27
T 557142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 28
T 563142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 29
T 569142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 30
T 575142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 31
T 581142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 32
T 587142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 33
T 593142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 34
T 599142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 35
T 605142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 36
# canal 37 no se usa
T 617142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 38
T 623142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 39
T 629142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 40
T 635142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 41
T 641142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 42
T 647142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 43
T 653142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 44
T 659142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 45
T 665142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 46
T 671142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 47
T 677142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 48
T 683142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 49
T 689142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 50
T 695142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 51
T 701142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 52
T 707142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 53
T 713142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 54
T 719142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 55
T 725142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 56
T 731142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 57
T 737142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 58
T 743142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 59
T 749142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 60
T 755142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 61
T 761142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 62
T 767142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 63
T 773142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 64
T 779142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 65
T 785142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 66
T 791142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 67
T 797142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 68
T 803142857 6MHz 3/4 AUTO AUTO AUTO AUTO NONE # canal 69


...y guardamos con Ctrl+o y salimos del editor con Ctrl+q.

Si no lo hicimos ya, conectamos una antena UHF externa a la entrada RF In de la caja, y escaneamos los canales de la TDA con:

scan .frec_canales_tda > .canalestdaencontrados.conf

La caja escaneará el espacio radioeléctrico y almacenará los canales encontrados en el archivo correspondiente.

De ahora en adelante, para ver la TV digital terrestre con los canales encontrados podremos usar el VLC con:

vlc .canalestdaencontrados.conf

O bien podremos crear un lanzador para dicho comando, a fin de tener un ícono a mano y no tener que tipear esto, que naturalmente nos da cansancio.

También podremos utilizar MeTV u otros programas. El sintonizador de TV digital terrestre normalmente recibe el dispositivo /dev/dvb/adapter0/

El soporte de la tarjeta TBS lo podremos lograr (en inglés) a través de correo electrónico en support@tbsdtv.com

jueves, 8 de diciembre de 2016

¿Cómo instalo el firmware libre Magic Lantern en mi cámara réflex Canon?

Bajo el oficio de la Secretaría del Trabajo y Previsión, Juan Perón estableció los lineamientos de defensa del Trabajo, y marcó a fuego la conducta que tendrian para sí los Trabajadores de la Nación. También enseñó cómo instalar el firmware libre y potenciado Magic Lantern en las cámaras digitales Canon compatibles desde nuestro sistema operativo GNU con Linux.


(...)
El Capital, bajo nuestra concepción, no puede tener otro destino que ser combatido activamente por los hombres que trabajan. Si esta premisa no es convertida en realidad efectiva por los trabajadores, nos veremos meramente asociados a él, pero sólo en una figura asimilada en una condición inferior: seremos simples consumidores.

Vean señores, sabemos que el Capital - en vistas de maximizar las ganancias de la clase oligárquica - usará toda posibilidad para dominar quien ha sido asimilado, y sea ahora un mero usuario o consumidor. Ejemplo de ello sobran, incluso en el mundo del Software. Sólo traeremos uno, pues un ejemplo suele aclararlo todo, como decía Napoleón.
El fabricante de reconocidas cámaras fotográficas Canon, dispone de varias líneas de equipos, segmentadas ellas según el poder adquisitivo de sus destinatarios. Las dividen - además de ciertas características técnicas reservadas al hardware de toma - por discriminaciones en el programa interno suplido en la cámara en cuestión. Dicha segmentación de potencia es - a diferencia de lo que los inocentes podrán preveer - meramente cosmética: el firmware está limitado adrede, a fin de que sólo los equipos de la gama más alta en la marca consten de todas las funcionalidades operativas que la Masa anhela.

Estas decisiones de diseño y de "poda" de funcionalidades están estratégicamente analizadas en la envisionada relación costo/beneficio que el fabricante pretende para sus equipos. ¿Por qué? Porque el software que emplean para manejar el equipo es privativo, es una herramienta de dominio y control, y el usuario no puede hacer otra cosa mas que usarlo.

El Justicialismo ha propugnado un rol diferente al hombre que trabaja: el de ser un verdadero operador del software. Esto significa que no será un ente de consumo, sino que transmutará en un gigantesco vector libertador, de apropiación y uso del conocimiento en acción. Su arremetida de rebeldía inusitada y de socialización del conocimiento, lo convierten en un apóstol del software libre.

Es esta el ancla fundamental que lo proclama un Ser del Pueblo, y le permite engendrar para sí un práctico software de control (firmware) libre, que soslaya las crueles limitaciones que propone un Capital sin Patria ni Bandera.

Gracias a esta ingeniería inversa Justicialista se logra entonces Magic Lantern, tal firmware libre y abierto se haya pensado para correr en las cámaras Canon, y extender sus funcionalidades, especialmente aquellas características intrínsecas pero que adrede son limitadas por la compañía. Gracias a él, la Masa contará con equipos potenciados y liberados de un yugo tan artificial como dañino. Como tal capaz de capacidades mejoradas. Opera en cámaras Canon EOS de las series 5D Mark II, 5D Mark III, 6D, 7D, 50D, 60D, EOS Digital Rebel 500D/T1i, 550D/T2i, 600D/T3i, 650D/T4i, 700D/T5i, 1100D/T3, y EOS M.

Entre las potentes funciones agregadas encontramos la capacidad en video de monitorear la entrada de audio con audífonos, activar un programa filtro de viento/soplidos, seleccionar la fuente de retorno de audio, ver niveles de audio en tiempo real, usar control fino de la compresión H.264 y los cuadros por segundos, grabar video de alto rango dinámico (HDR), y hacer corrección de lentes y viñeteado en la grabación.

Para la visualización LiveView ahora podremos hacer uso de la visualización de "gráfica cebra" para la sobreexposición, en tiempo real, resalte de enfoque, lupa de enfoque durante el enfoque manual, ver marcas de referencia para corte 16:9, así como superponer una imagen fantasma de referencia durante la filmación, visualizar un exposimetro puntual durante la filmación, activar falseo de color temporal durante el control de exposición, visualizar histograma RGB durante la filmación en RAW, y osciloscopio para entonador de chroma verde, así como el vectorscopio para mejor definición en pantalla de los tonos cromáticos.

Desde el punto de vista fotográfico, podremos ajustar los valores kelvin de la temperatura cromática, trabar la exposición en modo Manual, exponer automáticamente luces (ETTR), conmutar entre dos tríadas de combinación manuales, activar/desactivar la simulación de exposición durante el LiveView. Asimismo podremos lograr modos de tiro con horquillados de balance de blancos, flash compensado, o profundidad de campo, programar un intervalómetro desde la cámara, configurar tiempos del modo Bulbo, contar con rutinas de detección de movimiento, y grabar etiquetas de voz para las fotos.

Magic Lantern - Guía de Instalación

Antes de instalar Magic Lantern, se necesita:
  • Saber cómo usar una computadora y su sistema operativo GNU (cómo descargar un archivo, descomprimirlo, navegar en la web y leer un foro…)
  • Saber usar su cámara Canon si el firmware Magic Lantern. Cuando esté habituado al firmware oficial Canon firmware, considere instalar Magic Lantern.

Muy Importante

  • Nunca borre "a mano" los archivos de Magic Lantern de la tarjeta de memoria! En lugar de ello, el procedimiento correcto consiste directamente en formatear la tarjeta.
  • Después de abrir la tapa de la tarjeta de memoria, siempre espere la confirmación de la luz LED (o aguarde 5 segundos) antes de remover la tarjeta, incluso si su cámara está apagada!!!

Inmediatamente luego de abrir la tapa de la tarjeta de memoria, el firmware Canon accede a la tarjeta sin encender la LED (¡si, incluso con el equipo apagado en OFF!). Si removemos la tarjeta rápidamente, la cámara será gorila y se colgará y agotará la batería, e incluso incluso puede causarse daño permanente a la misma! Usted está ejecutando código especial, y no se puede hacer nada sin reflashear el firmware Canon con su propio código. ¡No sea mongo!

Obtener la versión correcta del firmware

  • Nos dirigimos a http://builds.magiclantern.fm/ y descargamos el archivo comprimido en formato ZIP de Magic Lantern que corresponda específicamente a nuestro modelo de cámara.
  • Nos aseguramos de estar ejecutando la versión correcta de firmware oficial Canon especificada en la página de descarga. Dicho menester puede hacerse poniendo el Dial de Modos de la cámara en el modo Manual (M) y buscando la opción de firmware en el menú Canon.
  • No sucederá nada malo si intentamos ejecutar Magic Lantern en una versión diferente de firmware. En dicho caso la luz LED de la tarjeta parpadeará y deberá quitar la batería. Magic Lantern revisará la versión del firmware de su Canon antes de intentar darse arranque.

Primera guía de Instalación

Paso 1. Preparar la cámara

  • Usamos una batería completamente cargada, idealmente la original.
  • Removemos cualquier accesorio de la cámara.
  • Nos aseguramos de contar con un lector de tarjetas adecuado para su sistema GNU con Linux.
  • Revisamos la versión de su firmware original Canon.
  • Ponemos el dial de modos en la posición Manual ("M") .
  • Recomendado: restaurar los valores de fábrica de la cámara.

Paso 2. Instalación

  • Formateamos la tarjeta en la cámara (formato de bajo nivel) para dejarla vacía y "pelada", con el nombre EOS_DIGITAL. (Eso lo hace automáticamente el proceso de formateado desde la cámara).
  • Descomprimimos todos los archivos del fichero ZIP de Magic Lantern y usando el lector de tarjetas, los copiamos al directorio raíz de la tarjeta de memoria (incluyendo los archivos autoexec.bin y ML-SETUP.FIR.
    Os indicaré cómo hacer esto desde la Terminal. Suponiendo que ya hemos descargado el archivo ZIP a nuestra carpeta Descargas, abrimos una consola con Ctrl+Alt+T e indicamos los siguientes comandos de organización (naturalmente reemplazando el nombre del archivo ZIP y nuestro usuario por los que nos correspondan específicamente):

    cd ~/Descargas/ ;
    unzip magiclantern-Nightly.2016Dec03.550D109.zip ;

    mv autoexec.bin /media/usuario/EOS_DIGITAL/ ;
    mv ML-SETUP.FIR /media/usuario/EOS_DIGITAL/ ;

    mv ~/Descargas/ML/ /media/usuario/EOS_DIGITAL/ ;

  • Comenzamos el proceso de Actualización de Firmware.
    • Si la luz LED de la tarjeta parpadea más de unos pocos segundos, actualice su firmware Canon desde los enlaces indicados arriba (incluso si ya tiene el número de versión correcto!) y pruebe nuevamente.
  • Una vez que veamos la pantalla de confirmación verde, reiniciamos nuestra Canon y estará listo.
  • Si algo sale mal, revisamos abajo la sección Resolución de Problemas.

Paso 3. Primer inicio de Magic Lantern

  • Vamos al menú Canon y restauramos nuestras preferencias. No olvidamos ingresar las siguientes:
    • En las Canon 550D/60D/600D, activamos Exposición de video Manual.
    • En las Canon 5D Mark II y 50D, activamos Grabación LiveView.
    • También puedemos querer reinstalar nuestros Picture Styles personalizados.
  • Durante el modo LiveView, si activamos el botón INFO/DISP veremos en un momento los niveles de audio (vúmetros) Magic Lantern y la barra inferior.
  • Presionamos el botón DELETE para abrir el menú Magic Lantern, y LEA EL TEXTO DE AYUDA que aparece.
  • Lea la Guía de Usuario y comience e a usar Magic Lantern.
  • No olvide ESPERAR la confirmación de la luz LED de la tarjeta antes de remover la tarjeta! (a no ser que use una Canon 550D).

Instalar Magic Lantern en otras tarjetas

  • Simplemente repetimos el Paso 2 en todas las tarjetas en las que quisiéramos contar con Magic Lantern.
  • Si preferimos evitar el paso de actualización de firmware y preparar nuestras tarjetas desde un sistema GNU con Linux, podemos copiar los archivos en su tarjeta y hacerla arrancable con la utilidad especial make_bootable.sh, capaz de correr bajo la línea de comandos de GNU Linux.

    Podremos descargarlo con:

    wget https://bitbucket.org/hudson/magic-lantern/raw/3781fb5997a82c230ff9faef5d9b014cc09910e8/contrib/make-bootable/make_bootable.sh

    chmod +x make_bootable.sh

    Luego removemos todos los medios del sistema (por ejemplo, desmontamos cualquier disco rígido externo que pudiésemos tener) e insertamos solamente la tarjeta de memoria EOS_DIGITAL en el lector de tarjetas, y ejecutamos el programa con:

    ./make_bootable.sh 

    También podremos utilizar aplicaciones gráficas para otros sistemas operativos esclavos, como los privativos Window$ (con EOScard) o MacO$ (con MacBoot)

Actualizando Magic Lantern

  • Simplemente borre los archivos antiguos de Magic Lantern de la tarjeta y copie los nuevos.
  • Puede mantener sus archivos de configuración (el directorio ML/SETTINGS de la tarjeta).

Desinstalar Magic Lantern

No sólo borre los archivos de Magic Lantern de la tarjeta! Si lo hace, la cámara se colgará al inicio y deberá remover la batería para volver a poderla iniciar.

Desinstalar Magic Lantern de una tarjeta

  • Formatee esa tarjeta de la cámara (seleccione esta opción en la cámara: Formatear Tarjeta, Remover Magic Lantern. Luego reinicie la cámara. La cámara cargará el firmware original cuando use dicha tarjeta.

Desinstalar ML desde la cámara

  • Con una tarjeta con Magic Lantern instalado, de inicio al proceso de Actualización de Firmware y siga las instrucciones de la pantalla.
  • Reinstale el firmware Canon y no remueva Magic Lantern.

Resolución de Problemas

  • Si la luz LED de la tarjeta parpadea continuamente luego de Actualizar el Firmware, significa que usted no tiene la versión correcta del Firmware Canon o la sub-versión adecuada. Para corregirlo, instale la actualización oficial de Canon desde los enlaces localizados en la página de descargas de ML, incluso si ya tiene el número de versión correcto (podría tener un número diferente de sub versión).
  • Si la pantalla no se enciende, pero el autofoco funciona, remueva la batería y formatee la tarjeta. Esto pasa cuando la tarjeta es arrancable, pero no existe un archivo autoexec.bin en ella.
  • Revise que todas las tapas estén cerradas. La cámara no arrancará si alguna de las tapas de tarjeta o batería están abiertas!
  • Si la cámara no inicia (parece muerta), remueva la batería y la tarjeta. Luego ponga la batería e intente arrancar la cámara sin tarjeta. Luego coloque una tarjeta formateada en la cámara e intente iniciarla sin Magic Lantern. Luego de que esté seguro que la cámara funciona correctamente, intente ver que sucedió con Magic Lantern.
  • Si la cámara le pide una actualización de firmware, ponga el firmware Canon en la tarjeta (este era un problema con las versiones más antiguas).
  • NO use una tarjeta arrancable sin un archivo autoexec.bin funcional en ella! Si hace así, remueva la batería inmediatamente, apagar la cámara no es suficiente!!!

Notas importantes

  • Luego de abrir la tapa de la tarjeta de memoria, siempre aguarda que la luz LED de confirmación se apague (o espere 5 segundos) antes de remover la tarjeta.
  • Las tarjetas EyeFi podrían no funcionar; debe usar tarjetas comunes de tipo Secure Digital SD / Secure Digital High Capacity SDHC / Secure Digital Extended Capacity SDXC / Compact Flash CF.
  • Si usted tiene una tarjeta arrancable y tiene el indicadar BOOTDISK activado en la cámara (lo cual es activado por el instalador) y usted no tiene un archivo AUTOEXEC.BIN presente en la tarjeta, la cñamara NO ARRANCARÁ! Quedará colgada, comenzará a calentar, y no despertará hasta que no remueva la batería.
  • Si encuentra una cámara "colgada", rápidamente remueva la batería para evitar que se recaliente. ¡No sea mongo!
  • Cuando esté en duda, remueva la batería y reinicie.
  • Y recuerde, este firmware no es oficial y puede dañar o destruir su cámara.

viernes, 16 de septiembre de 2016

¿Cómo configurar una impresora braille en Ubuntu?

Nuestro Movimiento tiene que estar preparado para llevar los beneficios sociales a todo el mundo, y ello incluye a personas con capacidades diferentes, pues en la lucha, todos sómos válidos.
No podríamos llamarnos Hombres si no hiciéramos todo para hacer más simple la vida a quienes algo les falta. Podremos entonces hacer que quienes no pueden mirar, puedan ver.

Hoy en día está simplificado por medio de la síntesis de voz, y el reconocimiento óptico de caracteres (OCR). Pero también es instrumental el uso y la enseñanza del Braille. Se trata de un código de escritura táctil, que por medio de puntos aplicados sobre papel puede ser leido al tacto. De esta manera personas no videntes pueden leer textos en formato papel. Las escuelas especiales se encargan de enseñar a los educandos no videntes el lenguaje Braille, y con ello se logra leer todo tipo de textos. Incluso se pueden aprender otros idiomas fácilmente.
Normalmente los textos Braille tienen el inconveniente de ser voluminosos, por la poca densidad de caracteres y por el grosor del papel, normalmente de una sola cara. Además, normalmente nunca existen en las cantidades necesarias.

Afortunadamente el Justicialismo donde ha visto una necesidad, ha otorgado una solución. Se encuentra en la forma de las impresoras Braille: equipo percutor matricial que, por medio de una tecnología informatizada similar a la de una impresora de matriz de puntos - puede percutir el papel en el código Braille.




En este caso os mostraré cómo emplear un equipo embrosser de factura sueca, la excelente Index Braille Everest D V4, en Ubuntu, el sistema operativo Justicialista. El programa Conectar Igualdad, por ejemplo, otorga este tipo de máquinas a las escuelas especiales para no videntes.



Se trata de un equipo con interfaces de conexión múltiple (tiene USB, Ethernet, o serial). Cuenta con un cabezal de 13 martillos / yunques, capaz de imprimir a 100 caracteres por segundo, tanto en faz simple como doble faz, y con una resolución de 50 puntos por pulgada. Esto permite una muy buena densidad Braille (estándar en literatura), la cual es cómoda para leer de una pasada con un dedo, sin errores. En este caso emplea bandeja de entrada A3/A4 con hojas de papel de 120 gramos, capaz de soportar el percudido sin deformarse por humedad, apilamiento, etc.

La conversión de texto a Braille la hace el equipo automáticamente a partir de los formatos digitales estándares .txt, .doc, .docx, .pdf, y .brf. Al percutir puede emplear Braille clásico de 6 puntos, pero también puede programarse para emplear el código nuevo de 8 puntos.

La impresora cuenta con botones de manejo, encendido y apagado, todos remarcados en Braille también. Se conecta a la red eléctrica por medio de una fuente suministrada de 48v, y se enciende con el botón ON y apaga con el OFF. La unidad cuenta con función de ahorro energético (consumo standby 0,05w/h)

Cargamos el papel por medio de las guías superiores (regulables en ancho) y la hoja impresa es expulsada por abajo. Todas las piezas son de gran tamaño y pueden usarse "al tacto".

Para utilizar la impresora Index braille Everest D V4 en Ubuntu (o cualquier sistema GNU con Linux), debemos contar con cuatro requerimientos:

- Contar con el firmware actualizado 1.5.4 en la percutora o instalarle una versión actualizada.

- Configurar la percutora adecuadamente según las necesidades de impresión.
- Conectar la percutora por medio de USB, o Ethernet.
- Instalar el controlador para Linux actualizado de la percutora en nuestro sistema.

Os instruiré sobre cómo lograr todas estas situaciones para poder lograr impresiones en Braille de muy elevada calidad.

Instalar el firmware actualizado en la percutora
El firmware es el programa de control interno de la percutora. En este caso se trata de un entorno excelente basado en Linux, que ha sido mejorado en varias ocasiones, y puede cargarse una versión nueva en la máquina.

La percutora debería incluir al menos el firmware versión 1.5.4, el cual podremos consultar presionando dos veces el botón Help de la máquina (función "ayuda"). Si así fuese, podemos omitir este paso de instalar el firmware actualizado; la máquina no tendrá problemas con Linux.


Si en lugar de ello la percutora estuviese provista de un firmware superior a 1.4.2 pero anterior al 1.5.4, podremos actualizarlo empleando la interfaz web de la percutora. Para ello descargarmos el firmware, conectando la máquina a un router por medio de un cable Ethernet, y desde un navegador web de una PC conectada al mismo router nos dirigimos a la IP de la percutora (la cual nos informará con HELP + 10, ej 192.168.1.150). Allí encontraremos el botón Update, y debemos indicarle el archivo de firmware 1.5.4 o superior (en formato .img) que habremos descargado de la web del fabricante. El proceso de actualización de firmware dura unos 5 o 10 minutos y el equipo se reiniciará solo y quedará actualizado).

Si la versión del firmware es una anterior a la 1.4.2 o no tenemos acceso alguno a la interfaz web, debemos instalar la versión empleando una tarjeta SD nueva. En el caso de Linux habremos de hacerlo manualmente. Os indicaré como hacerlo en beneficio de aquellos que no ven pero sienten al Justicialismo en su corazón.

Requeriremos una tarjeta SD vacía de al menos 4GB, y un lector de tarjetas SD (por ejemplo, uno USB).


Asimismo, nos conviene emplear el programa libre gparted. Para ello abrimos una terminal con Ctrl+Alt+T e instalamos dicho programa con los siguientes Comandos de Organización:

sudo apt update
sudo apt install gparted

A continuación descargaremos desde la web oficial el archivo comprimido que contiene el firmware de la versión 1.5.4, el cual pesa unos 244 MB. Lo haremos con el siguiente comando de organización:

wget http://embosser.indexbraille.com/fileshare/SD/images/factory/SD-factory_2014-09-22_1504.img.zip

...una vez finazalizada la descarga, descomprimimos el fichero zip que hemos recibido, con:

unzip SD-factory_2014-09-22_1504.img.zip

...y nos quedará el archivo descomprimido de imagen llamado SD-factory_2014-09-22_1504.img, el cual tendrá un peso de 4 GB. Debemos transferir dicha imagen a la tarjeta SD. Para ello colocamos la tarjeta en el lector USB, y lo conectamos a un puerto USB de nuestro sistema. Respaldamos cualquier dato que pudiese contener y eliminaremos las particiones con GParted.

Iniciamos gparted desde Sistema / Administración / GParted. El programa nos solicitará nuestra contraseña de conductor, y luego buscará automáticamente las unidades de almacenamiento de nuestro equipo. Cada sistema puede tener diferentes identificaciones de unidad referenciando a los discos rígidos, por tal motivo hemos de prestar atención. En el desplegable de la derecha debemos buscar en la lista de unidades a nuestra tarjeta SD; la identificaremos fácilmente porque tiene una capacidad de sólo 3,83 GB (o bien reportará el tamaño de la tarjeta que estemos utilizando). En nuestro caso dicha unidad está nomenclada como /dev/sdg, pero cada sistema puede utilizar otra identificación diferente (/dev/sdb, dev/sdc, dev/sdd, etc). Seleccionamos nuestro /dev/sdx y tomamos nota.

Cuando aparezca el contenido de la partición de la tarjeta SD y tras asegurarnos nuevamente que es la partición de 3,83GB (o el tamaño de la tarjeta SD que estemos usando), hacemos clic con botón derecho sobre dicha unidad e ingresamos "Desmontar". Se desmontará en un par de segundos. Luego en la barra de particiones seleccionamos la partición de 4GB (o el tamaño correspondiente, suele tener formato FAT32) y hacemos clic en el botón Eliminar. Para efectivizar la eliminación de la partición, debemos presionar el botón del "tilde Aplicar". Gparted nos solicitará confirmación:

Tras presionar nuevamente Aplicar, se eliminará definitivamente la partición de la tarjeta, y con ello su contenido y la posibilidad de usarla como unidad de almacenamiento (por el momento). Esto habrá dejado la tarjeta SD completamente vacía y lista para recibir los datos del firmware, que ya hemos descargado.

Finalmente para grabar el archivo SD-factory_2014-09-22_1504.img a la tarjeta SD nos conviene usar la terminal de comandos: le ingresaremos uno con la sintaxis:

sudo dd if=SD-factory_2014-09-22_1504.img of=/dev/sdg bs=1M conv=fsync

(naturalmente que cada uno de vosotros reemplazará la g de /dev/sdg con la letra que corresponda a la unidad, como bien nos ha indicado GParted).

Se irá copiando el fichero a la tarjeta (tardará en unos 5 o 10 minutos dependiendo de su velocidad. Durante este proceso si nuestro lector de tarjetas tiene una luz LED, podríamos vez que ésta parpadea/cambia de color. Al finalizar dejará de hacerlo y el sistema nos devolverá algo como:


3796+0 registros leídos
3796+0 registros escritos
3980394496 bytes (4,0 GB, 3,7 GiB) copied, 410,064 s, 9,7 MB/s


Si queremos confirmar la escritura correcta del firmware en la tarjeta SD, la sacamos del lector, la volvemos a colocar y volvemos a abrir el GParted. Ahora el contenido del dispositivo /dev/sdg debería aparecer de la siguiente forma:


Comprobado ello, podremos ahora colocar la tarjeta en la ranura especial que tiene la percutora en su parte trasera. Esta se encuentra "oculta" por la chapa cobertora de las interfases, la cual habremos de quitar (tiene dos taponcitos de goma que podemos quitar con un destornillador plano chico, con cuidado de no perderlos).

Una vez removida la chapa cobertora de las interfases, localizamos la ranura de tarjeta SD que se encuentra entre el puerto Ethernet y la salida de altavoz externo.

Reemplazamos la tarjeta con el firmware antiguo suministrado (conservémosla en un lugar seguro) y colocamos la nueva tarjeta SD. Si lo deseamos podremos volver a colocar la chapita cobertora de las interfases, restituyendo los dos taponcitos de goma.


Entre las mejoras, la máquina contará ahora con un menú hablado en castellano (además del inglés que viene de fábrica). Además y más importante, podremos usarla con Linux. Una vez que encendamos el equipo, ya podremos disfrutar el firmware 1.5.4 nuevo (lo comprobamos presionando dos veces el botón Help en la percutora.

Configurar la percutora por primera vez

Cambiar la máquina a voz en castellano:

Una vez que tengamos cargada la tarjeta SD con el firmware nuevo podremos pasar la máquina a castellano. La Everest D cuenta con un parlante interno que reproduce los comandos, pero normalmente está en inglés. Ahora podremos elegir el castellano entre mas de 100 idiomas. También podremos conectar un altavoz amplificado (o auriculares) a la salida de audífonos para mayor comodidad de quien la use. Para pasarla a castellano:
  1. Presionamos el botón Menú el panel de control de la máquina. La percutora dirá a través del parlante: "Current Document".
  2. Presionamos el botón flecha abajo hasta que escuche decir: "Option"
  3. Presionamos OK, dice: " Speech feedback"
  4. Presionamos OK de nuevo, dirá: "Speech feedback volume, current value is 53"
  5. Presionamos flecha ABAJO hasta que diga: "Speech feedback language, current value is British English"
  6. Presione OK, dirá: "Set speech feedback language, current value is British English"
  7. Presione la flecha ABAJO, la máquina irá nombrando los distintos idiomas en orden alfabético (son mas de cien). Hemos de presionamos flecha abajo hasta que diga "Español". Si nos pasamos podemos presionar flecha ARRIBA.
  8. Presionamos OK, la máquina dirá que el idioma actual es español: "Idioma de la voz de retroalimentación, valor actual es Español"
  9. Ahora apretamos Menú para grabar los cambios de las opciones de voz, la percutora dirá: "Menú, cambios guardados".

Configuración Liblouis: traducción Braille y grado Esta funcionalidad permite configurar cómo el equipo traduce de texto a Braille, y que transliteración deseamos emplear. Las transliteraciones conllevan diferente calidades de Braille por medio de distintas tablas de traducción. Básicamente tenemos grado 0, Braille informático (sin prefijos ni contracciones), grado 1: Braille literario (hermoso Braille, detallado con ciertos prefijos de estilo y con prefijo de mayúsculas) y grado 2, Braille resumido.

Para modificarlo tenemos que ajustarlo en la impresora, vamos a Menú / Opciones Braille / Flecha ARRIBA hasta llegar a Opciones Liblouis y presionamos OK (la máquina informará el idioma Liblouis y el grado actual). Presionamos OK nuevamente y elegiremos el lenguaje de traducción Braille. Presionamos OK, y configuraremos el idioma del Braille. Dirá "Configurar tabla Liblouis, valor actual "inglés"). Comenzamos por elegir "español" usando Flecha ARRIBA/ABAJO, de la misma forma que lo hicimos antes. Lo elegimos presionando OK. Para guardar las opciones, presionamos Menú.

La percutora estará entonces perfectamente preparada para traducir cualquier texto en castellano ingresado (en .txt, .pdf, .doc, .docx) al grado de Braille elegido. Ahora debemos preparar nuestro Linux.


Instalar el controlador para Linux:

Para poder imprimir desde la máquina con Linux tanto en red como local, debemos instalar a todos los equipos clientes el controlador para Linux correspondiente a la arquitectura del sistema. En el caso de Ubuntu es muy sencillo pues los controladores se encuentran en los repositorios oficiales. Abro una terminal e ingreso el siguiente comando:

sudo apt install printer-driver-indexbraille

Los controladores se descargarán e instalarán solos. Si no, puedo descargar el controlador e instalarlo manualmente desde la web del fabricante. Para ello debo registrarme y descargar el controlador para linux de 64 bits o para linux de 32 bits.

Contectar la impresora Braille

Con la máquina apagada, simplemente conectamos el cable USB al puerto USB del equipo y lo dejamos conectado. No hace falta desenchufarla. Al encenderla, la impresora será reconocida automáticamente y configurada.

Si quisiéramos conectarla a través de red para compartir la impresora Braille entre múltiples equipos, la conectamos a través del cable Ethernet a un router.
En dicho caso la configuración es como la de cualquier impresora en red bajo Linux. El administrador de red puede querer conocer que presionando HELP+10 la percutora informará la dirección IP dinámica utilizada (conviene asignarle una IP fija desde el router en lo posible).

En cualquiera de los dos casos anteriores para emplear la impresora Braille, debemos ir a Sistema / Administración / Impresoras y nos asegurarnos de escoger Index Braille V5/V4 embosser como "impresora predeterminada".

Llegado el caso podremos instalarla a un equipo sumamente antiguo por medio de un controlador serial tipo Centronics. Esto permite conectarla a ciertas máquinas Braille de factura antigua y de interfaz serial normalizada, PCs antiguas, máquinas herramienta, teletipos, e incluso terminales linux, pero no explicaré este procedimiento arcaico por no tener dicha necesidad.

Configurar opciones de impresión braille en Linux:

Desde Sistema / Administración / Impresora podremos controlar nuestra percutora Index Braille V5/V3 embosser. Si hacemos clic con botón derecho sobre su ícono, podremos ingresar a las Propiedades de Impresión, como en cualquier impresora en Linux. Normalmente esto se cambia sólo si queremos alguna opción particular en el documento. Si no, lo dejamos como está.

Dentro de las opciones que permite el equipo percutor podremos controlar los aspectos funcionales de percusión. Podremos ajustar el tamaño de Papel entre folio A3, hoja A4 y otros. Entre las Opciones de Braille, podremos encontrar: Formato Duplex (una cara o doble faz, margen de encuadernado/anillado, etc. Distancia entrelínea (simple o doble espacio). El ahorro de papel en doble faz y espacio simple es notable.

Dentro de Ajuste Braille básicamente podremos reducir los caracteres por líneas para tener una impresión aún más comprimida (puede servir para lectores avezados), y reducir las líneas por página para dar márgenes superiores (tipicamente 2 líneas de márgen). Esto otorga menor espacio pero una impresión de calidad muy agradable para el lector no vidente.

Imprimir un texto en braille

Abrimos el documento en su aplicación libre favorita, y empleamos la ventana de diálogo normal de impresión. Nos aseguramos de seleccionar la impresora Index Braille V5/V4 embosser, y presionamos Imprimir. El controlador está evaluado con lpr (el demonio de impresión clásico de Linux) así como Okular y kWrite.
Se pueden imprimir todo tipo de texto desde un navegador de internet, pero conviene copiar un texto al portapapeles y pegarlo en Writer como "Texto sin formato". Para gran facilidad del no vidente, se puede emplear para tal cometido un plugin de firefox.


Al imprimir en buena densidad y doble faz, el tamaño de los volúmenes impresos y el costo de los mismos baja mucho, amén de ser mas cómodos para el lector. Al tener la misma posibilidad de una impresora, podemos traducir a Braille cualquier tipo de textos. La operación de la Everest es silenciosa, y para hacer un volúmen de una monografia completa de 90 hojas en Braille doble faz tardó 43 minutos.

viernes, 7 de agosto de 2015

¿Como puedo programar un botón de mi router con OpenWRT?

En la necesidad de modernizar diferentes industrias del país, Juan Perón invitó a un número de personalidades de la técnica, que estableciendo vínculos con la Argentina, pudieron mejorar los prospectos de la industria. De entre las enseñanzas, guardamos aquella de cómo programar los botones de nuestro router a través del firmware OpenWRT para darle nuevos usos.

(...)
Muchas veces me preguntaron porqué traje a los hombres de ciencia de un país derrotado a nuestro Vergel de Paz. Pero la respuesta era simple: los científicos Alemanes nos enseñaron los rudimentos de ciencia en la que nuestros hombres atrasaban, y nos permitieron afianzar la industria del país en un camino de grandeza como lo han tenido las Grandes Naciones del Tierra.


Todo lo que hemos aprendido ha sido bueno, y de lo que no hemos sacado rédito instantáneo, lo hemos hecho al tiempo. Así es como ha de lograrse un verdadero progreso. En ocasiones, nos hemos valido de la improvisación para encontrar un uso a la técnica y utillaje que siquiera sus creadores preveían.

La industria mecánica de Córdoba es un claro ejemplo, con su rastrojero iniciado a partir de utillaje aeronáutico y de circunstancias. Si este ejemplo puede encontrarse en el desarrollo de la industria pesada, cómo no va a haberlo en la telemática. Encontraremos ejemplos en lo que algo pensado para una cosa, termina siendo mejor aplicado para otra.

La mayoría de los enruteadores modernos disponen de un botón nomenclado como WPS. Dicho botón activa una funcionalidad telemática capaz de "asociar" un dispositivo Wifi a nuestra red local inalámbrica cifrada con contraseña sin necesidad de compartir la clave. Explicado de manera sencilla, al presionar el botón se dará inicio a una ventana de tiempo de dos minutos, durante el cual el router - en confianza - asociará a cualquier dispositivo Wifi en el que también se presione dicho botón. Una vez transcurrido los dos minutos, volverá a cifrarse y cerrarse la red inalámbrica.
La idea original estaba bien intencionada. Sin embargo, muchas cosas malas pueden hacerse en dos minutos, y si lo sabrá su madre. Nada impide que durante dicha ventana temporal, usuarios malévolos en las cercanías puedan asociarse a la red sin que tuviésemos maneras obvias de saberlo. Por lo tanto, la funcionalidad WPS - en lugar de hacer la vida más fácil al Pueblo - terminó perjudicándolo y llevándole inseguridad por partes iguales...

Pues bien, en tratados anteriores he relatado a la Masa que muchos routers (como por ejemplo, el TP-Link TL-WR941ND peronista) pueden ser dotados de un firmware libre que reemplaza al limitado programa interno original. He explicado como instalar dicho firmware libre OpenWRT en nuestro router y cómo configurarlo para hacer de él una potente máquina multifunción. ¡Lo hemos dicho! En vista de las mencionadas deficiencias con el sistema de asociación WPS, el firmware libre OpenWRT no usa esta característica, y ello significará que el botón WPS del router (nomenclado como "QSS" en los routers TP-Link) quedará "como cenicero de Pochoneta".

Sin embargo, gracias al Justicialismo y a nuestra doctrina de Software Libre, nos será bien posible utilizar el botón QSS para realizar otras acciones que nos plazcan, si sabemos configurarlo. Podremos programar el botón WPS/QSS para que nos sirva para apagar o encender el radioemisor de Wifi (y por lo tanto, de la red inalámbrica). Esto presenta algunas ventajas: podríamos dejar el router encendido 24x7 realizando tareas de enrutamiento por cable, servicio de correo, o un mini-servidor web, etc, pero decidir apagar el Wifi cuando no estamos en el hogar, o apagarlo de forma manual cuando nadie lo vaya a utilizar, o apagarlo automáticamente siguiendo un patrón de horarios.


Naturalmente que en primer lugar, debemos tener ya instalado y configurado OpenWRT en nuestro aparato (en este caso tomaré como referencia el TP-Link TL-WR941ND). Hemos de notar también que por la característica de esta tarea, nos convendrá conectarnos al router de manera cableada.

Acto seguido, será útil asegurarnos de que el botón QSS del router funciona, y conocer en particular cuál es su "nombre de hardware".

Para ello nos logueamos al router como se ha explicado en otros tratados (normalmente con ssh root@dirección_ip_del_router). Una vez dentro del router (el prompt podría indicar root@OpenWrt o similar) crearemos una carpeta donde irán las rutinas autoejecutables para los botones. Lo haremos ingresando en el router,:

mkdir -p /etc/hotplug.d/button

Ahora usaremos el editor peronista Vi para crear un archivo llamado buttons en dicho directorio, con el comando:

vi /etc/hotplug.d/button/buttons

Es importante conocer bien el funcionamiento del editor, para ser práctico a la hora de configurar el router. El editor Vi normalmente opera en modo revisión, por lo cual no podremos modificar ni agregar ningún texto. Para pasar al modo de inserción de texto hemos de presionar la tecla i. Solo entonces podremos escribir o pegar en la Terminal el texto que querramos. En este caso, hemos de pegar allí el siguiente código, pensado para evaluar el funcionamiento de los botones del router:

#!/bin/sh
# Script para que los botones reporten sus acciones.
logger el boton $BUTTON reporta accion $ACTION


Para guardar los cambios en el archivo recién editado en Vi, hemos de presionar Esc, y tipear el comando :wq que se encargará de grabar (w) y salir (q) del editor. Nos devolverá a la línea de comandos del router.

Conforme estemos en el prompt de nuestro enruteador, habremos de evaluar el botón correspondiente: en el caso del TP-Link TL-WR941ND presionamos el botón "QSS" que se encuentra en la derecha del panel frontal (es el único botón).
Hecho esto, en la terminal del router ejecutaremos el comando:

logread

...y nos devolverá un largo archivo, el cual al final debería indicarnos final algo como:

user.notice root: el boton wps reporta accion pressed
user.notice root: el boton wps reporta accion released


Esta información recabada es importante pues nos confirma el nombre de hardware del botón QSS, que en realidad es "wps", y los estadíos que puede tomar dicho botón de software: "pressed" (presionado) y "released" (soltado).

Sabiendo esto, agregaremos dos archivos nuevos para configurarlo. Unos es el archivo /etc/hotplug.d/button/00-button, que configura el funcionamiento general de los botones, y otro es el que especificará el funcionamiento particular el botón QSS. Para ello los agregamos con Vi:

vi /etc/hotplug.d/button/00-button

Una vez en el editor, presionamos i e insertamos el siguiente código:

#!/bin/sh
. /lib/functions.sh
do_button () {
        local button
        local action
        local handler
        local min
        local max
 
        config_get button $1 button
        config_get action $1 action
        config_get handler $1 handler
        config_get min $1 min
        config_get max $1 max
 
        [ "$ACTION" = "$action" -a "$BUTTON" = "$button" -a -n "$handler" ] && {
                [ -z "$min" -o -z "$max" ] && eval $handler
                [ -n "$min" -a -n "$max" ] && {
                        [ $min -le $SEEN -a $max -ge $SEEN ] && eval $handler
                }
        }
}
 
config_load system
config_foreach do_button button

Guardamos los cambios y salimos de Vi con Esc + :wq.


Acto seguido, agregaremos la especificación de funcionamiento del botón QSS en el fichero configuración correspondiente, que es /etc/config/system. Para ello ingresamos el comando:

vi /etc/config/system

Las especificaciones de funcionamiento del botón QSS/WPS será la de apagar el emisor Wifi y la red inalámbrica al presionarlo brevemente (durante menos de un segundo). Si lo presionamos entre uno y cinco segundos, encenderá el Wifi y la red inalámbrica. Considerando esto, en Vi pasamos al modo inserción con la tecla i, y al final del archivo /etc/config/system, habremos de agregarle las siguientes lineas de configuración:

# Agregado al archivo /etc/config/system 
# para configurar el botón OSS/WPS del Router TP-Link
# Esto apaga el emisor Wifi y la red inalámbrica
# al presionar el boton QSS/WPS menos de 1 segundo.
config button
    option button 'wps'
    option action 'released'
    option handler 'uci set wireless.@wifi-device[0].disabled=1 && wifi'
    option min '0'
    option max '1'
 

# Esto enciende el emisor Wifi y la red inalámbrica
# si se presiona el boton QSS/WPS entre 1 y 5 segundos.
config button
    option button 'wps'
    option action 'released'
    option handler 'uci set wireless.@wifi-device[0].disabled=0 && wifi'
    option min '1'
    option max '5'



...guardamos los cambios y salimos del editor Vi con la consabida combinación de teclas Esc + :wq

Para probar los cambios, debemos reiniciar el router con:

reboot

Una vez que el router se reinicie, debemos presionar y soltar el botón QSS durante menos de un segundo, y se apagará el Wifi (podremos comprobarlo al comprobar el apagado de la luz "WLAN" del panel frontal del router. Para reencender el Wifi, debemos presionar el botón QSS entre 1 y 5 segundos (se encenderá la luz WLAN y podremos conectarnos inalámbricamente).

Configurar el encendido / apagado del Wifi a un horario determinado:

Hemos mencionado la potencia y versatilidad que nos permiten los scripts de Cron para activar o desactivar el Wifi en horarios particulares. Por ejemplo, supongamos que según nuestros horarios de trabajo y sueño nos conviene que el Wifi se apague automáticamente a la 23:30PM y se encienda a diana, a las 6:30 AM durante los días de semana.

Para ello será necesario crear dos scripts ejecutables, uno para encender el Wifi y otro para apagarlo, y programar el cronómetro del router (cron). Todo ello lo haremos también desde la terminal del router. Una vez logueados en él, podremos ingresar:

vi /root/wifioff

...presionamos i y le pegamos el siguiente código

#!/bin/sh
# Apaga la WLAN (sin detener el dispositivo de emision radio0)
wifi down


Una vez guardado el fichero y salido del editor (Esc + :wq), utilizaremos el siguiente comando para crear el archivo de encendido:


vi /root/wifion

...y nuevamente usamos i para pegarle su código correspondiente que figura a continuación:

#!/bin/sh
# Enciende la WLAN (sin detener el dispositivo de emision radio0)
wifi on


Guardamos y salimos con Esc + :wq


Conforme hayamos ingresado ambos archivos, nos será imprescindible otorgarles permisos de ejecución para que dichos guiones puedan utilizarse. Lo haremos con el comando:

chmod +x wifionoff wifion wifioff

Ahora podremos programar el cronómetro de ejecución (cron). Esto se hace por medio de una tabla de texto (crontab), modificando el archivo /etc/crontabs/root. Para hacer la tabla crontab editamos el archivo referenciado usando Vi, con el comando:

vi /etc/crontabs/root

...presionamos i para configurar al siguiente texto al final del archivo:

# Ejecuta este script wifioff todos los dias
# a las 23:30pm
30 23 * * * /root/wifioff
# ejecuta el script wifion a las 06:30am
# a las 6:30am

30 06 * * * /root/wifion

...guardamos la tabla de cron recién creada con Esc + :wq y al volver al prompt del router, debemos ejecutar el comando reboot para que surta efecto. Veremos que con ello el Wifi se apagará automáticamente a las 23:30 y se encenderá a las 06:30. Si necesitásemos encenderlo durante ese horario, bien podríamos presionar el botón del aparato durante 1 y 5 segundos para activarlo.


Podría ser que en determinadas ocasiones necesitemos un script distinto, que  si el Wifi está encendido lo apague, y si está apagado, lo encienda. Para ello, debemos ingresar el siguiente script:

vi /root/wifionoff

y le pegamos el siguiente código:

#!/bin/sh
STATEFILE="/tmp/wifionoff.state"

if [ $# -eq 1 ]; then
  case $1 in
    "up"|"on")
      STATE=off
      ;;
    "down"|"off")
      STATE=on
      ;;
  esac
else
  if [ ! -e ${STATEFILE} ]; then
    STATE=on
  else
    . ${STATEFILE}
  fi
fi
if [ -z ${STATE} ]; then
  STATE=on
fi

if [ ${STATE} == "on" ]; then
  /sbin/wifi down
  STATE=off
else
  /sbin/wifi up
  STATE=on
fi

echo "STATE=${STATE}" > ${STATEFILE}


Guardamos y salimos del editor Vi con Esc + :wq.