L'attuale implementazione IrDA su Linux fa abbastanza pietà, forse perché
è ormai una tecnologia in disuso e lo sprint che ha invece avuto il Bluetooth o i dispositivi mtp è mancato alle periferiche IrDA. Su Debian e Ubuntu, come nelle altre distribuzioni, il pacchetto che contiene tutto il necessario per far funzionare lo
stack IrDA del kernel è
irda-utils. In particolare il comando che ci interessa è
irattach. Detto a grandi linee, con questo comando possiamo far comunicare la periferica con il kernel. Mentre questa azione avviene automaticamente all'avvio per le interfacce integrate alla scheda madre, con
gli adattatori USB questo non avviene e bisogna dare il comando manualmente.

Per risolvere questo inconveniente occorre lanciare irattach con i giusti parametri ogni volta che si collega l'adattatore, mentre è necessario terminare irattach quando si scollega l'adattatore. Tutto questo è possibile farlo con
udev.
Queste sono le regole per fare le azioni sopra descritte:
SUBSYSTEM=="net", SUBSYSTEMS=="usb", ACTION=="add", ATTR{type}=="783", RUN+="/sbin/start-stop-daemon --start --quiet --pidfile /var/run/irattach.pid --startas /usr/sbin/irattach -- $env{INTERFACE} -s"
SUBSYSTEM=="net", SUBSYSTEMS=="usb", ACTION=="remove", KERNEL=="irda*", RUN+="/sbin/start-stop-daemon --stop --quiet --oknodo --name irattach --pidfile /var/run/irattach.pid"
Queste regole andranno messe in un file chiamato 80-irda-usb.rules e salvato in /etc/udev/rules.d.
Continua a leggere »