Debian Sarge on nc6000

Introduction

I based my effort on this and this description, and do document here only the differences.

Notes

  1. I installed a Kernel 2.6.12 backported for Sarge.
  2. CONFIG_BLK_DEV_PIIX is set as module and I don't have any issue with this.
  3. I use madwifi and the Debian packages from Marlow and, as long as I don't forget to put on the Antenna through the Bluetook button, it works without any issue.
    And for me, the Bluetooth light does go on/off together with the button.
  4. Concerning XFree86, you need to choose the 'ati' chipset during the installation. Open Source drivers, also radeon, also from DRI, do not provide 3D acceleration for the chip.
  5. Also during XFree86 installation, keyboard for me was 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).
  6. I don't use the Synaptics drivers and I don't miss them...
  7. Concerning the soft-modem, I've installed the 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.
  8. To avoid some nasty error messages at boot time, I've created a file /etc/hotplug/blacklist.d/nc6000 containing modules hotplug tries to load without any success:
    	i810_rng
    	hw_random
    	shpchp
    	pciehp
        
  9. I finally got infrared working, it's a longer story, hence worth an own chapter.
  10. As writing these lines, I'm still fighting to get battery stand working properly in KDE; I seem to be unable to start the klaptopdaemon and don't find any error message to help me further.

Keys setup

This setup part is a bit more extensive, so it gets its own chapter.

Step by step instructions

  1. Add something like 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.
  2. Create a file ~/.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.
  3. Under KDE, use the "Control Center → Regional & Accessibility → KHotKeys" dialog to assign actions to the newly defined keys. The following is an example for the sound keys:

Trial and errors method

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

Infrared setup

Basic IrDA configuration

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...

Getting this f... smsc-ircc2 module to load properly!

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_pc
You 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 true
And 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".


[Maison/Home/Heim] [Linux]


Feedback: Linux.
Dernière modif/letzte Änderung/last modified:  Thursday, 17-Nov-2005 17:38:14 CET