On Tue, Nov 28, 2006 at 02:22:56PM +0900, metrol@amur.ru wrote: > 2. Кто виноват, что при загрузку этого модуля в /dev появляется аж 32 > ircomm устройства и ни одного irlpt (как положено): > # ls /dev/ir* > /dev/ircomm0 /dev/ircomm12 /dev/ircomm16 /dev/ircomm2 > /dev/ircomm23 /dev/ircomm27 /dev/ircomm30 /dev/ircomm6 > /dev/ircomm1 /dev/ircomm13 /dev/ircomm17 /dev/ircomm20 > /dev/ircomm24 /dev/ircomm28 /dev/ircomm31 /dev/ircomm7 > /dev/ircomm10 /dev/ircomm14 /dev/ircomm18 /dev/ircomm21 > /dev/ircomm25 /dev/ircomm29 /dev/ircomm4 /dev/ircomm8 > /dev/ircomm11 /dev/ircomm15 /dev/ircomm19 /dev/ircomm22 > /dev/ircomm26 /dev/ircomm3 /dev/ircomm5 /dev/ircomm9 > > Хотя в документации к ядру > (/usr/share/doc/kernel-doc-2.6.11/devices.txt) пишут такое: > > 161 char IrCOMM devices (IrDA serial/parallel emulation) > 0 = /dev/ircomm0 First IrCOMM device > 1 = /dev/ircomm1 Second IrCOMM device > ... > 16 = /dev/irlpt0 First IrLPT device > 17 = /dev/irlpt1 Second IrLPT device > ... > > Собственно я хотел настроить cups для печати на принтер ч/з > инфракрасник. Методом дедукции пришлось определять, что порт > для него: /dev/ircomm16, а не /dev/irlpt0 - как пишут во > всех HOWTO. Модуль ircomm-tty регистрирует все 32 устройства единым блоком в количестве IRCOMM_TTY_PORTS == 32. Однако в нескольких местах кода гвоздями прибита константа 0x10, определяющая номер порта, с которого начинается irlpt. В принципе эту ситуацию можно попытаться исправить через правила udev, но делать это будет не совсем удобно из-за необходимости арифметических действий (что в udev придётся делать через вызов shell). Кроме того, есть мнение, что эту ошибку следует исправлять со стороны ядра; в Debian соответствующий баг висит с 2004 года: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=277391 На http://news.gmane.org/gmane.linux.irda.general никаких вопросов про это не обнаружено...