Difference between revisions of "IrDA"

From ThinkWiki
Jump to: navigation, search
(PnP settings from Linux)
(IrDA 1.1: added missing models)
 
(18 intermediate revisions by 8 users not shown)
Line 1: Line 1:
== ThinkPad IrDA configuration ==
+
{| width="100%"
 +
|style="vertical-align:top;padding-right:20px;width:10px;" | [[Image:irda.png|192px]] __NOTOC__
 +
|style="vertical-align:top" |
 +
<div style="margin: 0; margin-right:10px; border: 1px solid #dfdfdf; padding: 0em 1em 1em 1em; background-color:#F8F8FF; align:right;">
 +
===IrDA===
 +
IrDA is a technology which uses Infrared waves to receive and transmit information. It was convenient for data transfer (back then) as it did not require wires to be used, till it was eventually superseded by Bluetooth. It offered much greater convenience than IrDA as it was capable of transmitting and receiving data in all directions, unlike IrDA that required a direct line-of-sight to work.
 +
</div>
 +
|}
 +
==Overview==
 +
Some models have an integrated IrDA transceiver that can be used in one of two modes, SIR (IrDA 1.0 and 1.1) or FIR (IrDA 1.1).
 +
*SIR is limited to serial data rates up to 115.2Kb/s
 +
*FIR is the preferred mode of IrDA 1.1 and operates at a bandwidth of 4 Mbps
 +
A newer VFIR standard exists, which supports speeds up to 16 Mbps. However, no models support this.
  
IrDA can be used to communicate using Infrared to other IrDA compliant devices, such as other Notebooks, PDAs and mobile phones.
+
===Linux support===
 +
See the [[How to make use of IrDA]] page.
  
All IBM ThinkPads manufactured in the last years have integrated IrDA that can be used in one of two modes, SIR or FIR.
+
===External sources===
Some very old ThinkPads only support SIR mode, or might not have IrDA support at all. A newer VFIR standard exists, which supports speeds upto 16Mbps. However for the moment no ThinkPads support this.
+
*[http://irda.sourceforge.net/ Linux-IrDA Project]
 +
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project]
 +
