Linux IrDA-печать

Linux IrDA-печать

У меня есть USB IrDA, который я заставил работать с моим IrDA-принтером (компактный принтер SiPiX A6) на стороне Windows, используя скорость по умолчанию 4000000 и время выполнения 1,0 мс (в конфигурации драйвера). USB IrDA-донгл использует чип SigmaTel. ИК-печать работает с использованием порта IrDA и драйвера SiPiX.

Я пытаюсь заставить его работать на моей стороне Linux (на той же машине), особенно когда драйвер SiPiX уже существует в CUPS. Кажется, я могу использовать стандартный драйвер USB FIR, чтобы увидеть мой IrDA и мой принтер, через irattach irda0 -s, а затем irdadump. Я вообще не могу получить ничего от SIR с этим USB-донглом (например irattach /dev/ttyS1 -s).

Если FIR достаточно хорош, то, полагаю, мне придется создать какой-то последовательный порт из работающего FIR, а затем адресовать его из CUPS, но тут я застрял.

решение1

Используйте SIR с опцией модуля tx_window=1.

После компиляции и установки модуля ядра он должен загружаться автоматически при первом подключении донгла. Теперь вам нужно указать машине инициализировать подсистему IrDA. В дистрибутивах SuSE эта реакция на события USB обычно выполняется через hotplug

Это тоже очень просто: просто сообщите hotplug, какой скрипт запустить при подключении USB-адаптера с помощью соответствующего файла .usermap, и с помощью этого скрипта запустите или остановите подсистему IrDA.
/etc/hotplug/usb/usbirda.usermap
# SigmaTel STIr4200 IRDA/USB
usbirda 0x0003 0x066f 0x4200 0x0000 0x0000 0x00 0x00 0x00 0x00 0x00 0x0000000

/etc/hotplug/usb/usbirda
#!/bin/баш

если [ -x /usr/sbin/rcirda ]; тогда
    если [ "${ACTION}" = "добавить" ]; тогда
        /usr/sbin/rcirda старт && выход 0
    еще
        /usr/sbin/rcirda остановить && выйти 0
    фи
фи

Вы также можете загрузить его как .tar-архив.

/usr/sbin/rcirda — это ссылка на скрипт /etc/init.d/irda, который устанавливается SuSE с irda-package. Он выполнит простую команду irattach:

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

Если вы используете скрипт SuSE, вам следует убедиться, что IrDA настроен на использование установленного вами модуля, а не последовательного порта:

/etc/sysconfig/irda
## Путь: Оборудование/IrDA
## Описание: Настройки для инфракрасного устройства
## Тип: string("",/dev/ttyS1)
## По умолчанию: /dev/ttyS1
#
...
#
#IRDA_PORT=/dev/ttyS1
IRDA_PORT=irda0

Рекомендации

Связанный контент