I based my effort on this and this description, and do document here only the differences.
CONFIG_BLK_DEV_PIIX is set as module and I don't have any
issue with this.pc104 model, with us layout. I also added the
XkbOptions value compose:menu in order to be able
to enter international characters with an US keyboard (using UTF-8 as my
standard charset).sl-modem-daemon package, which, together with the
snd_intel8x0m ALSA module ('m' stands for modem), does load
fine, but I haven't tried it yet./etc/hotplug/blacklist.d/nc6000 containing modules hotplug
tries to load without any success:
i810_rng
hw_random
shpchp
pciehp
This setup part is a bit more extensive, so it gets its own chapter.
setkeycodes e008 89 e00a 90 e020 91 e02e 92
e030 93 to a new file (e.g. setkeycodes) in the
directory /etc/console-tools/config.d.~/.Xmodmap with a content similar to the
following:
! 2.4 kernel
keycode 136 = F30
keycode 138 = F31
keycode 160 = F32
keycode 174 = F33
keycode 176 = F34
! 2.6 kernel
keycode 128 = F30
keycode 123 = F31
keycode 127 = F32
keycode 129 = F33
keycode 120 = F34
The duplicate lines are due to the fact that the 2.4 and 2.6
kernels seem to have a different internal mapping (don't ask me).
It doesn't hurt to have both versions together.






switchmute script, we set it
executable (chmod +x .../switchmute). Its content looks as
follows:
#!/bin/sh
if [ $(dcop kmix Mixer0 mute 0) = "false" ]
then
dcop kmix Mixer0 setMute 0 1
else # true -> un-mute
dcop kmix Mixer0 setMute 0 0
fi
What follows is the detail of how I came to the above result, it's a bit lengthy but can be reused for other computers (or if the configuration of your nc6000 somehow differs). These are just notes taken while doing the stuff (under Kernel 2.4).
## Press keys on console (not under X) and get following error messages
# keyboard: unknown scancode e0 08 # presentation
# keyboard: unknown scancode e0 0a # lock
# keyboard: unknown scancode e0 20 # mute
# keyboard: unknown scancode e0 2e # sound down
# keyboard: unknown scancode e0 30 # sound up
## use 'dumpkeys | grep =$' to find free keycodes (on console or as root)
#keycode 85 =
#keycode 89 =
#keycode 90 =
#keycode 91 =
#keycode 92 =
#keycode 93 =
#keycode 94 =
#keycode 95 =
#keycode 120 =
#keycode 121 =
#keycode 122 =
#keycode 123 =
#keycode 124 =
#keycode 125 =
#keycode 126 =
#keycode 127 =
## probably as root (required at each reboot)
## I created a file /etc/console-tools/config.d/setkeycodes with the
## following line (it's loaded by /etc/init.d/console-screen.sh):
setkeycodes e008 89 e00a 90 e020 91 e02e 92 e030 93
## keycode from dumpkeys/loadkeys and xmodmap are not the same:
## you can check the console keycodes with 'showkey'
## xev (under X) shows the keycode for xmodmap:
# 136 138 160 174 176 # in the same order as setkeycodes
## 'dumpkeys -l' shows available keysyms to be used.
## it will generally be something like F21 to F246 possible for loadkeys,
## but /usr/include/X11/keysymdef.h defines only up to F35
## ('dumpkeys' shows that strings are assigned up to F20)
## This could be the keymap for loadkeys (but that doesn't bring anything,
## I don't know what I misunderstood here)
keycode 89 = F30
keycode 90 = F31
keycode 91 = F32
keycode 92 = F33
keycode 93 = F34
## And this should be the keymap for xmodmap (e.g. in ~/.Xmodmap)
## I used the example given in Xsession(5) to include xmodmap.
keycode 136 = F30
keycode 138 = F31
keycode 160 = F32
keycode 174 = F33
keycode 176 = F34
Use the command dpkg-reconfigure irda-utils to base configure
IrDA (you should avoid editing the files by hand).
The result should look as follows:
$ cat /etc/default/irda-utils # Set your startup settings for irattach, the IrDA-daemon, here. # Set this to 'false' if you do not need to start irattach. Otherwise set it # to 'true'. ENABLE="true" # Set discovery mode which usually is a good idea for finding other devices. DISCOVERY="true" # Set IRDA device to access (e.g. /dev/ttyS1 or irda0). # In case of irda0, the proper module for FIR-mode has to be set in # /etc/modutils/irda-utils (2.4) or /etc/modprobe.d/irda-utils (2.6) DEVICE="irda0" # Set dongle type, e.g. none, tekram, esi, actisys, actisys+, ep7211, girbil, # litelink, airport, old_belkin, mcp2120, act200l, ma600). You do not need # a dongle for FIR mode. DONGLE="none" # Set the serial device to quiet with setserial. This is only useful on some # machines in FIR-mode, so most people should leave it blank. See # README.Debian for more information. SETSERIAL="/dev/ttyS2" $ cat /etc/modprobe.d/irda-utils # Other aliases are defined in the modules themselves alias char-major-10-187 irnet # For FIR device # Module name has changed for this device, so this is a compatibility hack # that the user can select the name used for 2.4 when really using 2.6 install smc-ircc /sbin/modprobe smsc-ircc2 install toshoboe /sbin/modprobe donauboe options smc-ircc ircc_dma=3 ircc_irq=7 ircc_cfg=0x4e ircc_sir=0x3e8 ircc_fir=0x130 alias irda0 smc-ircc(select
smc-ircc when asked for the FIR chip type)
Create a file /etc/modprobe.d/smsc-ircc2 with the following
content:
#options smsc-ircc2 ircc_dma=3 ircc_irq=7 ircc_cfg=0x4e ircc_sir=0x3e8 ircc_fir=0x130 install smsc-ircc2 /usr/local/sbin/tosh1800-smcinit -s 0x3e8 -f 0x130 -m 3-i 7 -v 0x8086 -x 0x24cc -c 0x4e && /sbin/modprobe --ignore-install smsc-ircc2 && /sbin/modprobe ircomm-tty
The tosh1800-smcinit utility comes from the
IrDA project
and can be very easily compiled under Debian, following the
instructions on the page.
And, actually, it should be the end of the story, would
smsc-ircc2 be able to share its IRQ...
Basically, I succeeded using the smsc-ircc2 module by
disabling the parallel port, so that the IR port can have the IRQ7 exclusively.
I first tried to load lp/parport/parport_pc after the IR by adding three
lines to my file /etc/hotplug/blacklist.d/nc6000:
lp parport parport_pcYou can then activate the parallel port after having started
smsc_ircc2 (with modprobe lp)
but it will resort to polled operation:
pnp: Device 00:04 activated. parport: PnPBIOS parport detected. parport0: PC-style at 0x378 (0x778), irq 7, dma 1 [PCSPP,TRISTATE,COMPAT,ECP,DMA] parport0: irq 7 in use, resorting to polled operation lp0: using parport0 (polling).I don't know the consequence as I don't use my parallel port, but anyway the parallel port was still started before the infrared one.
I then kept the same setup, adding smsc-ircc2 to the
/etc/modules file, but it's called too soon in the boot procedure
and the module wouldn't load properly.
So I rolled back everything and modified the file
/etc/modprobe.d/smsc-ircc2 with the following content:
#options smsc-ircc2 ircc_dma=3 ircc_irq=7 ircc_cfg=0x4e ircc_sir=0x3e8 ircc_fir=0x130 install smsc-ircc2 /usr/local/sbin/tosh1800-smcinit -s 0x3e8 -f 0x130 -m 3-i 7 -v 0x8086 -x 0x24cc -c 0x4e && /sbin/modprobe --ignore-install smsc-ircc2 && /sbin/modprobe ircomm-tty # in order to make sure IRQ 7 remains free install lp true install parport true install parport_pc trueAnd that was it! The drawback is that I can't use the parallel port anymore (I doesn't seem to hurt me). Loading
ircomm-tty insures that
udev creates the /dev/ircomm0 file, necessary for serial (e.g.
Palm) synchronization. Use (as root) irdadump irda0 to check
that something is happening on the "line".