Linux IrDA 印刷

Linux IrDA 印刷

私は、Windows 側で IrDA プリンタ (SiPiX コンパクト プリンタ A6) と連携して動作するようにした USB IrDA を持っています。デフォルトの速度 4000000 とターンアラウンド時間 1.0 ミリ秒 (ドライバ構成) を使用しています。USB IrDA ドングルは SigmaTel チップを使用しています。IR 印刷は、IrDA ポートと SiPiX ドライバを使用して動作します。

私は Linux 側 (同じマシン) でこれを動作させようとしています。特に、CUPS に SiPiX ドライバーがすでに存在する場合です。 、irattach irda0 -sそして を介して、標準の USB FIR ドライバーを使用して IrDA とプリンターを確認できるようです。この USB ドングル (例)irdadumpでは SIR から何も取得できません。irattach /dev/ttyS1 -s

FIR が十分に優れている場合は、動作中の FIR から何らかのシリアル ポートを作成し、それを CUPS からアドレス指定する必要があると思いますが、ここで行き詰まってしまいました。

答え1

モジュール オプション tx_window=1 で SIR を使用します。

カーネルモジュールをコンパイルしてインストールしたら、ドングルを初めて差し込むと自動的にロードされるはずです。次に、マシンにIrDAサブシステムを初期化するように指示する必要があります。SuSEディストリビューションでは、USBイベントへの反応は通常、ホットプラグ経由で行われます。

これも非常に簡単です。適切な .usermap ファイルを使用して USB アダプタを接続したときにどのスクリプトを起動するかを hotplug に知らせ、そのスクリプトを使用して IrDA サブシステムを起動または停止するだけです。
/etc/hotplug/usb/usbirda.usermap
# シグマテル STIr4200 IRDA/USB
usbirda 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x0000000

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

[ -x /usr/sbin/rcirda ]の場合;
    [ "${ACTION}" = "add" ]の場合;
        /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

参考文献

関連情報