Linux 红外线打印

Linux 红外线打印

我有一个 USB IrDA,可以在 Windows 端与 IrDA 打印机(SiPiX 小型打印机 A6)配合使用,使用默认 4000000 速度和 1.0ms 周转时间(在驱动程序配置中)。USB IrDA 加密狗使用 SigmaTel 芯片。红外打印使用 IrDA 端口和 SiPiX 驱动程序工作。

我正在尝试让它在我的 Linux 端(同一台机器)上运行,尤其是当 CUPS 中已经存在 SiPiX 驱动程序时。我似乎能够使用标准 USB FIR 驱动程序通过 然后 查看我的 IrDA 和打印机irattach irda0 -sirdadump我无法使用此 USB 加密狗从 SIR 获得任何东西(例如irattach /dev/ttyS1 -s)。

如果 FIR 足够好,我猜我需要从工作 FIR 创建某种串行端口,然后从 CUPS 寻址它,但我在这里被困住了。

答案1

使用带有模块选项 tx_window=1 的 SIR。

编译并安装内核模块后,第一次插入加密狗时该模块应该会自动加载。现在您必须告诉您的机器初始化 IrDA 子系统。在 SuSE 发行版中,对 USB 事件的这种反应通常是通过热插拔完成的

这也非常简单:只需使用适当的 .usermap 文件让热插拔知道在插入 USB 适配器时要启动哪个脚本,然后使用该脚本启动或停止 IrDA 子系统。
/etc/hotplug/usb/usbirda.usermap
# SigmaTel STIr4200 IRDA/USB
usbirda 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0000000

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

如果 [ -x /usr/sbin/rcirda ]; 那么
    如果 [ “${ACTION}” = “添加” ]; 然后
        /usr/sbin/rcirda 启动 && 退出 0
    别的
        /usr/sbin/rcirda 停止&&退出 0

您还可以将其下载为 .tar 档案。

/usr/sbin/rcirda 是 SuSE 使用 irda 软件包安装的脚本 /etc/init.d/irda 的链接。它将执行一个简单的 irattach 命令:

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

如果您使用 SuSE 脚本,则应确保 IrDA 配置为使用您安装的模块而不是串行端口:

/etc/sysconfig/irda
## 路径:硬件/IrDA
##描述:红外设备的设置
## 类型:字符串(“”,/dev/ttyS1)
## 默认值:/dev/ttyS1
#
...
#
#IRDA_PORT=/dev/ttyS1
IRDA_PORT=irda0

参考

相关内容