Conectar dispositivos por IrDA en Debian 10

El protocolo IrDA (popularmente conocido como «infrarrojos»), fue un protocolo de transferencia de ficheros bastante popular durante los años 90 y 2000. Algunos modelos antiguos de portátil, así como los primeros móviles (antes de la popularización del Bluetooth) incorporaban este sistema como una manera sencilla de compartir ficheros entre dispositivos.

Como inconveniente tenía la obligación de mantener los equipos con sus receptores frente a frente a poca distancia, y la lentitud de su transmisión.

Con la popularización del Bluetooth, este protocolo ha quedado obsoleto, siendo retirados sus drivers del kernel Linux. Pero todavía podemos encontrar equipos antiguos donde se requiera del uso del mismo para transferencia de ficheros. Por esta razón, en este tutorial vamos a explicar como logré hacer funcionar un adaptador USB-IrDA en Debian 10.

Necesitaremos:

  • Un adaptador USB – IrDA (en mi caso, SigmaTel, Inc. STIr4200 IrDA Bridge)
  • Paquetes:
    • binutils
    • dkms
    • irda-utils
    • autoconf
  • Drivers de IrDA del kernel Linux
  • Instalación de los drivers

    El primer paso para hacer funcionar el dispositivo es instalar los drivers.

    Los módulos de los dispositivos IrDA fueron retirados hace varias años de los fuentes del kernel. Pero, por suerte, en este repositorio podemos encontrar una recopilación de estos módulos, listos para ser compilados con la última versión del kernel:

    https://github.com/cschramm/irda
    • Descarga de los fuentes

      Para descargar los fuentes, clonamos el repositorio usando git. Si no lo tenemos instalado, podemos instalarlo con

      apt install git

      Y clonamos el repositorio con

      git clone https://github.com/cschramm/irda

      Entramos en el directorio y comprobamos que se hayan descargado correctamente:

      cd irda
    • Instalación de dependencias

      Para poder compilar los drivers, se necesitan ciertas dependencias. Las instalamos desde apt

      apt install dkms binutils autoconf
    • Compilación de los drivers

      Una vez con todas las dependencias necesarias, iniciamos la compilación de los drivers con los siguientes comandos:

      autoconf -f && ./configure
      dkms install "irda/$(git show --pretty=format:"%cd~%h" --date="format:%Y%m%d" | head -1)"

      La compilación puede tardar varios minutos. Una vez terminado, nos mostrará un mensaje indicando que la compilación ha terminado de forma exitosa.

      Este proceso también nos instalará los módulos dentro del kernel, ahorrando el proceso de copiarlos manualmente.
    • Carga de los módulos de los drivers

      Una vez instalados los módulos, los cargamos con:

      modprobe irda-usb
  • Instalación de las herramientas

    Con los pasos anteriores, ya disponemos de los drivers para hacer funcionar el adaptador USB-IrDA. Pero, para poder realizar la transmisión, necesitamos herramientas preparadas para este protocolo.

    En Debian, estas herramientas se encuentran en el paquete irda-utils. Pero, al igual que los drivers, este paquete fue retirado en las últimas versiones. Aunque aún podemos descargarlo desde el repositorio online. Lo descargamos con wget.

    wget http://ftp.de.debian.org/debian/pool/main/i/irda-utils/irda-utils_0.9.18-15_amd64.deb

    Una vez descargado, lo instalamos con dpkg

    dpkg -i irda-utils_0.9.18-15_amd64.debirda-utils_0.9.18-15_amd64.deb

    Con esto ya dispondremos de las herramientas necesarias para realizar nuestra transmisión.
  • Realizando la transmisión

    Antes de iniciar, debemos asegurarnos de que ambos dispositivos tienen sus receptores frente a frente.

    Hecho esto, usamos el comando irattach para escanear los dispositivos.

    irattach irda0 -s

    Si todo ha ido bien, el otro dispositivo debería avisar de haber detectado nuestro adaptador IrDA. Lo comprobamos con este otro comando:

    irdadump
    • Enviando archivos

      Para enviar archivos, usamos el comando ircp

      ircp [fichero_a_enviar]

      Donde fichero_a_enviar será la ruta del fichero que queremos enviar al otro dispositivo. Esto iniciará la transmisión, que podrá durar varios minutos, dependiendo del tamaño del archivo.

      Si todo ha ido bien, la transmisión finalizará y el otro dispositivo podrá acceder al fichero transmitido.
