Generic SIR COM IrDA device (Tekram IR-210)

The theory

Supported hardware

1. External IrDA port (Tekram IR-210), connected to COM port.

2. Integrated IrDA port (notebook for example)

3. RX device. It can be any IR receiver, connected to IrDA port on motherboard.

Available chips: TSOP1836, IS1U60L, GP1U52X, SFH506-36,TK1833, ILMS5360, TK69 649, TFMS 5NN0

SFH506-36Pinout:
1. GND
2. VCC (+5V)
3. TX (connect to RX line on mainboard)

IrDA connector pinout on motherboard is usually one of the following (it would be better, to read the motherboard manual):

5-pin:
1 2 3 4 5
+5V NC RX GND TX
7-pin:
1 2 3 4 5 6 7
RX GND TX +5V RXH +5V GND

TK1833NC (Not Connected) - this pin sometimes is absent

One of the best way to connect IR-reciever and motherboard - is to use CD-ROM Audio cable, or serial (COM) mouse cable. You should only swap some contacts.

REMEMBER! RX device is not the same as IrDA. All IrDA receivers will work badly, because they haven't bandpass & demodulator. They are not intended for remote control. Absolutely NO WARRANTY. See also DCD, UIR.

Supported remote control units

Pulse-length and Bi-pahse modulation not supported.
Philips, Samsung (RC-5), SONY remote controls not work with IrDA device.

Tested: JVC (successfully),
NEC based like AIWA, AverMedia, Creative, HITACHI, NOKIA and etc. (repeat not detect).

Drivers

If you're using external COM IrDA device (Tekram IR-210), you need remove IrDA drivers or simply reconnect device to free COM port.

If you're using RX device or internal IrDA:

FIRST, you should disable standard IrDA drivers, which are installed after enabling IrDA.

Description Mirror #1 Mirror #2 Size
Samples of .inf files for all Windows inf_samples.zip inf_samples.zip 51KB

* Many thanks to http://cmail.info.kuzbass.net/~nav/

If you're using Windows 9x, or Windows ME find msports.inf in your Windows\Inf directory and edit it:
1) In section [Std] comment/remove the following lines (if they present):

%*PNP0510.DeviceDesc% = InfraredComPort, *PNP0510
%*PNP0511.DeviceDesc% = InfraredComPort, *PNP0511

Uncomment/add the following lines:

%*PNP0510.DeviceDesc% = ComPort, *PNP0510
%*PNP0511.DeviceDesc% = ComPort, *PNP0511

2) In section [Strings] uncomment/add the following lines:

*PNP0510.DeviceDesc = "Generic Ir Serial Port"
*PNP0511.DeviceDesc = "Generic Ir Serial Port"

For Windows ME you should also delete irmini.inf (or, better rename to irmini.bak for example)

For Windows 2000 I used such a method to delete standart drivers:
1) Remove folowing strings from netirsir.inf:

%*PNP0510.DevDesc% = PNP, *PNP0510
%*PNP0511.DevDesc% = PNP, *PNP0511

and replace

ExcludeFromSelect=*PNP0510,*PNP0511,*IBM0002,*IBM0034,*IBM0020

to

ExcludeFromSelect=*IBM0002,*IBM0034,*IBM0020

2) Add to msports.inf to section [Std]:

%*PNP0510.DeviceDesc% = ComPort, *PNP0510, *PNP0511 ; Communications Port
%*PNP0511.DeviceDesc% = ComPort, *PNP0511, *PNP0510 ; Communications Port

to section [Strings]:

*PNP0510.DeviceDesc = "Generic Ir Serial Port"
*PNP0511.DeviceDesc = "Generic Ir Serial Port"

add

ExcludeFromSelect=*PNP0510,*PNP0511

to section [ControlFlags]

For Windows XP I just used .inf files from Windows 2000. You may try to edit XP .inf files same way as it described above - it should work.

ONLY NOW enable IrDA in BIOS. Usually you should also enable RX inverting.

Usually, it's useful to disable FIFO buffers for Ir serial port (it is in system properties).


Note: Run plugin setup for choice of COM port and see / define button names.

Events:

Default type: "REMOTE"
ID: "<Button name>"
Parameter: Repeat counter, -1 if released

Wait before repeat: 300 ms
Repeat time: 100 ms

Actions: none

Example:

Ir210 = Load( "Ir210\Ir210.dll", "REMOTE" )

main = group( enabled ){
OnGroupEnable(){
Ir210.Start()
}
MyButton = hook("remote", "play", enabled, break){
OSD("Play pressed")
}
}