Difference between revisions of "IrDA"
(→Known problems: added information about reenabling irda) |
|||
Line 12: | Line 12: | ||
==== Linux 2.4 kernel config ==== | ==== Linux 2.4 kernel config ==== | ||
− | Edit /etc/modules.conf and add the following lines | + | Edit {{path|/etc/modules.conf}} and add the following lines |
alias tty-ldisc-11 irtty | alias tty-ldisc-11 irtty | ||
alias char-major-161 ircomm-tty | alias char-major-161 ircomm-tty | ||
Line 19: | Line 19: | ||
FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps | FIR is the preferred mode of IrDA operation and operates at a bandwidth of 4 Mbps | ||
==== BIOS settings ==== | ==== BIOS settings ==== | ||
− | Main problem here is that the chips FIR mode needs to be activated. On A, G, R, T and X model ThinkPads, the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing F1 when prompted. | + | Main problem here is that the chips FIR mode needs to be activated. On A, G, R, T and X model 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. | 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. | ||
Line 29: | Line 29: | ||
* tpctl, but only for some old ThinkPads | * tpctl, but only for some old ThinkPads | ||
− | setpnp requires a kernel with pnp-bios support compiled in, which the | + | setpnp requires a kernel with pnp-bios support compiled in, which the {{Redhat}} and {{Fedora}} kernels lack. |
==== ISA PnP patch ==== | ==== 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> | 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> | ||
Line 38: | Line 38: | ||
==== Linux 2.4 kernel config ==== | ==== Linux 2.4 kernel config ==== | ||
− | Edit /etc/modules.conf and add the following lines | + | Edit {{path|/etc/modules.conf}} and add the following lines |
alias irda0 nsc-ircc | alias irda0 nsc-ircc | ||
Line 45: | Line 45: | ||
==== Linux 2.6 kernel config ==== | ==== Linux 2.6 kernel config ==== | ||
− | Edit /etc/modprobe.conf and add the following lines | + | Edit {{path|/etc/modprobe.conf}} and add the following lines |
alias irda0 nsc-ircc | alias irda0 nsc-ircc | ||
Line 65: | Line 65: | ||
=== Some other things you might want to do with IrDA === | === Some other things you might want to do with IrDA === | ||
− | + | * add fast PPP support: | |
− | modprobe irnet | + | :{{cmdroot|modprobe irnet}} |
− | + | * if needed, limit further the size of the transmit window | |
− | + | :{{cmdroot|echo 1 > /proc/sys/net/irda/max_tx_window}} | |
− | echo 1 > /proc/sys/net/irda/max_tx_window | ||
== External links == | == External links == | ||
− | [http://irda.sourceforge.net/ Linux-IrDA Project] (External) | + | *[http://irda.sourceforge.net/ Linux-IrDA Project] (External) |
− | + | *[http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External) | |
− | [http://pcmcia-cs.sourceforge.net/ Linux PCMCIA Project] (External) | + | *[http://tpctl.sourceforge.net/ tpctl homepage] (External) |
− | |||
− | [http://tpctl.sourceforge.net/ tpctl homepage] (External) | ||
== Supported Models == | == Supported Models == |
Revision as of 10:35, 20 July 2005
ThinkPad IrDA configuration
IrDA can be used to communicate using Infrared to other IrDA compliant devices, such as other Notebooks, PDA's and mobile phones.
All IBM ThinkPads manufactured in the last years have integrated IrDA that can be used in one of two modes, SIR or FIR. Some very old ThinkPads only support SIR mode, or might not have IrDA support at all.
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.
Serial IR (SIR)
SIR is limited to serial datarates up to 115.2Kb/s
Linux 2.4 kernel config
Edit /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 A, G, R, T and X model ThinkPads, the easiest way to activate FIR mode is by entering BIOS setup during boot-up by pressing 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.
Note: Changing these BIOS settings do not affect Windows 2000 or XP operating systems, but may cause memory 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 by running Linux OS with one of the following:
- 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 Red Hat 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.
You will still have to call setserial and set the dongle_id parameter, as shown below.
- 2.6.10 patch
- 2.6.12-rc6 patch (applies cleanly on 2.6.12 as well)
Linux 2.4 kernel config
Edit /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 /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
Very Fast IR (VFIR)
A newer VFIR standard exists, which supports speeds upto 16Mbps.
However for the moment no ThinkPads support this.
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
Some other things you might want to do with IrDA
- add fast PPP support:
# modprobe irnet
- if needed, limit further the size of the transmit window
# echo 1 > /proc/sys/net/irda/max_tx_window
External links
- Linux-IrDA Project (External)
- Linux PCMCIA Project (External)
- tpctl homepage (External)
Supported Models
IrDA 1.0 (SIR - 115Kbps)
- 365C, 365CD, 365CS, 365CSD, 365E, 365ED, 365X, 365XD
- 560
- 755CD, 755CDV, 755CE, 755CSE, 755CV, 755CX
- 760C, 760CD, 760E, 760ED, 760EL, 760ELD, 760L, 760LD, 760XD, 760XL
- 765D, 765L
- PC110
IrDA 1.1 (FIR - 4Mbps)
- 240, 240X
- 380, 380D, 380E, 380ED, 380XD, 380Z
- 385D, 385ED, 385XD
- 390, 390E, 390X
- 560E, 560X, 560Z
- 570, 570E
- 600, 600E, 600X
- 770, 770E, 770ED, 770X, 770Z
- A20m, A20p, A21e, A21m, A21p, A22e, A22m, A22p, A30, A30p, A31, A31p, A275, A285, A475, A485
- i Series 1720, i Series 1721
- Template:R14, Template:R15, R30, R31, R32, R40, R40e, R50, R50e, R50p, R51, R51e, R52, R60, R60e, R60i, R61, R61e, R61i, R400, R480, R490, R500, R580, R590
- T14, T14s, T15, T20, T21, T22, T23, T30, T40, T40p, T41, T41p, T42, T42p, T43, T43p, T60, T60p, T61, T61p, T400, T400s, T410, T410i, T410s, T410si, T420, T420i, T420s, T420si, T430, T430i, T430s, T430si, T430u, T431s, T440, T440s, T440p, T450, T450s, T460, T460s, T460p, T470, T470s, T470p, T480, T480s, T490, T490s, T495, T495s, T500, T510, T510i, T520, T520i, T530, T530i, T540p, T550, T560, T570, T580, T590
- X22, X23, X24, X30, X31, X32, X40, X41 and X41 Tablet
- TransNote
- Red Hat
- Fedora
- 365C
- 365CD
- 365CS
- 365CSD
- 365E
- 365ED
- 365X
- 365XD
- 560
- 755CD
- 755CDV
- 755CE
- 755CSE
- 755CV
- 755CX
- 760C
- 760CD
- 760E
- 760ED
- 760EL
- 760ELD
- 760L
- 760LD
- 760XD
- 760XL
- 765D
- 765L
- PC110
- 240
- 240X
- 380
- 380D
- 380E
- 380ED
- 380XD
- 380Z
- 385D
- 385ED
- 385XD
- 390
- 390E
- 390X
- 560E
- 560X
- 560Z
- 570
- 570E
- 600
- 600E
- 600X
- 770
- 770E
- 770ED
- 770X
- 770Z
- A20m
- A20p
- A21e
- A21m
- A21p
- A22e
- A22m
- A22p
- A30
- A30p
- A31
- A31p
- A275
- A285
- A475
- A485
- I1720
- I1721
- R30
- R31
- R32
- R40
- R40e
- R50
- R50e
- R50p
- R51
- R51e
- R52
- R60
- R60e
- R60i
- R61
- R61e
- R61i
- R400
- R480
- R490
- R500
- R580
- R590
- T14
- T14s
- T15
- T20
- T21
- T22
- T23
- T30
- T40
- T40p
- T41
- T41p
- T42
- T42p
- T43
- T43p
- T60
- T60p
- T61
- T61p
- T400
- T400s
- T410
- T410i
- T410s
- T410si
- T420
- T420i
- T420s
- T420si
- T430
- T430i
- T430s
- T430si
- T430u
- T431s
- T440
- T440s
- T440p
- T450
- T450s
- T460
- T460s
- T460p
- T470
- T470s
- T470p
- T480
- T480s
- T490
- T490s
- T495
- T495s
- T500
- T510
- T510i
- T520
- T520i
- T530
- T530i
- T540p
- T550
- T560
- T570
- T580
- T590
- X22
- X23
- X24
- X30
- X31
- X32
- X40
- X41
- X41 Tablet
- TransNote
- Drivers