InfraRed Devices and Drivers

Infrared and IrDA connections in palmtops and computers.

Introduction

IrDA was designed for cheap, bidirectional, short range, fairly directional point to point connections. Initially up to 115.2kbps via additions to an RS232C serial port, and latter up to 4 Mbps. They use baseband return to zero inverted modulation. The 4 Mbps scheme uses a 4 pulse position modulation scheme of two bits per pulse.

Remote controls for TVs and similar are totally different. They use approximately 40 kHz signals and pulse width modulation, with a variety of protocols. They are customised for low speed, wide angle, one way, long range connections. These are not IrDA compliant. You can find one piece receiver transmitter packages for remote signals at low cost, and drive these from TTL. IrDA can't normally do TV remote control signals, and are shorter range, but you can often fake the signals in software. Infrared connections for keyboards and the like do not have to follow any standard, as the manufacturer supplies both ends of the connection.

IrDA - The Association

Formed in June 1993 with about 50 companies, and became an industry wide group of about 160 companies. Published SIR, IrLAP and IrLMP in June 1994, with speeds up to 115kbps. Updated speed to 4 Mb in Oct 1995. Microsoft announce support in Nov 1995, with an add on for Windows 95, and good support in Windows 98. Windows NT does not support IrDA. Digital camera support Oct 1996, IrTran-P for pictures published Oct 1997. Desktop to peripheral support Oct 1997. IrDA Control, for mice, keyboards, joystick in Feb 1998. IrOBEX (Object Exchange Protocol) (also adopted by Bluetooth) in June 1999. Financial messaging SIG Oct 1999. See IrDA Standards below for an outline.

IrDA Standards

Details of the IrDA standards are at http://www.irda.org. They are long, and not real light reading, but this is the fundamental site for IrDA information. I have provided a summary.

IrDA devices tend to cost peanuts, since they basically consist of an LED and a phototransistor, connected to a UART. Additional hardware costs are in the order of $5, and power consumption is relatively minor. A pulse from the UART represents a zero, and no pulse is a one. A frame is start bit, 8 data pulses, and a stop bit. Pulse width is a minimum of 1.6 usec to 3/16th of the bitrate period. Communication is half duplex. Most of the complexity is in the software.

The simplest hardware or physical version (often called SIR) takes standard RS232 port signals, shortens the bit length to 3/16th of its original length (to reduce power consumption), and sends it out via an infra red diode. It works up to the 115 kbps maximum data rate of a standard UART. Transmissions start at 9600 bps and negotiate higher speeds after a link is established. Communication is half duplex. The fast data rate (FIR) 4 Mbps uses 125 ns pulses in 4 pulse position modulation mode. Minimum light intensity is 40 mW/sr up to 115 kbps and 100 mW/sr over. Wavelength is between 850 and 900 nm.

Data packets use CRC-16 to 1.152 Mb/s and CRC-32 at 4 Mb/s.

The IrDA-SIR hardware is an encoder/decoder, an IR output driver and LED, and a receiver. The character stream is start bit, 8 data bits, no parity bit, stop bit. 0 is a pulse, 1 is no pulse. Minimum pulse 1.6 microsecond.

The software protocols act as a stack, however only some are required, and some are optional. I've listed them from the lowest level to the applications.

