-   Linux - Hardware (
-   -   Touchscreen - Panasonic Toughbook CF-29 (

Azizcoos 09-09-2006 07:35 AM

Touchscreen - Panasonic Toughbook CF-29
The touchscreen worked under Windows. After installing Debian Etch, I have been unable to locate the touchscreen device. After trying various things, I modprobed all the modules in .../input/touchscreen. The mk712 failed to load, saying;


# modprobe mk712
FATAL: Error inserting mk712 (/lib/modules/2.6.16-2-686/kernel/drivers/input/touchscreen/mk712.ko): No such device

So I have modules elo, gunze, mtouch and ads7846 loaded. Then I looked for device output with od and catted /proc/bus/*. I can find no output from it.

cat /proc/bus/input/devices has:

I: Bus=0011 Vendor=0002 Product=0001 Version=0000
N: Name="PS/2 Generic Mouse"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input2
H: Handlers=event2 mouse0 ts0
B: EV=7
B: KEY=70000 0 0 0 0 0 0 0 0
B: REL=3

while cat /proc/bus/input/handlers says:

N: Number=0 Name=kbd
N: Number=1 Name=evdev Minor=64
N: Number=2 Name=mousedev Minor=32
N: Number=3 Name=tsdev Minor=128

Note the "ts" elements. But od </dev/input/ts0 produces output from the touchPAD, not the touchSCREEN.
The only serial port that exists is /dev/ttyS0, which goes to a DB9 external connector. od <ttyS{anything but zero} produces an I/O error indicating that it doesn't exist.

According to the (scarce) information available, older Toughbooks in this series used serial touchscreens. There is some indication that the CF-29 uses the same or similar touchscreen as the Fujitsu Lifebook B-series, which supposedly uses a PS-2 port. Panasonic lists no touchscreen specs. There is no indication of a USB touchscreen, which would, of course, be easy to find. I tried the setup recommended for the Lifebooks, but it is obviously hopeless without knowing where to find the device.

To summarize, the device is not found as:

Xi Graphics is selling a driver for $149US, so the touchscreen can be made to work with Linux. The question is: How?:scratch:

Nobles 09-20-2006 10:25 AM

CF29 TouchScreen
I have been looking for an answer to this for almost a year as well. The only other information I can add to what you have is that a pre-installed Distro called Emperor Linux also has support for the touchscreen on the CF-29 but they only sell it with the laptops they sell or if you send yours in to be installed by their staff. They use a custom kernel which you can get some information on (as well as some source code) in the downloads section of their site:

Maybe if you are able to decipher what they have done with their kernel you can figure this out - if you do please post back.

Azizcoos 09-20-2006 08:15 PM


Originally Posted by Nobles
Maybe if you are able to decipher what they have done with their kernel you can figure this out

I looked at everything available from their site, and downloaded a kernel. There are no touchscreen modules with it that aren't available elsewhere. In fact there are fewer than come with Debian Etch. My guess is that they are using the XI Graphics proprietary driver.

Here is another angle that needs to be investigated. I was trying to hook up a serial GPS to /dev/ttyS0. I checked for output from the GPS using

od /dev/ttyS0
Nothing came through until I started gpsd, even though there was output from the GPS on the line being simultaneously monitored on an oscilloscope. This proves that it is possible to have a live device talking on a serial interface that od will fail to show!

If this same thing can happen on other interfaces, it might mean that you couldn't find the touchscreen unless a working driver is installed. It might also mean that we are doing it wrong.

michaelk 09-20-2006 08:47 PM

If the serial port is not configured correctly i.e. baud rate, parity etc. then you probably will not see any data output. I would assume that gpsd configures the serial port. Instead of gpsd use setserial to configure the port and then try the od command. BTW the output of the receiver is probably NMEA183 protocol which is plain ASCII text.

I found nothing on the CF-29 touchscreen but this might help. Check the BIOS to see if the touchscreen is enabled and maybe it has some settings that might give us a clue on the interface. If it really is a serial port you could always create one for ttyS3 and see what happens.

Azizcoos 09-21-2006 07:28 AM


Originally Posted by michaelk
If the serial port is not configured correctly i.e. baud rate, parity etc. then you probably will not see any data output. I would assume that gpsd configures the serial port.

Gpsd does indeed configure the port. The implication of this for finding the touchscreen on an unknown interface using unknown protocols is not good. If we need to know the exact communications settings for the device before we can even locate it, :scratch: where do we start?

There is an enabled/disabled switch in the BIOS for the touchscreen, but no other settings that I'm aware of. Also, since the touchscreen worked under Windows, and I haven't changed any BIOS settings, there shouldn't be any BIOS-level stuff blocking it now.

Azizcoos 09-21-2006 07:37 AM

:rolleyes:Kick me for not trying the obvious first. Panasonic tech support says that the touchscreen is on a PS2 interface. It's a start.

Nobles 09-21-2006 03:00 PM

Touchscreen - Panasonic Toughbook CF-29
It sounds like you are on the right track - the Toughbook uses a combination touchpad/touchscreen device and others have managed to get a similiar type multiplexed PS2 type input device (or psaux device as they call it) working with Linux on notebooks like that use a similiar device (like Fujitsu Lifebook B142 notebook that is discussed in the link below) using previous kernels and then with some kind of patch to the 2.6 kernel (since kernel 2.6 did away with dev/psaux that let this work in the past they say). The link at the bottom of this article leads to a link where you can get the module - it looks like it is going to take a bit of work to put this together to work with the lastest kernels but it sounds like you have a fair bit of knowledge of kernels and modules.

Note put a www and . in front of the above - this forum will not yet let me post urls until I post three times.

Azizcoos 09-23-2006 08:32 AM

After chasing several leads...
According to 2.6.13 ChangeLog, as of kernel 2.6.13, the Fujitsu Lifebook B-series touchscreen driver patch to the psmouse module was added into the kernel source, so all we should need to do with that is check to see if it is loaded.

Now how to build/install the evtouch driver?
I have tried several approaches, none have worked. Downloaded binary copies of evtouch_drv.o in both /usr/X11R6/lib/modules/input/ and /usr/lib/xorg/modules/input/ fail to load, probably due to xserver version discrepencies. I have not figured out how to get a successful build, since the additional source requirements are entirely unclear.

Nobles 09-23-2006 01:08 PM

One more issue with using the Fujitsu B-series patch/driver as written by Kenan Esau and Vojtech Pavlik even if it is now included in the kernel might be that it is using DMI to ensure that the laptop is a "LIFEBOOK B Series" before it will attempt to initialize the hardware - see the discussion at the link below - they mention adding the Toughbook to the DMI table but I don't believe they ever got that far with it.

The source of the patch on includes the following which is then used later on as a test in a conditional statement before the driver is setup:

+static struct dmi_system_id lifebook_dmi_table[] = {
+ {
+ .ident = "Fujitsu Siemens Lifebook B-Sereis",
+ .matches = {
+ },
+ },
+ { }

I would have to say that this appears to be one of the most challenging hardware items ever to get working with Linux.
I noticed that even with the touchscreen driver from XI Graphics that you have to tinker around and compile it yourself if you are using a 2.6 kernel - so even that route would not be easy.

Azizcoos 09-23-2006 04:08 PM

kernel driver DMI
They got around to it, but it waited until 2.6.17. Doesn't mention the CF-29... Ahhh, life on the bleeding edge!:confused:
Time to read the source, I guess.
It's a rather bizarre situation to have to wait for your specific system to be listed in the kernel source code in order to be able to use an existing driver!


commit 47ce56edb8ecdd4ec2bbec4e8683f3ba91de72e3
Author: Kenan Esau <>
Date: Mon May 29 23:31:12 2006 -0400

Input: psmouse - DMI updates for lifebook protocol

Added different lifebook-versions and the CF-18 to the corresponding

Signed-off-by: Kenan Esau <>
Signed-off-by: Dmitry Torokhov <>

Azizcoos 09-23-2006 08:33 PM

kernel module patch
This is in progress here at the moment, so it has not yet proven to accomplish anything.
You will need the complete kernel source, and the capability to build a kernel.

In {kernel-source-dir}/drivers/input/mouse/lifebook.c, add:

              .ident = "CF-29",
              .matches = {
                      DMI_MATCH(DMI_PRODUCT_NAME, "CF-29"),

Where it belongs will become obvious when you edit the file. Kernel version must be at least 2.6.13, since that is the first kernel version in which lifebook.c appears.

Azizcoos 09-25-2006 07:08 AM

See: for an update.

stan.distortion 10-03-2006 02:33 PM

had a few questions but posted it to the wrong thread:
feeling foolish now :)
good luck with it

Azizcoos 11-12-2006 07:51 AM

One more tidbit
I received a reply to a message I sent to a mailing list months ago, from someone at Trident Technology Solutions . Trident writes and sells custom touchscreen drivers. He said:

The CF-29 touchscreen is multiplexed through the i8042 (fujitsu) PS/2 controller. You may be able to get a driver for a Lifebook (using this controller) to work.
After the controller is sent a proprietary configuration code sequence, then the touchscreen data comes merged with touchpad data.
Obviously the missing piece is the "proprietary configuration code sequence".

Azizcoos 04-26-2007 06:51 AM

The development of a solution has progressed to successes with at least the CF-18,27,28 and 29 models. The discussion can be found on this thread.

All times are GMT -5. The time now is 11:21 PM.