Ich habe einen USB-IrDA, den ich mit meinem IrDA-Drucker (SiPiX Compact Printer A6) unter Windows zum Laufen gebracht habe. Dabei verwende ich die Standardgeschwindigkeit von 4000000 und eine Bearbeitungszeit von 1,0 ms (in der Treiberkonfiguration). Der USB-IrDA-Dongle verwendet einen SigmaTel-Chip. IR-Druck funktioniert über den IrDA-Anschluss und den SiPiX-Treiber.
Ich versuche, es auf meiner Linux-Seite (dieselbe Maschine) zum Laufen zu bringen, insbesondere wenn der SiPiX-Treiber bereits in CUPS vorhanden ist. Ich scheine in der Lage zu sein, den Standard-USB-FIR-Treiber zu verwenden, um mein IrDA und meinen Drucker über irattach irda0 -s
und dann anzuzeigen irdadump
. Mit diesem USB-Dongle kann ich überhaupt nichts von SIR empfangen (z. B. irattach /dev/ttyS1 -s
).
Wenn FIR gut genug ist, muss ich vermutlich eine Art seriellen Port aus dem funktionierenden FIR erstellen und ihn dann von CUPS aus ansprechen, aber hier stecke ich fest.
Antwort1
Verwenden Sie SIR mit der Moduloption tx_window=1.
Sobald Sie Ihr Kernelmodul kompiliert und installiert haben, sollte es automatisch geladen werden, sobald Sie den Dongle zum ersten Mal einstecken. Jetzt müssen Sie Ihrem Rechner sagen, dass er das IrDA-Subsystem initialisieren soll. In SuSE-Distributionen erfolgt diese Reaktion auf USB-Ereignisse normalerweise über Hotplug Auch das ist ganz einfach: Teilen Sie Hotplug einfach mit der entsprechenden .usermap-Datei mit, welches Skript beim Einstecken des USB-Adapters gestartet werden soll, und starten oder stoppen Sie mit diesem Skript das IrDA-Subsystem. /etc/hotplug/usb/usbirda.usermap # SigmaTel STIr4200 IRDA/USB usbirda 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x0000000 /etc/hotplug/usb/usbirda #!/bin/bash wenn [ -x /usr/sbin/rcirda ]; dann wenn [ "${ACTION}" = "hinzufügen" ]; dann /usr/sbin/rcirda starten und beenden 0 anders /usr/sbin/rcirda stoppen und beenden 0 fi fi Sie können dies auch als .tar-Archiv herunterladen. /usr/sbin/rcirda ist ein Link zum Skript /etc/init.d/irda, das von SuSE mit dem irda-Paket installiert wird. Es führt einen einfachen irattach-Befehl aus: /usr/sbin/irattach ${IRDA_PORT} -s >/dev/null Wenn Sie das SuSE-Skript verwenden, sollten Sie sicherstellen, dass IrDA für die Verwendung des von Ihnen installierten Moduls und nicht eines seriellen Ports konfiguriert ist: /etc/sysconfig/irda ## Pfad: Hardware/IrDA ## Beschreibung: Einstellungen für das Infrarotgerät ## Typ: string("",/dev/ttyS1) ## Standard: /dev/ttyS1 # ... # #IRDA_PORT=/dev/ttyS1 IRDA_PORT=irda0
Verweise