Linux中的红外线设备

发表于:2007-07-01来源:作者:点击数: 标签:
本文主要绍介有关Infrared与Linux之间的关系,对Infrared的种类、Linux Infrared支持的协议、架构等说明。Linux IrDA 使用 IrDA 红外线无线传输, 和周边设备进行沟通. 这些设备包括打印机, 调制解调器, 传真机, 手机, 到今天在 PDA 上的运用. Infrared 的种类
本文主要绍介有关Infrared与Linux之间的关系,对Infrared的种类、Linux Infrared支持的协议、架构等说明。Linux IrDA 使用 IrDA 红外线无线传输, 和周边设备进行沟通. 这些设备包括打印机, 调制解调器, 传真机, 手机, 到今天在 PDA 上的运用.

Infrared 的种类包括 :
(1) SIR : Standard IR - 115200bps (仿真 Serial Port)

(2) MIR : Middle IR - 1.15Mbps

(3) FIR : Fast IR - 4Mbps

(4) VFIR : Very Fast IR - 16Mbpshgdi

(5) Dongle : Infrared adapters for the serial port


Linux Infrared 支持的协议 :
Linux IrDA 支持的协议包括了
(1).IrLAP

(2).IrLMP

(3).IrIAS

(4).IrIAP

(5).IrLPT-- 和打印机之间的传输

(6).IrCOMM-- 仿真 Serial 和 Parallel port

(7).IrOBEX-- 对象 (档案etc.) 传输

(8).IrLAN-- 红外线网络装置 (HTTP etc.)

(9). IrSocket

(10). IrMC


Linux Infrared 的架构 :

从1997 年发展至今, 基本上将 Linux IrDA 区分为两部份 :

Linux-IrDA source code integrated in the Linux kernel Kernel version 2.2.x ~

目录 -
   /usr/src/linux/net/irda (protocal stuff)
   /usr/src/linux/drivers/net/irda (device drivers)
   /usr/src/linux/include/net/irda (header files)


Linux-IrDA tools.
PS. 目前扔然属于实验阶段.

Linux 系统设定 :

Edit file : /etc/conf.modules

#Irda
alias tty-ldisc-11 irtty
alias char-major-161 ircomm-tty
#post-install  ircomm-tty   /etc/rc.d/init.d/rc.irda autostart
#post-remove  ircomm-tty   /etc/rc.d/init.d/rc.irda autostop


Run : depmod -a


Edit file : /etc/irda/drivers depend on your IR chip.


Run : depmod -a


HOWTO :

以 Dell Inspiron 5000 为例

确定 BIOS 已将 IrDA 致能, 并记录系统分配资源 (IRQ, DMA, I/O Port)


重新编译 Kernel
make menuconfig 时, IrDA modules 致能, 并勾选需要支持之协议.


安装 Irda-utils RPM
irmanager : 探测外围红外线装置
irattach : 致能(挂载)红外线
irdadump : 监测红外线装置间的传输
irdaping : Ping 外围红外线装置
irkbd : 红外线键盘


系统设定参照前节


vi /etc/rc.config START_IRDA=yes


ln -s /etc/rc.config /etc/rc.d/rd3.d/S99irda


mknod /dev/irnine c 161 0


ln -s /dev/pilot /etc/irnine

参考资料 :
1. http://irda.sourceforge.net/ : The Linux IrDA project.
2. http://www.irda.org/
3. Linux Infrared HOWTO
4. Linux Laptop HOWTO

原文转自:http://www.ltesting.net