Physical layer (PHY)
Optical characteristics, data encoding, framing, as in IrDA-SIR, mentioned above. May include a software framer to accept incoming frames from the hardware and present them to IrLAP.
IrLAP (Link Access Protocol)
Discovers devices, handles hidden nodes, provides a reliable basic connection. Similar in intent to HDLC and SDLC. Does retransmitted if needed, handles low level flow control if TinyTP is not doing so, does error detection. The connections act as master (primary) and slave (secondary), with the master sending command frames, organising data flow, dealing with errors. The master might typically be a PDA, PC, camera. The slave sends response frames, speaks when spoken to, is is typically a limited facilities device such as a printer. Most masters can also act as slaves. This master slave relationship is more apparent when initially connecting. Once connected, the higher level layers allow slave devices to initiate operations just like masters. Devices start in normal disconnect mode NDM, and listen for activity for a half second before doing anything. They operate at 9600bps, 8 bits, no parity, so there is no speed matching required (capability information is exchanged after the first connection)
IrLMP (Link Management Protocol)
Multiplexes LAP to permit multiple IrLMP clients over one IrLAP connection. Provides protocol and service discovery via Information Access Service.
Information Access Service IAS
Informs which services are available for each device.
TinyTP Tiny Trnsport Protocol (optional)
Flow control on a per channel basis, optional segmentation and reassembly, something like TCP. Except for printing facilities, it is pretty much required, rather than optional.
IrCOMM (optional)
Emulates legacy application parallel printer ports and serial communication ports such as modems and applications such as PsiWin. Allows applications that are not aware of IrDA to use its facilities for printing and file transfer. Was supported in Windows 98, but not in Windows 2000 and later. It provides four service types. 3 Wire Raw (serial or parallel) for sending data only, with no non-data information. 3 Wire (serial or parallel) using TinyTP with minimal control channel. 9 Wire (serial only) with a control channel showing status of RS232 non-data lines. Centronics (parallel) using TinyTP and providing control channels.
IrOBEX
Object exchange services similar to http, appeared around mid 1998 I believe (optional). This describes how to exchange objects, but nothing of how to treat their contents. The application that receives the object is assumed to be able to call a suitable application for dealing with the object. If the transmitting and receiving device do not have these applications in common, they will probably not be able to handle the object. In the Psion, plBeam treats objects not understood by an application as files. So if you receive an object that none of your applications understand, you can still save it, or even beam it to some other device.
IrTran-P
Image exchange protocol for cameras.
IrMC
Mobile phone information exchange.
IrCOMM (optional)
Emulates legacy application parallel printer ports and serial communication ports such as modems and applications such as PsiWin. Allows applications that are not aware of IrDA to use its facilities for printing and file transfer. Was supported in Windows 98, but not initially in Windows 2000 and later. It provides four service types. 3 Wire Raw (serial or parallel) for sending data only, with no non-data information. 3 Wire (serial or parallel) using TinyTP with minimal control channel. 9 Wire (serial only) with a control channel showing status of RS232 non-data lines. Centronics (parallel) using TinyTP and providing control channels.
IrLAN
Access local area networks. Could connect to an Access Point device, such as HP NetBeam. Not yet an IrDA standard.
IrDial (sometimes called IrNet)
This is not an IrDA standard. It seems to be proprietary Microsoft, Nokia and Ericsson. Perhaps intended for DialUp and LAN.

IrDA Data Enabled Cellular Phones

If considering a cellular phone for data, I believe you should ensure it includes a data adaptor (equivalent of a modem), and a genuine IrDA connection.

Although many phones have an infrared port, most of these are not data adaptor enabled, and may not use IrDA. Such designs are not a good investment, because they either lack a built in modem for data, or use a custom infrared port instead of a standard IrDA port. Phones that lack a data adaptor (built in modem) and IrDA require custom programs on a computer.

GSM cellular phones that let you connect from a Psion 5 via the IrDA port, and that also include modem (data adaptor) facilities seem to commonly include