Portátil con fichero recibido por infrarrojos desde Debian
  • Recibiendo archivos

    Si queremos recibir archivos, debemos activar la transmisión con ircp -r

    ircp -r [directorio_destino]

    Donde directorio_destino será la ruta del directorio donde queremos que se guarden los archivos recibidos.

    Iniciamos la transmisión desde el dispositivo origen, y esperamos.

    Si todo ha ido bien, al finalizar la transmisión nos aparecerá en dicho directorio el fichero enviado por el dispositivo origen.

Podemos encontrar mas información sobre estas herramientas, en este artículo

https://www.forosuse.org/forosuse/showthread.php?14992-infrarrojo-sigmatel-4200&p=124960#post124960

forosuse.org/forosuse/showthread.php?14992-infrarrojo-sigmatel-4200&p=124960#post124960(abre en una nueva pestaña)

Publicado en Uncategorized

Configurar lector de huellas con fingerprint-gui en Debian

Hoy en día, muchos portátiles, en especial Thinkpad, llevan un lector de huellas incorporado. Este lector de huellas puede utilizarse para reemplazar a la contraseña en aquellos casos donde se necesite autenticación.

El software mas conocido para realizar esta tarea es fingerprint-gui. Esta herramienta nos ofrece una interfaz gráfica desde la cual configurar nuestra huella, y asociarla a servicios como sudo, `gdm`  y similares.