*[http://tpctl.sourceforge.net/ tpctl homepage]
 +
*[http://www.lirc.org/ Linux Infrared Remote Control]
  
The purpose of this document is to get the IrDA hardware in your ThinkPad operational, setting up communication to other devices is not covered. However, the external links section can prove useful for this.
+
==Models featuring this technology==
 
+
===IrDA 1.0===
=== Serial IR (SIR) ===
 
SIR is limited to serial datarates up to 115.2Kb/s
 
 
 
==== Linux 2.4 kernel config ====
 
Edit {{path|/etc/modules.conf}} and add the following lines
 
  alias tty-ldisc-11 irtty
 
  alias char-major-161 ircomm-tty
 
 
 
=== Fast IR (FIR) ===
 
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps
 
==== BIOS settings ====
 
Main problem here is that the chips FIR mode needs to be activated. On most ThinkPads, the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing {{key|F1}} when prompted.
 
Then, selecting 'Config' followed by 'Infrared' will allow you to control the IrDA operation. Here you will need to select the option to Enable the infra-red port. Be sure to save the changes, and then Exit. Make sure that you do not only enable the Device, also set the resources manually. Else, lirc will remain silent.
 
 
 
Note: Changing these BIOS settings do not affect Windows 2000 or XP operating systems, but may cause resource issues in older windows versions, or other legacy operating systems.
 
 
 
==== PnP settings from Linux ====
 
If changing the BIOS setting is not an option or if the settings cannot be altered, as on some older ThinkPads, the FIR mode can be activated from Linux with one of the following (this needs to be done on every boot):
 
 
 
* setpnp as part of the old pcmcia-utils source package
 
* tpctl, but only for some old ThinkPads
 
 
 
setpnp requires a kernel with pnp-bios support compiled in, which the {{Redhat}} and {{Fedora}} kernels lack.
 
 
 
==== ISA PnP patch ====
 
2.6 kernel ISA PnP Patches exist for the nsc-ircc driver, that allow the loading of the driver without the BIOS, setpnp or tpctl hacks.<br>
 
You will still have to call setserial and set the dongle_id parameter, as shown below.
 
 
 
* [http://steffenpingel.de/patches/nsc-ircc-pnp.diff 2.6.10 patch]
 
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12-rc6.diff 2.6.12-rc6 patch]
 
* [http://shamrock.dyndns.org/~ln/linux/nsc-ircc-pnp.2.6.12.diff 2.6.12 patch (applies cleanly to 2.6.12 through 2.6.15)]
 
 
 
This patch seems ''necessary'' in some cases (e.g., ThinkPad {{T43}} and kernel 2.6.14.2).
 
 
 
==== Linux 2.4 kernel config ====
 
Edit {{path|/etc/modules.conf}} and add the following lines
 
 
 
      alias irda0 nsc-ircc
 
      options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3
 
      pre-install nsc-ircc setserial /dev/ttyS1 uart none port 0 irq 0
 
 
 
==== Linux 2.6 kernel config ====
 
Edit {{path|/etc/modprobe.conf}} and add the following lines
 
 
 
      alias irda0 nsc-ircc
 
      options nsc-ircc dongle_id=0x09 io=0x2f8 irq=3
 
      install nsc-ircc /bin/setserial /dev/ttyS1 uart none port 0 irq 0; /sbin/modprobe --ignore-install nsc-ircc
 
 
 
=== Known problems ===
 
* If the FIR mode is not activated, attempts to load the nsc-ircc module will result in an error in syslog of "Wrong chip version ff".
 
* After suspend the nsc-ircc module needs to be manually reloaded
 
* Module reloading does not work for me after a suspend. The IrDA port has to be actived.
 
rmmod nsc_ircc
 
echo disable > /sys/devices/pnp0/00\:0d/resources
 
echo activate > /sys/devices/pnp0/00\:0d/resources
 
modprobe nsc_ircc
 
The value <tt>pnp0/00\:0d</tt> can vary - look for a resources file containing the appropriate irq/dma/io values, e.g., using {{cmdroot|grep 0x2f8 /sys/devices/pnp*/*/resources}} .
 
 
 
=== Some other things you might want to do with IrDA ===
 
 
 
* add fast PPP support:
 
:{{cmdroot|modprobe irnet}}
 
* if needed, limit further the size of the transmit window
 
:{{cmdroot|echo 1 > /proc/sys/net/irda/max_tx_window}}
 
 
 
== External links ==
 
*[http://irda.sourceforge.net/ Linux-IrDA Project] (External)
 
*[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External)
 
*[http://tpctl.sourceforge.net/ tpctl homepage] (External)
 
*[http://www.lirc.org/ Linux Infrared Remote Control] (External)
 
 
 
== Supported Models ==
 
'''IrDA 1.0 (SIR - 115Kbps)'''
 
 
* {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}
 
* {{365C}}, {{365CD}}, {{365CS}}, {{365CSD}}, {{365E}}, {{365ED}}, {{365X}}, {{365XD}}
* {{560}}
+
* {{535}}, {{535E}}, {{560}}
* {{755CD}}, {{755CDV}}, {{755CE}}, {{755CSE}}, {{755CV}}, {{755CX}}
+
* {{755CD}}, {{755CDV}}, {{755CE}}, {{755CSE}}, {{755CV}}, {{755CX}}, {{760C}}, {{760CD}}, {{760E}}, {{760ED}}, {{760EL}}, {{760ELD}}, {{760L}}, {{760LD}}, {{760XD}}, {{760XL}}, {{765D}}, {{765L}}
* {{760C}}, {{760CD}}, {{760E}}, {{760ED}}, {{760EL}}, {{760ELD}}, {{760L}}, {{760LD}}, {{760XD}}, {{760XL}}
 
* {{765D}}, {{765L}}
 
 
* {{PC110}}
 
* {{PC110}}
'''IrDA 1.1 (FIR - 4Mbps)'''
+
 
* {{240}}, {{240X}}
+
===IrDA 1.1===
* {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}
+
* {{i1124}}, {{i1157}}, {{i1700}}, {{i1720}}, {{i1721}}, {{i1780}}, {{i1781}}
* {{385D}}, {{385ED}}, {{385XD}}
+
* {{240}}, {{240X}}, {{240Z}}
* {{390}}, {{390E}}, {{390X}}
+
* {{380}}, {{380D}}, {{380E}}, {{380ED}}, {{380XD}}, {{380Z}}, {{385D}}, {{385ED}}, {{385XD}}, {{390}}, {{390E}}, {{390X}}
* {{560E}}, {{560X}}, {{560Z}}
+
* {{535X}}, {{560E}}, {{560X}}, {{560Z}}, {{570}}, {{570E}}
* {{570}}, {{570E}}
+
* {{6 Series}}
* {{600}}, {{600E}}, {{600X}}
 
 
* {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
 
* {{770}}, {{770E}}, {{770ED}}, {{770X}}, {{770Z}}
* {{A Series}}
+
* {{A20m}}, {{A20p}}, {{A21e}}, {{A21m}}, {{A21p}}, {{A22e}}, {{A22m}}, {{A22p}}, {{A30}}, {{A30p}}, {{A31}}, {{A31p}}
* {{i1720}}, {{i1721}}
+
* {{T20}}, {{T21}}, {{T22}}, {{T23}}, {{T30}}, {{T40}}, {{T40p}}, {{T41}}, {{T41p}}, {{T42}}, {{T42p}}, {{T43}}, {{T43p}}, {{T60}}, {{T60p}}
* {{R Series}}
+
* {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}}, {{X41 Tablet}}, {{X60}}, {{X60s}}, {{X60 Tablet}}
* {{T Series}}
+
* {{R30}}, {{R31}}, {{R32}}, {{R40}}, {{R50}}, {{R50p}}, {{R51}}, {{R52}}, {{R60}}
* {{X22}}, {{X23}}, {{X24}}, {{X30}}, {{X31}}, {{X32}}, {{X40}}, {{X41}} and {{X41T}}
+
* {{Z60t}}, {{Z61t}}, {{Z60m}}, {{Z61m}}, {{Z61p}}
* {{Z60m}}, {{Z60t}}
 
 
* {{TransNote}}
 
* {{TransNote}}
  
[[Category:Drivers]]
+
[[Category:Glossary]] [[Category:Ports, Connectors and Slots]]

Latest revision as of 13:24, 22 November 2020

Irda.png

IrDA

IrDA is a technology which uses Infrared waves to receive and transmit information. It was convenient for data transfer (back then) as it did not require wires to be used, till it was eventually superseded by Bluetooth. It offered much greater convenience than IrDA as it was capable of transmitting and receiving data in all directions, unlike IrDA that required a direct line-of-sight to work.

Overview

Some models have an integrated IrDA transceiver that can be used in one of two modes, SIR (IrDA 1.0 and 1.1) or FIR (IrDA 1.1).

  • SIR is limited to serial data rates up to 115.2Kb/s
  • FIR is the preferred mode of IrDA 1.1 and operates at a bandwidth of 4 Mbps

A newer VFIR standard exists, which supports speeds up to 16 Mbps. However, no models support this.

Linux support

See the How to make use of IrDA page.

External sources

Models featuring this technology

IrDA 1.0

IrDA 1.1