Impresión IrDA en Linux

Impresión IrDA en Linux

Tengo un USB IrDA que conseguí funcionar con mi impresora IrDA (impresora compacta SiPiX A6) en el lado de Windows, usando una velocidad predeterminada de 4000000 y un tiempo de respuesta de 1,0 ms (en la configuración del controlador). El dongle USB IrDA utiliza el chip SigmaTel. La impresión por infrarrojos funciona mediante el puerto IrDA y el controlador SiPiX.

Estoy intentando que funcione en mi lado Linux (misma máquina), especialmente cuando el controlador SiPiX ya existe en CUPS. Parece que puedo usar el controlador FIR USB estándar para ver mi IrDA y mi impresora, a través de irattach irda0 -sy luego irdadump. No puedo obtener nada de SIR con este dongle USB (por ejemplo irattach /dev/ttyS1 -s).

Si FIR es lo suficientemente bueno, supongo que tendré que crear un puerto serie de algún tipo a partir del FIR en funcionamiento y luego abordarlo desde CUPS, pero me quedé atascado aquí.

Respuesta1

Utilice SIR con la opción de módulo tx_window=1.

Una vez que haya compilado e instalado su módulo del kernel, debería cargarse automáticamente una vez que conecte el dongle por primera vez. Ahora debe decirle a su máquina que inicialice el subsistema IrDA. En las distribuciones SuSE, esta reacción ante eventos USB generalmente se realiza mediante conexión en caliente.

Esto también es muy fácil: simplemente indique a hotplug qué secuencia de comandos iniciar al conectar el adaptador USB con el archivo .usermap apropiado y con esa secuencia de comandos inicie o detenga el subsistema IrDA.
/etc/hotplug/usb/usbirda.usermap
# SigmaTel STIr4200 IRDA/USB
usbirda 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00000000

/etc/hotplug/usb/usbirda
#!/bin/bash

si [ -x /usr/sbin/rcirda ]; entonces
    if [ "${ACTION}" = "agregar" ]; entonces
        /usr/sbin/rcirda inicio && salida 0
    demás
        /usr/sbin/rcirda detener && salir 0
    fi
fi

También puedes descargarlo como un archivo .tar.

/usr/sbin/rcirda es un enlace al script /etc/init.d/irda que SuSE instala con el paquete irda. Hará un simple comando irattach:

/usr/sbin/irattach ${IRDA_PORT} -s >/dev/null

Si está utilizando el script SuSE, debe asegurarse de que IrDA esté configurado para usar el módulo que instaló y no un puerto serie:

/etc/sysconfig/irda
## Ruta: Hardware/IrDA
## Descripción: Configuración del dispositivo de infrarrojos
## Tipo: cadena("",/dev/ttyS1)
## Predeterminado: /dev/ttyS1
#
...
#
#IRDA_PORT=/dev/ttyS1
IRDA_PORT=irda0

Referencias

información relacionada