|
Helping ordinary people create extraordinary websites! |
Linux Wireless NetworkingBy Sreekrishnan Venkateswaran2005-05-04
Linux Infrared Data Infrared Data (IrDa) is a specification to wirelessly transfer data using infrared radiation. It is primarily used for linking laptops or for connecting equipment like video or photo cameras to computer systems. IrDa speeds range from 115 kbps for Serial Infrared (SIR) to 16 Mbps for Very Fast Infrared (VFIR). Most IrDa chips in the SIR mode are UART 16650-compatible (16650 is a common PC UART), so the legacy Linux serial port drivers can serve as link-level drivers. The IrDa line discipline implementation, IrTTY (drivers/net/irda/irtty.c), lets the serial driver drive SIR. The IrPORT driver (drivers/net/irda/irport.c) replaces IrTTY and the serial driver, and offers better device control. IrDa chips incompatible with the serial driver have their own device drivers. The NSC PC87108 chipset, for example, uses its own driver (nsc-ircc.c). Similar to the hci-usb driver used for USB Bluetooth devices discussed above, USB IrDa FIR dongles are supported by the irda-usb.c device driver. IrLAP is the link accesses protocol layer responsible for IrDa device discovery, retransmission, and flow control. Above IrLAP resides the IrLMP link management layer and the Tiny Transport protocol layer (TinyTP). Above these are the IrCOMM and IrLAN layers. IrCOMM (implemented in net/irda/ircomm/) provides serial emulation that lets applications that run over serial ports, like terminal emulators, run unchanged over the IrDa stack. IrLAN (implemented in net/irda/irlan/) provides a virtual network interface that lets TCP/IP run directly over the IrDa stack. The IrLAN code uses register_netdev to register an Ethernet device with the Linux networking layer and netif_rx to send data to the Linux IP stack (as explained for WLAN drivers and for Bluetooth BNEP). IrCOMM is analogous to Bluetooth RFCOMM, while IrLAN is analogous to Bluetooth BNEP. IrOBEX is a simple protocol built on top of TinyTP that allows transfer of binary data. Extensions to IrOBEX define transfer of different kinds of data objects. To use the IrDa protocols with Linux, you must install IrDa utilities (like irattach) developed as part of the Linux IrDa project. Tutorial Pages: » A Look at WLAN, Bluetooth, GPRS, GSM, and Infrared Data on Linux » Linux 802.11 WLAN » Linux Bluetooth » Linux GPRS and Data over GSM » Linux Infrared Data » Performance Issues » Conclusion » Resources First published by IBM DeveloperWorks |
|