Linux Infrared HOWTO

Werner Heuser

Version 3.8

Copyright (c) 2000-2011 Werner Heuser. For all chapters permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being "Preface" and "Credits", with the Front-Cover Texts being "Linux Infrared HOWTO", and with the Back-Cover Texts being the section "About the Document and the Author". A copy of the license is included in the section entitled "GNU Free Documentation License".

$Date$

Abstract

The Infrared-HOWTO provides an introduction to Linux and infrared devices and how to use the software provided by the Linux/IrDA project. This package uses IrDA(TM) compliant standards. IrDA(TM) is an industrial standard for infrared wireless communication, and most laptops made after January 1996 are equipped with an IrDA(TM) compliant infrared transceiver. Infrared ports let you communicate with printers, modems, fax machines, LANs, and other laptops or PDAs. Speed ranges from 2400bps to 4Mbps.

The Linux/IrDA stack supports IrLAP, IrLMP, IrIAS, IrIAP, IrLPT, IrCOMM, IrOBEX, and IrLAN. Several of the protocols are implemented as both clients and servers. There is also support for multiple IrLAP connections, via several IrDA(TM) devices at once. The Linux/IrDA project started at the end of 1997 and experienced some major rewrites since then. Please don't expect every feature working straight yet. As far as I know Linux/IrDA is the only open source IrDA implementation available.

Remote Control (RC) via infrared is the aim of the Linux Infrared Remote Control - LIRC project, and also described in this HOWTO.


Table of Contents

Preface
1. About the Document
2. Status of the Document
3. About the Author
I. IrDA
1. About the Linux/IrDA Project
1. Project History
2. Code History
2. Getting Started
1. Software
1.1. IrDA-Utils
1.2. openobex
1.3. e-squirt
1.4. IrNET for Linux-IrDA
1.5. Java - IrDA Interface
2. Kernel
2.1. Preface
2.2. General Parameters
2.3. IrDA Specific Parameters
2.4. Current Kernel Patches
3. Kernel Module Options
4. Configuration
4.1. Device Numbers
4.2. Device Arrangement
4.3. /etc/modules.conf
4.4. /etc/irda
4.5. BIOS Configuration
4.6. Serial Port
4.7. Resource Conflicts: IRQ, IO
4.8. Starting IrDA
3. Specific Connections and IrDA - Protocols
1. Starting the IrDA Stack
1.1. Standard InfraRed - SIR
1.2. Fast InfraRed - FIR
1.3. Dongle Connection - Infrared Adapters for the Serial Port
1.4. Dongle Connection - Infrared Adapters for the USB Port
1.5. Dongle Connection - Infrared Motherboard Adapter
2. Printer Connection
3. LAN Connection - IrLAN
4. HP NetBeamer Connection
5. Palm III Connection - IrCOMM
6. Linux Terminal on Palm (Handspring Visor) via IR
7. Psion 5 Connection
8. Connecting from Linux to WinCE 2.11
9. Connecting from Linux to WinCE 3.0 (aka PocketPC)
10. Cellular Phone Connection
10.1. Generic Instructions
10.2. OBEX Connection
10.3. Specific Mobile Phones
10.4. German e-plus
11. Digital Camera Connection
12. Microsoft-Windows and Linux/IrDA
12.1. Introduction
12.2. Connection between Linux/IrDA and MS-Windows95 IrDA(TM)
12.3. Communication between MS-Windows98 and Linux
12.4. Communication between MS-Windows2000/XP and Linux
13. Linux to Linux Connection
13.1. Connection Methods
13.2. Compression
14. Multiple Instances
15. Connection to Docking Station
16. Connection to Keyboard
17. Connection via Serial Cable
18. Null Modem Cable Connection
19. Peer-to-Peer Mode / Direct Mode
20. Linux/IrDA with Toshiba Notebooks
21. IrDA Card in a Desktop Computer
4. Hardware Supported by Linux/IrDA
1. Obtaining Information about the Infrared Port in Laptops
1.1. SIR
1.2. FIR
2. Hardware Surveys
3. Big Endian
4. SMP
5. IrDA Hardware
6. IrDA and USB
6.1. Environment
6.2. Prerequisites
6.3. Plugging in the Dongle
6.4. Attaching the Driver
6.5. Loading the IrCOMM Modules
6.6. Setting up a Network (PPP)
6.7. Setting up a Printer Connection (IrLPT)
6.8. Cleaning Up
6.9. Remaining Problems
7. Linux PDAs: Agenda, iPAQ, Yopy, Zaurus
7.1. PPP
7.2. Beaming Files - OpenOBEX
7.3. Printing
7.4. Remote Control - LIRC
7.5. Programing QT Embedded for IrDA
7.6. Keyboards and Scanners
5. Advanced Topics
1. Troubleshooting
1.1. General Information
1.2. Known Bugs
1.3. Troubleshooting Techniques
1.4. PCI Device Numbers
1.5. scanport
2. Mailing List
3. GUIs: Gnome, KDE
4. How to Make Infrared Light Visible
5. Power Saving
6. Beyond IrDA
6.1. Extending Transmission Distance
6.2. Upcoming Standards (Bluetooth and IrDA)
7. IrDA Network Neighborhood
7.1. Laptop-Printer-PDA
7.2. Bridging/Routing
7.3. IPv6
7.4. DHCP
8. Linux/IrDA and APM
9. Performance Testing
10. IrDA Protocols
10.1. IrDA Stack
10.2. Existing IrDA Protocol Implementations
11. FAQ
II. Infrared Remote Control
6. Introduction
7. Linux Infrared Remote Control - LIRC
8. Lego Mindstorm
9. Serial Infrared Remote Controller
10. Infrared Tools for the COREL Netwinder PC
11. ir
12. irmctl
13. IRManager
14. irXxD
15. XR3
16. IR File Chooser
17. IControl
18. jlirc
19. lircemu
20. smartmenu
21. iowlircemu
22. tonto
23. Infrared Remote Control ./. IrDA
III. Appendix
A. Credits
B. Revision History
C. Serial Infrared Port Sniffers
1. Sniffer by Gerd Knorr
2. sersniff
D. Infrared Light and Eye Safety
E. Copyrights, Disclaimer, Trademarks
1. Disclaimer and Trademarks
2. Copyrights
3. GNU Free Documentation License - GFDL
3.1. 0. PREAMBLE
3.2. 1. APPLICABILITY AND DEFINITIONS
3.3. 2. VERBATIM COPYING
3.4. 3. COPYING IN QUANTITY
3.5. 4. MODIFICATIONS
3.6. 5. COMBINING DOCUMENTS
3.7. 6. COLLECTIONS OF DOCUMENTS
3.8. 7. AGGREGATION WITH INDEPENDENT WORKS
3.9. 8. TRANSLATION
3.10. 9. TERMINATION
3.11. 10. FUTURE REVISIONS OF THIS LICENSE

List of Figures

5.1. IrDA Stack