NAME¶
smcinit - initialize the SMSC IrDA controler on various laptops
SYNOPSIS¶
smcinit
[OPTIONS]
DESCRIPTION¶
Toshiba Satellite 1800, Satellite 5100, Tecra 9100 laptops and may be many other
models are provided with a SMCS LPC47N227 SuperIO chip which is IrDA SIR/FIR
capable. The IrDA subsystem of the SuperIO chip is supported by the
smc-ircc Linux kernel module. Unfortunately the BIOS neither
configurates the SuperIO chip IrDA subsystem (SIR port, FIR port, dma, irq,
IrDA mode, power) nor sets the PCI-ISA bridge to decode any usable port. Linux
kernel is thus prevented to detect the second UART making impossible to use it
in SIR mode. For the same reason, the FIR mode
smc-ircc is able to
detect the SuperIO chip but, once found the IrDA subsystem unconfigured, fails
to install.
While this problem will be fixed in Linux 2.6.x kernel series, the 2.4.x users
are frustrated. Daniele Peri, Rob Miller and Paul Hampson mananged to build
little utilities that initialize the LPC47N227 SuperIO allowing smc-ircc IrDA
kernel driver to detect and use the SMSC chip.
My sole work was to put these utilities as one package, easy to install and use.
OPTIONS¶
- -V, --version
- Show program version and exit
- -h, --help
- Show a little help on options and exit
- -v, --verbose
- Increase the details about actions performed
- -t, --tty=device
- If specified, the serial device will be unbound from the kernel
stock serial driver. It is there to replace an external call to
setserial(1) to unset the UART of the device. There is no default
value.
- -s, --sirio=IO
- Set the SIR (serial infrared) I/O port address to IO. Default value
is 0x3f8.
- -f, --firio=IO
- Set the FIR (fast infrared) I/O port address to IO. Default value
is 0x130.
- -i, --firirq=IRQ
- Set the FIR (fast infrared) IRQ line to IRQ. Default value is
3.
- -d, --firdma=DMA
- Set the FIR (fast infrared) DMA channel to DMA. Default value is
3.
CONFIGURATION¶
When system startup a script is run from
/etc/init.d and which run
appropriate SMC intialization utility. This is done before PCMCIA startup
because on Tecra 9100 and other models the
orinoco_cs wireless driver
will block the I/O region used 47N227 SuperIO.
The only configuration file is
/etc/sysconfig/smcinit and the variable
SMCCONFIG can be set to "1800" or "5100". By default
"5100" value is used.
- 1800
- for Toshiba Satellite 1800
- 5100
- for Toshiba Satellite 5100 and Toshiba Tecra 9100
The next step is to configure the kernel IrDA stack package to attach the
smc-ircc driver. This is Linux distribution specific. The main thing is that
the device should be set to "irda0". Run the following command:
irattach irda0 -s
Distribution specific configuration:
- SuSE
- Edit the /etc/sysconfig/irda and set IRDA_PORT=irda0
- RedHat
- Edit the /etc/sysconfig/irda and set DEVICE=irda0
NOTES¶
The
smc-ircc driver is preloaded in kernel. I tested the package only on
Tecra 9100 without any additional step, but for Toshiba Satellite 1800 Daniele
Peri sugest to put the following line in your
/etc/modules.conf (on one
line):
options smc-ircc ircc_dma=3 ircc_irq=7 ircc_cfg=0x2e \
ircc_sir=0x2e8 ircc_fir=0x2f8
After that run the command:
prompt# depmod -a
If the laptop enter suspend mode, then resume operation the
smc-ircc
driver will stop working. You need to stop IrDA service, then SMCINIT, start
SMCINIT, and finally start IrDA service. Simply put, the kernel driver must be
unloaded, then reloaded.
FILES¶
- /etc/sysconfig/smcinit
- Configuration file for SMCINIT startup script. It's shell script.
AUTHOR¶
This document is made by Claudiu Costin <claudiuc@kde.org> The utilities
authors are Daniele Peri, Rob Miller and Paul Hampson. Thomas Pinz made
improvements to
tosh-smcinit (the former
tosh5100-smcinit) to
expand the number of Toshiba Satellite models supported.
SEE ALSO¶
smcinit(7),
tosh1800-smcinit(8),
irattach(1),
irdadump(1),
http://irda.sourceforge.net/smcinit/ the SMCINIT package home page.