A somewhat more complete list (part of Rolf Brunsting's list)

  • Ericsson CF888
  • Ericsson I888
  • Ericsson R320s
  • Ericsson R320sc
  • Ericsson R380s
  • Ericsson SH888
  • Motorola L7089
  • Motorola P7389
  • Motorola Talkabout 180
  • Motorola Talkabout T2288
  • Motorola Timeport 250
  • Motorola Timeport 260
  • Motorola V2288
  • Motorola V3690
  • Motorola V50
  • Nokia 6210
  • Nokia 6250
  • Nokia 7110
  • Nokia 8210
  • Nokia 8290
  • Nokia 8810
  • Nokia 8850
  • Nokia 8890
  • Nokia 9000
  • Nokia 9000i
  • Nokia 9000il
  • Nokia 9110
  • Nokia 9110i
  • Orange L7089e
  • Pocketline Spectrum
  • Samsung SGH-A100
  • Samsung SGH-A110
  • Samsung SGH-Q100
  • Sendo D800
  • Siemens S25
  • Siemens S35i
  • Siemens S40
  • Siemens SL45
  • Ericsson click-on DI27 Infrared Adapter:
  • Ericsson A1018s
  • Ericsson CA638
  • Ericsson CF688
  • Ericsson CF768
  • Ericsson CF868
  • Ericsson GA628
  • Ericsson GF768
  • Ericsson GF768c
  • Ericsson GF788
  • Ericsson GF788c
  • Ericsson GF788e
  • Ericsson GH688
  • Ericsson I868
  • Ericsson PF768
  • Ericsson R250Pro
  • Ericsson S868
  • Ericsson T10s
  • Ericsson T10sc
  • Ericsson T18s
  • Ericsson T18sc
  • Ericsson T18z
  • Ericsson click-on DI27 Infrared Adapter:
  • Ericsson A2618s
  • Ericsson R310s
  • Ericsson T28s
  • Ericsson T28sc
  • Ericsson T28World
  • There are several others, but I won't bother to search for them until I need to replace my SH888. Lists are available on some web sites.

    IrDA Printers

    The Hewlett Packard 5P and 6P (and equivalent Postscript model) laser printer include an IrDA compliant InfraRed input port, which can be used by IrDA equipped portable computers. Unfortunately, earlier palmtop computers with infrared output (like the Newton Message Pad) tended to use the earlier ASK method. The HP 5MP works fine if driven by Psion 3c, 3mx, 5 or 7 pocket computer, or a Windows 9x notebook computer. I'm told Windows 2000 also supports printers. If printer drivers are available, they would work with Palm OS, Windows CE and Pocket PC handhelds.

    The early Cannon BJC80 and BJC50 printer included an IrDA port, however it does not seem to work with the Psion 3c nor initially with Psion 5. Testing with a later model BJC80 printer and a Psion 5 with IR worked fine (although replacing the pathetic Psion printer driver with IR upgrades and Andrew Johnson driver also probably assisted). BJC85 also works.

    IrDA Driver Support for Various Computers

    InfraRed and IrDA drivers for Apple Newton

    Used for IR remote control, such as TV. IR ASK (from Sharp, who made the Newton), will connect to other Newton, and to Sharp Wizard organiser. Later (unspecified) models added some IrDA on O/S 2.1. This provided IrLAP and IrLMP over SIR. Prints to HP (and some other) printers. Smartdog Software Backtalk will beam to Palm and some OCR pens, and some cellular phones. Sloup or EETransfer will beam to desktops. There is an FAQ, possibly not maintained.

    IrDA Drivers for HP200LX MS-DOS pocket computer

    The Hewlett Packard 200LX palmtop can drive an IrDA HP 5MP printer if you add an unsupported driver, which is usually available on the net as a zipped file called irda200.zip. Try http://hpcvbbs.cv.external.hp.com:80/software_archives/ftp/hp200lx/irda/itda200.zip or ftp://hpcvbbs.cv.external.hp.com/dist/hp200lx/irda/itda200.zip

    IrDA to Ethernet Network

    Hewlett Packard NetBeamIR infrared access point connects to your 10base2 or 10baseT and allows an IrDA equiped Windows 95 notebook computer to access Novell, Windows NT or Lan manager networks. Model is HP J2964A, search http://www.hp.com/

    Clarinet Systems have an IrDA to Ethernet converter. Their EthIR Switch comes in 8 and 16 beam models. Beams are from EthIR Beam devices. Their EthIR Lan TCP/IP system is said to work with Windows 95/98, Windows CE, MacOS, PalmOS and Linux. No mention of Psion. Wiring is Cat 5. EthIR will route to DHCP and DNS. It is intended to work with an existing Ethernet LAN. EthIR Beam receives IR frames from an infrared device and delivers these to the EthIR switch. The EthIR Switch translates these into Ethernet frames. EthIR Beam doesn't work with IR equipped cameras (but will use JetSend to HP jetSend printer). A single beam EthIR Switch is now available, called EthIR Lan 101. Neat stuff. Says they support Epoc. www.clarinetsys.com/

    RS232 to IrDA converters

    ACTiSYS ACT-IR100M is said to be compatible with Psion, WinCE, laptops, HP 5MP printer (but not HP340, 1150C, 650C). Compatibility list is at www.d-store.com/d-store/psion/ircompat.htm

    Extended Systems make JetEye IrDA transceivers which allows a PC or printer to produce IrDA signals. 5777 N. Meeker Ave, Boise, Idaho 83713 phone 800-235-7576 or 208-322-7800 fax 406-587-9170 Check their web site http://www.extendsys.com. They were working on a Psion 3c to JetEye connection. Their ESI-9680 JetEye plugs into a PC serial port of any Dos or Windows machine, and emulates a serial port, but requires IrDA file transfer software (not included). JetEye Net is an Ethernet port connection, complete with TCP/IP, Novell, and Windows NT software.

    Socket Communications have a PCMCIA card to IrDA adaptor called an infrared serial IO card. Works with Windows, OS/2 Warp, and Dos notebooks, HP LX and some others. They are at http://www.socketcom.com. The Australian distributor is Advanced Portable Technologies, on +61 2 9906-3800

    Adding IrDA hardware to a Desktop PC

    Most current desktop PC style motherboards include IrDA connectors, but not the IrDA receiver and transmitter. You need to add the infra red LED and receiver. These are not usually available from the places selling the motherboards. You often have to also enable IrDA in the BIOS.

    You can connect a PC motherboard with an IRDA connector (which is usually a 5 pin header with pin order Vcc, NC, Rx, Ground, and Tx) to an infrared converter cheaply using several different cheap IR packages. The packages contain an IR LED and a phototransistor, and some pulse shaping circuits. See the Vishay Telefunken TFDS 4500. On this chip, connect pin 2 to RxD, pin 3 to Vcc, pin 4 to Ground, pin 7 to TxD. Connect 15 ohm resistor from pin 8 (LED anode) to Vcc. Dschen Reinecke gives the details, and can sell the parts. www.dschen.de/english_irda_tfds_4500.HTML

    Elektor Electronics, the international electronics magazine, had an IrDA RS232 link project in their November 1996 issue, pages 58 to 63. All surface mount, but the double sided PCB is clean. Connects to a standard RS232. Uses a Temic TOIM3232 for pulse shaping and baud rate generating, and a TFDS4000 IR transceiver. Temic are at www.temic.de. Works with the standard Windows 95 IrDA drives, although three hardware specific files are also needed. Disk and PCB (item 960107-C) can be obtained from Elektor for Pound 15.25 (disk only for Pound 8). PO Box 1414, Dorchester DT2 8YH England.

    If there is interest in conversions like this, I'll add a different version on this site.

    IrDA and Windows

    Most current notebook computers include a working IrDA port, and do not require any hardware changes to make it work. Around 2003 some manufacturers started to drop IrDA ports from their products.

    See above for details of adding IrDA hardware to a desktop computer.

    Windows IrDA Support

    The official Microsoft list.

    I've checked Windows 95 ver 4.00.950, and it included IrDA support. Installing support wasn't totally straight forward, but after about 15 minutes of fiddling it worked (for printing to a HP 5MP).

    Windows 98SE works well with IrDA.

    Windows NT does not have IrDA support.

    Windows 2000 does not support virtual comm ports using IrCOMM, however it does support printer ports. There was a patch on the Microsoft site that seems to add a mobile phone modem support as a pseudo IrCOMM device. This works for mobile phones, where Windows is the initiating device. Other legacy gear, like digital cameras, and Psion PDAs, fail to work with Windows 2000. This is probably because a PDA can be an initiating device for a file transfer. It does support IrOBEX. Please note that I do not have nor do I use recent versions of Windows, and do not intend to use them, so I am unable to provide any additional material on Windows IrDA problems.

    IrCOMM supports emulating a serial port. This is exactly what is needed by older devices, and by programs that expect a serial port, such as PsiWin. Microsoft say it just imitates a wire connection, and is thus unreliable. It supports older application to application ad hoc control signalling. This is exactly what I need for most of my remote control devices, which have no operating system support. Also, it takes exclusive use of the port, so you can't use multiple devices at once. My attitude is that I'm not changing O/S until they fix it (or until all my old devices break), whichever comes first. Wonder how Linux IrDA support is going these days?

    Note also that the Microsoft IrCOMM addition for Windows 2000 (and probably the versions for Windows 9x although these are no longer supported) had a buffer overflow vulnerability in a buffer handling information from an IrDA device. A specially formed IrDA packet can cause an unhandled exception that would cause an access violation, and restart Windows. See Microsoft Security Bulletin MS01-046, and the patch for the vulnerability was at http://www.microsoft.com/windows2000/downloads/critical/q252795/default.asp Formerly at http://www.microsoft.com/hwdev/infrared/IrCOMM.htm and also formerly at support.microsoft.com/support/kb/articles/0252/7/95.asp

    There was said to be a third party fix for Windows 2000 at www.irda4w2k.com This is linked to Extended Systems, and their IrCOMM program. These are intended to support phones, not pdas. $17 cost. Try http://www.extendedsystems.de

    Alan McFarlane emailed me in November 2002 to say a new version would be available, and that it was likely to support Psion synchronisation. www.stud.uni-hannover.de/~kiszka/IrCOMM2k/English/version2.html

    There is said to be a tutorial on the matter (in German) at http://www.heise.de/ct/faq/

    Report: ..."with the virtual com port IrCommV1011 my mobile phone Nokia 8210 now seems to work as a modem. PsiWin still doesn't work." (This is an old report).

    There was said to be a much earlier beta version at www.users.totalise.co.uk/~tbroom called irdaw2k.zip

    Another IrDA Virtual comport for W2K, but it doesn't work with PsiWin. Probably intended for GSM phones. Formerly at http://www.gsm.org.uk/gnu_ircomm.htm

    Create a virtual comm port and works just fine for me under W2K. Formerly at www.theitguy.net/tools/IrCOMM2k-1.2.0-eng.zip

    One user said "it's free and works well". Another said it didn't work. http://www.ircomm2k.de/

    "I tried the same, but also without any luck. The program IrCOMM2k does create a virtual IR port, which works. I connected my irda-compliant gsm to it, and I was able to install it as a modem.

    "When I bring the Psion in range, the irda-icon in the system tray states "symbian EPOC device in range", and a communication starts (according to this icon). PsiWin however is unable to connect to the Psion (tried uninstalling it, prior to adding the IrCOMM2k; but this gave similar results). On some occasions (I don't know when/why) the computer hangs, but killing the processes irftp.exe and ircomm2k.exe (in taskmanager) solves this...

    "The IRDA-adapter is an Actisys 210L (mainboard adapter, irda 1.0). I read somewhere that irda 1.1 is required, but I have lost the link... Jorg"

    Alan McFarlane (who is much happier with IrOBEX and unhappier with IrCOMM than I am) had a couple of very informative short articles regarding IrDA and Windows XP and 2000 now moved to www.alanjmcf.me.uk/

    Another report in March 2004. I've found your Psion web pages really useful. Your site led me to IrCOMM2k although your page wasn't sure if this would work with XP. Well, the latest beta just worked for me where version 1.2.1 previously failed. Now all I need is a nice PC agenda app to sync with; or the EPOC Agenda technical spec...

    This worked for me using... * Windows XP Pro SP1 * Psion 5mx (Remote Link = Infrared, 115200) * PsiWin 2.3.3 * IrCOMM2k 2.0.0-beta2 * NO PROBLEM :-)

    IrDA IrOBEX

    IrOBEX (InfraRed Object Exchange) is a method of exchanging Objects via IrDA. Typical objects are calendar entries in vCalendar format, or vCard data entries. Psion Epoc Release 5 supports the 1998 version of IrOBEX, and will thus beam Agenda calendar dates, and Contact data entries. The two devices in question need to agree on their concept of what an object is, and what to do with it. Often they do not. You should note that IrOBEX is not intended for the same purposes as IrCOMM, and is not suitable as a replacement for it. It implicitly relies upon both devices agreeing on the nature of an object, which is not always the case. You can add plBeam to a Psion Epoc release 5 system to extend its IrOBEX capabilities. There is also a free IrOBEX arbitrary file transfer utility similar to plBeam on the CPen site.

    IrDA Pen Scanners

    QuickLink Pen sold in Australia by Wizcom Technologies, PO Box 168, Glenhuntly Vic 3163 ph +61 3 9221 8202. Pen shaped scanner with OCR and serial RS232 plus IrDA link. Arm 7 TDMI with 64 to 192 kbyte of RAM, and socket for flash memory card, 2 MB ROM (operating system?) Screen is 61mm by 20mm, 122 x 32 pixels, total size 163mm x 38mm x 23mm, weight 90 grams. The scanning element is a 128 pixel 400 dpi linear array handling 6-22 point fonts. No indication about working with Psion. The same company do Quicktionary, a spelling aid pen. I don't know of it working with Psion. www.quicktionary.com

    C-Pen comes in several models. Rechargeable battery, 8 MB flash, 1 MB RAM. Programs include C Write to recognise letters from pen movements, and a dictionary. Size 150 x 38 x 23 mm, 10 MHz Strong Arm processor, 100 grams. Uses infrared port, no serial line. Around A$700 end of 1999. C-Pen 200 is a smaller, lighter, cheaper model with only 512k RAM and 2 MB flash, and a two line display rather than four lines. No dictionary or message store. Around A$400 end of 1999. There is a C-Pen 600 also. Works if you use plBeam or their own IrOBEX .sis with a Psion. www.cpen.com and formerly at http://www.ctechnologies.se.

    A Psion driver was discussed from time to time, and it was on their site in 2002, or you can use the plBeam application to make IrOBEX work.

    Australian agent Swe-Tech Pty Ltd PO Box 288, Albert Street, Brisbane, Qld 4002 (07) 3220 0388 www.swe-tech.com.au

    InfraRed Keyboards for PCs

    These are not IrDA. They are a custom infrared interface. Being specific purpose, that is fine, you don't need IrDA for these.

    I started using an Acer WIL 12001 infrared keyboard around 1996. Plugs into the keyboard and serial ports. It was trouble free for many years. Sufficiently bright sunlight can restrict its range (although when it is that bright, I usually can't read my display). Cost me about A$120 through an Acer dealer (who hadn't heard of it and had to get it in for me). Only problem is that the inbuilt mouse device (a largish button you tilt) is even less acceptable than a regular mouse. Crashed and got unreliable in late 1999 (I suspect bad battery connections). I was pretty happy with it and would have bought another except in the meanwhile they all got lots more keys and became too big to sit on my lap.

    I replaced it with an SK 7100 I got for $100 from the Innovations catalog. This also works fine, and has nice handgrips at each end to help when you move it somewhere one handed. It has a bunch of extra sound card control buttons at the top, but I've never seen anything that responds to them. These keys emit ikoma qegjp cbdl according to my text editor.

    I destroyed my Innovations keyboard by spilling Coke (lots) in it. After three days of cleaning and drying it still didn't work (and I'd discovered the keys did not disassemble gracefully), so I bought another. About a month later the "broken" one started working fine again. These use a Silitek joystick style mouse that is very easy to use.

    Behavior Tech Computer have infrared wireless keyboards. They are at 4180 Business Center Drive, Fremont Ca 94538 phone (510) 657-3956 or fax (510) 657-1859, email at btcusa.com.

    CNF had infrared keyboards (pn:1830ir) plus models with a trackball (pn:1830irt). Check CNF Inc, 15345 Calle Enrique, Morgan Hill, Ca 95037 phone 1-800-826-3462 or 408-778-1160 or fax 408-779-6558 or check The standard model uses two AAAs, while the trackboard model uses two AAs. They claim 90 hours life, at a half hour a day. Their infrared is at 56 KHz so it isn't IrDA. The keyboards shown are small (11.5 inches) and have 86 keys.

    Microspeed Wireless Keyboard Deluxe includes a two button Microsoft Mouse compatible trackball in a small (11.5" x 5.6" x 1.2") 86 key infrared keyboard that runs off two AA batteries. The receiver has PS2 keyboard and mouse connectors. No software drivers are required, as the input is as if it came direct from keyboard and mouse. Microspeed are at 5005 Brandin Court, Fremont, Ca 94538 USA phone (510) 490-1403, fax (510) 490-1665, formerly at http://www.microspeed.com

    Sejin make a range of infrared keyboards and remote controls. Their Beamer model is a keyboard, trackball and universal remote control. Suggested retail price is US$219. Try www.sejin.com

    See also Bluetooth.

    I hope you have enjoyed www.ericlindsay.com.