En este tutorial explicaremos como instalar y configurar fingerprint-gui en Debian 11.

  • Instalación 

    Esta herramienta no está disponible en los repositorios de Debian, por lo que para instalarla debemos recurrir al ppa de Ubuntu. Los pasos para instalarlo son los siguientes:

    • Añadir ppa de Ubuntu
      # add-apt-repository 'deb http://ppa.launchpad.net/fingerprint/fingerprint-gui/ubuntu bionic main'
      # apt-key adv --keyserver keyserver.ubuntu.com --recv EFD5FA852F20733F
      # apt update
    • Instalar `fingerprint-gui

      # apt-get install libbsapi policykit-1-fingerprint-gui fingerprint-gui
  • Configuración 

    Con esto ya tenemos `fingerprint-gui` instalado. Pero todavía tenemos que hacer algunos ajustes para que funcione correctamente

    • Instalación de driversEn algunos casos, puede ser que nuestro sistema no tenga los drivers para nuestro lector de huellas. En este caso, tendremos que instalarlos.Podemos conocer el driver que necesitamos entrando en la interfaz de fingerprint-gui y, en la pantalla principal, seleccionando «Show drivername»fingerprint_driver

      Esta pantalla nos dirá el driver a utilizar. Buscamos ese nombre con `apt search`

      apt search libbsapi

      apt_driver_fingerprint
      En nuestro caso, está instalado. En caso de no estarlo, lo instalamos con apt

      apt install libbsapi

      Con esto ya tendríamos todos los drivers necesarios para utilizar nuestro lector de huellas

    • Permisos
      Para que fingerprint-gui tenga acceso al dispositivo, debemos añadir una regla en udev. que otorgue permisos de acceso al mismo.Para hacer esto, creamos un nuevo fichero en `/etc/udev/rules.d` llamado `12-fingerprint.rules` (el nombre es opcional, pero nos ayudará a reconocerlo posteriormente).En mi caso, lo creo con el editor `nano`

      # nano /etc/udev/rules.d/12-fingerprint.rules

      Una vez creado y abierto el fichero, añadimos una línea similar a esta:

      ATTRS{idVendor}=="147e", ATTRS{idProduct}=="2020", MODE="0664", GROUP="plugdev"

      sustituyendo el «147e y el «2020» por los atributos de nuestro dispositivo. Estos atributos los podemos obtener con el comando `lsusb`

      Captura de pantalla de 2020-01-03 23-41-38

      Una vez hecho esto, guardamos el fichero y reiniciamos.

    • Configuración de la huellaUna vez conseguidos los permisos e para acceder al dispositivo, e instalados los drivers, arrancamos `fingerprint-gui` para almacenar nuestra huella y configurar el acceso mediante la misma. Para ello, nos vamos a la terminal y, como usuario, escribimos:
      fingerprint-gui -d

      Esto nos abrirá la interfaz de configuración de fingerprint-gui, que será similar a esta:

      fingerprint_gui

      Abrimos la pestaña «Finger», que nos permitirá seleccionar el dedo que queremos usar para el escaneo.

      fingerprint_finger

      Seleccionamos el dedo que queramos escanear, y pulsamos en «Next»

      fingerprint_scan

      Pasamos el dedo por el lector de huellas, hasta que aparezca la palabra «ok». Repetimos el proceso tantas veces como se nos indique en el asistente:
      fingerprint_scan_ok

      Una vez terminado el proceso, nos aparecerá un aviso indicando que nuestra huella se ha almacenado correctamente

      fingerprint_saved

      Nos pregunta si queremos escanear otro dedo. Si no queremos escanear ningún dedo mas, pulsamos en «No» para continuar el proceso.

      Esto nos llevará a la pestaña de «settings», donde nos permitirá seleccionar los servicios que queremos autenticar con nuestra huella.

      En mi caso, quiero usar la huella para evitar la clave en sudo, así que seleccionaré ese:

      fingerprint_settings

      Pulsamos en «Next», que nos llevará a la pestaña «Password». Esta pestaña nos permite guardar la clave en otra ruta o dispositivo.

      fingerprint_password

      En nuestro caso, no vamos a utilizar esta opción, así que simplemente cerramos la aplicación.

      Probamos la nueva configuración, ejecutando un comando mediante `sudo`

      Captura de pantalla de 2020-01-04 00-43-18

      Vemos que la autenticación funciona correctamente. Al ejecutar el comando, nos muestra una interfaz para autenticar mediante nuestra huella: pasamos el dedo por el lector, y nos confirmará la autenticación. Una vez terminado (aparecerá un «OK»), pulsamos enter para ejecutar el comando.

      Captura de pantalla de 2020-01-04 00-47-38

      Y con esto ya tendríamos nuestro lector de huellas configurado para autenticarnos al ejecutar `sudo`

      En caso de que el escaneo falle, o haya algún tipo de problema, podemos seguir autenticándonos mediante nuestra clave.

    • Configurar inicio de sesión con fingerprint

      Una vez configurado `fingerprint-gui` y añadido a `sudo`, podemos configurar también nuestro inicio de sesión para que use nuestra huella dactilar.

      Para ello, actualizaremos los módulos de autenticación en la configuración de PAM.
      Esto lo haremos mediante el comando:

      # pam-auth-update

      El cual nos abrirá el asistente de configuración de PAM, que tendrá un aspecto similar a este:
      pam_update
      En esta pantalla, pulsamos en «Aceptar»
      Esto nos llevará a otra pantalla, donde nos mostrará la lista de perfiles que podemos habilitar:

      pam_fingerprint

      Marcamos el primer perfil: «Fingerprint authentication by Fingerprint GUI», pulsando la tecla espacio. Pulsamos Enter para completar la configuración.

      Ahora, al abrir GDM, se nos iluminará el lector de huellas para iniciar sesión con nuestra huella.

      photo_2020-01-04_16-04-48

      Pasamos el dedo por el lector y, cuando este se apague, pulsamos Enter para iniciar sesión

      Y ya con esto podemos iniciar sesión con nuestra huella.
      De nuevo, en caso de problemas, siempre podremos iniciar sesión con nuestra clave.

Publicado en Informática e Internet

Configurar caracteres españoles en teclado británico en GNU/Linux

Cuando compramos un PC con teclado inglés siempre surge la misma duda: ¿como puedo escribir la ñ? ¿y las tildes?

En el caso de un teclado inglés estadounidense, hay un layout internacional que tiene incorporados esos simbolos mediante combinaciones con AltGr.

Ese layout es muy cómodo pero, por desgracia, el teclado inglés británico no es exactamente igual al estadounidense, lo cual nos lleva a estar todo el rato mirando en que posición esta cada caracter (o cambiar de mapa de teclado según quieras escribir caracteres españoles o no)

Para solucionar esto, he creado un fichero de layout modificado, en el cual incluyo las modificaciones del layout en_US internacional, en el layout «Ingles(RU)».

Este fichero lo podéis descargar desde https://www.dropbox.com/s/19igqisicjv6038/gb?dl=0

Una vez descargado, lo copiáis en la ruta «/usr/share/X11/xkb/symbols/»

Con el comando:

#mv [carpeta de descarga]/gb /usr/share/X11/xkb/symbols

Una vez copiado el fichero, cerráis la sesión y la volveís a abrir para que los cambios tomen efecto.

El layout modificado es el «Ingles(RU)», que podreis seleccionar en la configuracion de vuestro entorno favorito.
Si usais Gnome, el mapa de teclado lo podéis cambiar en el asistente «Región e Idioma», en la sección de «Fuentes de entrada»

Una vez activado, las combinaciones de teclado son las siguientes:

  • Para las tildes, basta con pulsar vocal + AltGr para que se imprima.
    • Si quereis poner letras mayusculas con tilde, debereis activar CapsLock y seguidamente pulsar la vocal con AltGr
  • ¿ = AltGr + ?
  • ¡ = AltGr + !
  • ü = AltGr + y
    • Ü = Caps Lock, AltGr + y

¡¡Y con esto ya podreís poner los caracteres españoles en vuestro teclado británico!!

 

Publicado en Informática e Internet

Recover Savannah login

This is a post to verify my almuhs’ savannah id.

 

 

Publicado en Uncategorized

Acceder a un sistema GNU/Linux mediante chroot

Muchas veces nos ocurre que, por algún problema, nuestro sistema Linux no arranca y queda inaccesible.

Para salvar nuestro sistema, podemos acceder vía chroot desde un LiveCD.

Una jaula chroot es un entorno que nos permite ejecutar un sistema Linux de manera «embebida» desde otro sistema ya existente.

La jaula nos permite operar con ese sistema, ejecutando comandos en el, como si estuviese físicamente instalado en nuestro ordenador, pero sin afectar al sistema anfitrión.

En nuestro caso, eso nos va a permitir acceder al sistema desde un LiveCD, para poder repararlo desde linea de comandos.

Para ello necesitamos:

  • LiveCD de cualquier distro linux, preferiblemente con acceso a internet.
  • Sistema Linux instalado en disco duro

Vamos a suponer que nuestra tabla de particiones es la siguiente:

/dev/sda1 = /

/dev/sda2 = /home

/dev/sda3 = swap

Para empezar, debemos arrancar el ordenador desde el livecd.

Recomiendo activar la conexion a internet, para tener conexión en la jaula chroot.

Una vez hecho esto, abrimos una terminal y ejecutamos los siguientes pasos como root.

1. Creamos un punto de montaje con mkdir

# mkdir /mnt/misistema

Este directorio sera la raiz de la jaula chroot

2. Montamos las particiones en el punto de montaje

# mount /dev/sda1 /mnt/misistema  //Montamos la particion raiz

# mkdir /mnt/misistema/home  //Creamos el directorio home

# mount /dev/sda2 /mnt/misistema/home  //Montamos la particion home

3. Activamos la swap

# swapon /dev/sda3

4. Preparamos el entorno chroot

# cd /mnt/misistema

# mount -t proc none proc

# mount –rbind /dev dev

# mount –rbind /sys sys

# cp /etc/resolv.conf /mnt/misistema/etc/

5. Ejecutamos chroot

# chroot /mnt/misistema /bin/bash

Listo!! Ya estamos en nuestro sistema.

Los comandos que uses, se ejecutaran como root en el sistema Linux instalado, por lo que debemos tener cuidado.

Hecho esto, ya solo nos queda ejecutar los comandos para reparar el sistema.

Publicado en Informática e Internet

Instalacion de WebKitGTK en Gentoo/Funtoo

Gentoo es una distro linux basada en códigos fuente, en la cual todos los componentes se compilan desde el codigo fuente durante la instalación.

El uso de ficheros fuente en lugar de binarios precompilados permite hacer una instalación mucho mas optimizada, a medida del hardware, y con ajustes del usuario para eliminar componentes innecesarios.

Pero, sin embargo, a veces esta instalación puede resultar problemática.

El paquete WebKitGTK siempre ha sido uno de los mas problemáticos, por el tiempo que tarda en compilar (desde pocas horas hasta varios días, según el hardware), y por los errores que produce su compilación.

Además, al estar incluido como dependencia de Gnome y Xfce, es un paquete casi imprescindible para la mayoria de usuarios.

Una opción mas rápida, para evitar estos problemas, es el uso de binarios; opción permitida por Gentoo y mucho mas rápida que la compilación; pero no es fácil encontrar binarios de este paquete.

Esta tarde, tras muchas peleas, he conseguido compilar un binario desde una jaula chroot de Funtoo de arquitectura genérica.

Para instalarlo, debéis seguir los siguientes pasos:

  1. Descargar el binario desde aquí: https://www.dropbox.com/s/r818hmx105puyy0/webkit-gtk-2.4.9.tbz2?dl=0
  2. Copiarlo en /usr/portage/packages/net-libs (Si no existen las carpetas, creadlas a mano)
  3. Ejecutar, con permiso de superusuario, emerge webkit-gtk –usepkgonly
    La opción –usepkgonly obliga a emerge a instalar el programa desde binarios. Si no se puede instalar el binario dará error

Con esto, se instalara el binario en el sistema, ahorrándoos el trabajo de tener que compilarlo.

Publicado en Informática e Internet

Monodialogo

– ¿Eres feliz?

+ No lo se, ¿que es la felicidad?

– Pues no sabría decirte, pero es algo que todo el mundo tiene por objetivo, que se lleva buscando desde el principio de los tiempos; pero que muy pocos consiguen

+ Entonces… ¿Tu eres feliz?

– Depende. Ahora mismo soy feliz en lo que hago

+ Pero… ¿Eres feliz?

– Pues en realidad debo confesarte que no, no lo soy

+ Pero… ¿como? ¿No me habías dicho que eres feliz en lo que haces?

– Si, pero la felicidad no es absoluta. Sentir felicidad en algo no le hace a uno ser feliz

+ Entiendo… Bueno, me marcho a buscar la felicidad. Te avisaré cuando la encuentre.

– Hasta luego. Mándame un poco de felicidad por correo cuando la encuentres.

+ Lo haré. Muchas gracias, hasta luego.

Publicado en Cosas curiosas

Error al montar memorias USB en Debian Testing (solucion)

Hace tiempo me paso que cada vez que intentaba abrir una memoria usb en mi ordenador con Debian 6, me aparecia un error indicando que no podia montarse, de esta manera:

Error mounting: mount exited with exit code 1: helper failed with:
mount: wrong fs type, bad option, bad superblock on /dev/sdb1,
missing codepage or helper program, or other error
In some cases useful info is found in syslog – try
dmesg | tail or so

Al principio siempre solia recurrir al comando mount para montar el dispositivo a mano, de esta manera:

sudo mount  /dev/sdb1  /media/[nombre carpeta]  #para montarlo

sudo umount   /media/[nombre carpeta] #para desmontarlo

Investigando por los foros, descubri la solucion a este molesto problema:

1. Abrimos el archivo /etc/fstab

sudo gedit /etc/fstab

(Debemos introducir nuestra contraseña de usuario)

2. Editamos el archivo

Buscamos la linea donde aparezca  /dev/sdb1 y la borramos.

3. Guardamos los cambios y reiniamos

guardamos los cambios en el archivo y reiniciamos

Listo!! Ahora cuando metamos nuestras memorias usb en el ordenador, Debian las detectara y las montara automaticamente

Publicado en Informática e Internet

Un ensayo

A peticion expresa, incluyo en mi blog el ensayo que escribi a comienzos del curso pasado:

«De pequeña me enseñaron, que debia ser sincera;

mas aun ahora me encuentro, que todo a mi alrededor es un continuo fingimiento;

vistete de tal forma, actua de tal manera…

todo es una continua concatenacion de mentiras sin fin.

Si en eso consiste ser adulto, yo prefiero seguir siendo niño;

diciendo lo que que pienso, pero pensando en lo que digo;

respetando a mi projimo, ya sea amigo o enemigo;

comprendiendo lo que siente, y poniendome en su lugar;

reprobando hipocresias, a pesar de que ellos me reprendan a mi.

Y si, soy un ingenuo, un soñador;

sueño con cambiar el mundo, pues el mundo me necesita.

No creo en normas de cortesia, ni en que la tradicion sea un justicante para conservar normas absurdas.

No creo que sea malo corregir un error de alguien, o introducirse en conversaciones ajenas, si las circunstancias asi me lo indican

Yo no creo en normas, pues creo que la etica no debe ser impositiva;

creo que la etica debe ser racional y bien justificada.

Preguntale a un niño, y el te dira como comportarte con los demas.

Creo en el respeto a los demas, y por tanto, creo que fingiendo con normas absurdas no se respeta mucho, mas bien se insulta

Preguntale a un niño, pues nadie como el conoce lo que es el respeto y donde estan sus limites.

Y si, tengo miedo, pues voy contracorriente;

mas no me importa, pues tengo mucho por lo que luchar.

Y si, no sere un buen ejemplo, pues me contradigo a mi mismo,

mas la unica manera de contener mi crueldad es luchando por la paz»

 

Publicado en Cosas curiosas

Aplicacion para aprender las tablas de multiplicar

Aquí os dejo una aplicación que he hecho para que los niños aprendan las tablas de multiplicar.

Es bastante sencilla y fácil de usar. La hice el otro día en un momento de aburrimiento como analogía a uno parecido que hice en clase con visual basic 6. Esta escrito en gambas2.

Aqui os lo dejo:

Codigo fuente: http://ubuntuone.com/2yiFhQzWML4AGz7Nbrkvxs

Instalador:  http://ubuntuone.com/6kiTjqKQ7rwM7f5T5n4HAg

Todo: http://ubuntuone.com/003SuxO3x4cC0IQiwstEsz

Mas adelante ire colgando las actualizaciones que haga

Publicado en Informática e Internet
da el salto, hazte cibervoluntario