LinuxQuestions.org
Go Job Hunting at the LQ Job Marketplace
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Laptop and Netbook
User Name
Password
Linux - Laptop and Netbook Having a problem installing or configuring Linux on your laptop? Need help running Linux on your netbook? This forum is for you. This forum is for any topics relating to Linux and either traditional laptops or netbooks (such as the Asus EEE PC, Everex CloudBook or MSI Wind).

Notices

Reply
 
Search this Thread
Old 01-02-2008, 08:14 PM   #1
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Rep: Reputation: 0
Unhappy Panasonic CF-27 touchscreen


Ok, I am another proud cf-27 owner and have built gentoo on this beast using nothing but one floppy and a pcmcia network card... and have everything working except of course ... the touchscreen

I have tried modding the lifebook.c in my 2.6.22 sources by either renaming the DMI of cf-18 or cf-28 to cf-27 and have had no luck with either method.

od(or cat) /dev/psaux (or /dev/input/{mouse1,ts0,mice} etc.) only outputs touches on the the touchpad.

I figure until I can get some kind of raw output from the touchscreen on a virtual console then messing with x is pointless.

My toughbook is the 500mhz CF-27LBAGHDMSIRBKB

I too have no options in bios except to turn the touchscreen off or on.

Here is my dmesg output from this boot (the one with the above attempts)
Code:
Linux version 2.6.22-suspend2-r2 (root@tobcpt) (gcc version 4.1.1 (Gentoo 4.1.1-r3)) #9 Wed Jan 2 00:23:02 Local time zone must be set--see zic manua
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009f800 (usable)
 BIOS-e820: 000000000009f800 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000e5800 - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 000000000bff0000 (usable)
 BIOS-e820: 000000000bff0000 - 000000000bfffc00 (ACPI data)
 BIOS-e820: 000000000bfffc00 - 000000000c000000 (ACPI NVS)
 BIOS-e820: 00000000fffe5800 - 0000000100000000 (reserved)
0MB HIGHMEM available.
191MB LOWMEM available.
Entering add_active_range(0, 0, 49136) 0 entries of 256 used
Zone PFN ranges:
  DMA             0 ->     4096
  Normal       4096 ->    49136
  HighMem     49136 ->    49136
early_node_map[1] active PFN ranges
    0:        0 ->    49136
On node 0 totalpages: 49136
  DMA zone: 32 pages used for memmap
  DMA zone: 0 pages reserved
  DMA zone: 4064 pages, LIFO batch:0
  Normal zone: 351 pages used for memmap
  Normal zone: 44689 pages, LIFO batch:7
  HighMem zone: 0 pages used for memmap
DMI 2.2 present.
Using APIC driver default
ACPI: RSDP 000F6C40, 0014 (r0 PTLTD )
ACPI: RSDT 0BFFD678, 002C (r1 PTLTD    RSDT          1  LTP        0)
ACPI: FACP 0BFFFB65, 0074 (r1 MATBIO CF27-4          1 PTL     F4240)
ACPI: DSDT 0BFFD6A4, 24C1 (r1 MEI                    1 MSFT  100000B)
ACPI: FACS 0BFFFFC0, 0040
ACPI: BOOT 0BFFFBD9, 0027 (r1 PTLTD  $SBFTBL$        1  LTP        1)
ACPI: BIOS age (1999) fails cutoff (2001), acpi=force is required to enable ACPI
ACPI: Disabling ACPI support
Allocating PCI resources starting at 10000000 (gap: 0c000000:f3fe5800)
Built 1 zonelists.  Total pages: 48753
Kernel command line: root=/dev/hda3
Local APIC disabled by BIOS -- you can enable it with "lapic"
mapped APIC to ffffd000 (01182000)
Enabling fast FPU save and restore... done.
Enabling unmasked SIMD FPU exception support... done.
Initializing CPU#0
PID hash table entries: 1024 (order: 10, 4096 bytes)
Detected 498.287 MHz processor.
Console: colour VGA+ 80x25
Dentry cache hash table entries: 32768 (order: 5, 131072 bytes)
Inode-cache hash table entries: 16384 (order: 4, 65536 bytes)
Memory: 189312k/196544k available (2814k kernel code, 6740k reserved, 1282k data, 248k init, 0k highmem)
virtual kernel memory layout:
    fixmap  : 0xfffa9000 - 0xfffff000   ( 344 kB)
    pkmap   : 0xff800000 - 0xffc00000   (4096 kB)
    vmalloc : 0xcc800000 - 0xff7fe000   ( 815 MB)
    lowmem  : 0xc0000000 - 0xcbff0000   ( 191 MB)
      .init : 0xc0504000 - 0xc0542000   ( 248 kB)
      .data : 0xc03bf966 - 0xc05002ac   (1282 kB)
      .text : 0xc0100000 - 0xc03bf966   (2814 kB)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay using timer specific routine.. 997.34 BogoMIPS (lpj=1994683)
Mount-cache hash table entries: 512
CPU: After generic identify, caps: 0387f9ff 00000000 00000000 00000000 00000000 00000000 00000000
CPU: L1 I cache: 16K, L1 D cache: 16K
CPU: L2 cache: 256K
CPU serial number disabled.
CPU: After all inits, caps: 0383f9ff 00000000 00000000 00000040 00000000 00000000 00000000
Intel machine check architecture supported.
Intel machine check reporting enabled on CPU#0.
Compat vDSO mapped to ffffe000.
CPU: Intel Pentium III (Coppermine) stepping 06
Checking 'hlt' instruction... OK.
Device driver platform lacks bus and class support for being resumed.
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfd9de, last bus=0
PCI: Using configuration type 1
Setting up standard PCI resources
ACPI: Interpreter disabled.
Linux Plug and Play Support v0.97 (c) Adam Belay
pnp: PnP ACPI: disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
USB driver usbfs lacks resume support.
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
Device driver pci0000:00 lacks bus and class support for being resumed.
PCI quirk: region 1000-103f claimed by PIIX4 ACPI
PCI quirk: region 1040-104f claimed by PIIX4 SMB
PIIX4 devres I PIO at 0398-0399
PCI: Using IRQ router PIIX/ICH [8086/7110] at 0000:00:07.0
PCI: Bus 1, cardbus bridge: 0000:00:0c.0
  IO window: 00001400-000014ff
  IO window: 00001800-000018ff
  PREFETCH window: 10000000-13ffffff
  MEM window: 14000000-17ffffff
PCI: Bus 5, cardbus bridge: 0000:00:0c.1
  IO window: 00001c00-00001cff
  IO window: 00002000-000020ff
  PREFETCH window: 18000000-1bffffff
  MEM window: 1c000000-1fffffff
PCI: setting IRQ 9 as level-triggered
PCI: Found IRQ 9 for device 0000:00:0c.0
PCI: Setting latency timer of device 0000:00:0c.0 to 64
PCI: Found IRQ 9 for device 0000:00:0c.1
PCI: Setting latency timer of device 0000:00:0c.1 to 64
NET: Registered protocol family 2
Time: tsc clocksource has been installed.
IP route cache hash table entries: 2048 (order: 1, 8192 bytes)
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 3, 32768 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP reno registered
Simple Boot Flag at 0x3c set to 0x1
IA-32 Microcode Update Driver: v1.14a <tigran@aivazian.fsnet.co.uk>
Total HugeTLB memory allocated, 0
Installing knfsd (copyright (C) 1996 okir@monad.swb.de).
io scheduler noop registered
io scheduler anticipatory registered (default)
io scheduler deadline registered
io scheduler cfq registered
Limiting direct PCI/PCI transfers.
Boot video device is 0000:00:02.0
Real Time Clock Driver v1.12ac
Hangcheck: starting hangcheck timer 0.9.0 (tick is 180 seconds, margin is 60 seconds).
Hangcheck: Using get_cycles().
vesafb: SM710, SM710, SM710 (OEM: Silicon Motion SM710 VGA BIOS)
vesafb: VBE version: 2.0
vesafb: protected mode interface info at c966:0008
vesafb: pmi: set display start = c00c969d, set palette = c00c96f1
vesafb: pmi: ports = 
vesafb: no monitor limits have been set
vesafb: scrolling: redraw
Console: switching to colour frame buffer device 200x100
vesafb: framebuffer at 0xfd000000, mapped to 0xcc800000, using 4096k, total 4096k
fb0: VESA VGA frame buffer device
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
PCI driver jsm lacks driver specific resume support.
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: module loaded
Device driver lo lacks bus and class support for being resumed.
netconsole: not configured, aborting
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIX4: IDE controller at PCI slot 0000:00:07.1
PIIX4: chipset revision 1
PIIX4: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfcd0-0xfcd7, BIOS settings: hda:DMA, hdb:pio
Probing IDE interface ide0...
hda: FUJITSU MHM2100AT, ATA DISK drive
Device driver ide0 lacks bus and class support for being resumed.
hda: selected mode 0x42
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
PCI driver AMD_IDE lacks driver specific resume support.
PCI driver PIIX_IDE lacks driver specific resume support.
Probing IDE interface ide1...
hda: max request size: 128KiB
hda: 19640880 sectors (10056 MB) w/2048KiB Cache, CHS=19485/16/63, UDMA(33)
hda: cache flushes not supported
 hda: hda1 hda2 hda3
PCI driver aic7xxx lacks driver specific resume support.
PCI driver aic79xx lacks driver specific resume support.
3ware Storage Controller device driver for Linux v1.26.02.002.
PCI driver 3w-xxxx lacks driver specific resume support.
Fusion MPT base driver 3.04.04
Copyright (c) 1999-2007 LSI Logic Corporation
Fusion MPT SPI Host driver 3.04.04
ieee1394: raw1394: /dev/raw1394 device initialized
Yenta: CardBus bridge found at 0000:00:0c.0 [10f7:8338]
Yenta: ISA IRQ mask 0x0cb8, PCI irq 9
Socket status: 30000820
Device driver pcmcia_socket0 lacks bus and class support for being resumed.
Yenta: CardBus bridge found at 0000:00:0c.1 [10f7:8338]
Yenta: ISA IRQ mask 0x0cb8, PCI irq 9
Socket status: 30000006
Device driver pcmcia_socket1 lacks bus and class support for being resumed.
usbmon: debugfs is not available
ohci_hcd: 2006 August 04 USB 1.1 'Open' Host Controller (OHCI) Driver
USB Universal Host Controller Interface driver v3.0
PCI: Found IRQ 9 for device 0000:00:07.2
PCI: Sharing IRQ 9 with 0000:00:0a.0
uhci_hcd 0000:00:07.2: UHCI Host Controller
uhci_hcd 0000:00:07.2: new USB bus registered, assigned bus number 1
uhci_hcd 0000:00:07.2: irq 9, io base 0x0000fce0
Device driver usbdev1.1_ep00 lacks bus and class support for being resumed.
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 2 ports detected
Device driver usbdev1.1_ep81 lacks bus and class support for being resumed.
usbcore: registered new interface driver usblp
drivers/usb/class/usblp.c: v0.13: USB Printer Device Class driver
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
PNP: No PS/2 controller found. Probing ports directly.
serio: i8042 KBD port at 0x60,0x64 irq 1
serio: i8042 AUX port at 0x60,0x64 irq 12
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard as /class/input/input0
usbcore: registered new interface driver usbhid
drivers/hid/usbhid/hid-core.c: v2.6:USB HID core driver
oprofile: using timer interrupt.
TCP cubic registered
NET: Registered protocol family 1
NET: Registered protocol family 10
IPv6 over IPv4 tunneling driver
Device driver sit0 lacks bus and class support for being resumed.
NET: Registered protocol family 17
Using IPI Shortcut mode
Suspend v2.2.10
Suspend2 Userspace Storage Manager support registered.
Suspend2 Basic User Interface support registered.
Suspend2 Compressor support registered.
Suspend2 Block I/O support registered.
Suspend2 Swap Allocator support registered.
Suspend2 File Allocator support registered.
Suspend2 Userspace UI support registered.
No storage allocator is currently active. Rechecking whether we can use one.
Suspend2: SwapAllocator: Signature found.
Suspend2: Resuming enabled.
Suspend2: Normal swapspace found.
pccard: CardBus card inserted into slot 0
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Linux Tulip driver version 1.1.15 (Feb 27, 2007)
PCI: Enabling device 0000:01:00.0 (0000 -> 0003)
PCI: Setting latency timer of device 0000:01:00.0 to 64
tulip0:  MII transceiver #1 config 3100 status 7849 advertising 05e1.
Device driver eth0 lacks bus and class support for being resumed.
eth0: ADMtek Comet rev 17 at Port 0x1400, 00:04:5A:A5:8C:42, IRQ 9.
Clocksource tsc unstable (delta = 76019687 ns)
Time: pit clocksource has been installed.
PCI: Found IRQ 9 for device 0000:00:0a.0
PCI: Sharing IRQ 9 with 0000:00:07.2
EXT3 FS on hda3, internal journal
Adding 498004k swap on /dev/hda2.  Priority:-1 extents:1 across:498004k
pcmcia: Detected deprecated PCMCIA ioctl usage from process: cardmgr.
pcmcia: This interface will soon be removed from the kernel; please expect breakage unless you upgrade to new tools.
pcmcia: see http://www.kernel.org/pub/linux/utils/kernel/pcmcia/pcmcia.html for details.
0000:01:00.0: tulip_stop_rxtx() failed (CSR5 0xfc664010 CSR6 0xff972113)
eth0: Setting full-duplex based on MII#1 link partner capability of 45e1.
eth0: no IPv6 routers present
input: PS/2 Generic Mouse as /class/input/input1
input: PS/2 Generic Mouse as /class/input/input2
tsdev (compaq touchscreen emulation) is scheduled for removal.
See Documentation/feature-removal-schedule.txt for details.
tsdev (compaq touchscreen emulation) is scheduled for removal.
See Documentation/feature-removal-schedule.txt for details.
input: PS/2 Generic Mouse as /class/input/input3
input: PS/2 Generic Mouse as /class/input/input4
input: PS/2 Generic Mouse as /class/input/input5
input: PS/2 Generic Mouse as /class/input/input6
input: PS/2 Generic Mouse as /class/input/input7
input: PS/2 Generic Mouse as /class/input/input8
input: PS/2 Generic Mouse as /class/input/input9

Any suggestions?
 
Old 01-02-2008, 08:18 PM   #2
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
...And here is the input and serial sections of my 2.6.22 kernel's .config:

Code:
#
# Input Device Drivers
#
CONFIG_INPUT_KEYBOARD=y
CONFIG_KEYBOARD_ATKBD=y
# CONFIG_KEYBOARD_SUNKBD is not set
# CONFIG_KEYBOARD_LKKBD is not set
# CONFIG_KEYBOARD_XTKBD is not set
# CONFIG_KEYBOARD_NEWTON is not set
# CONFIG_KEYBOARD_STOWAWAY is not set
CONFIG_INPUT_MOUSE=y
CONFIG_MOUSE_PS2=m
CONFIG_MOUSE_PS2_ALPS=y
CONFIG_MOUSE_PS2_LOGIPS2PP=y
CONFIG_MOUSE_PS2_SYNAPTICS=y
CONFIG_MOUSE_PS2_LIFEBOOK=y
CONFIG_MOUSE_PS2_TRACKPOINT=y
# CONFIG_MOUSE_PS2_TOUCHKIT is not set
CONFIG_MOUSE_SERIAL=y
# CONFIG_MOUSE_APPLETOUCH is not set
CONFIG_MOUSE_VSXXXAA=y
# CONFIG_INPUT_JOYSTICK is not set
# CONFIG_INPUT_TABLET is not set
CONFIG_INPUT_TOUCHSCREEN=y
# CONFIG_TOUCHSCREEN_GUNZE is not set
# CONFIG_TOUCHSCREEN_ELO is not set
# CONFIG_TOUCHSCREEN_MTOUCH is not set
# CONFIG_TOUCHSCREEN_MK712 is not set
# CONFIG_TOUCHSCREEN_PENMOUNT is not set
# CONFIG_TOUCHSCREEN_TOUCHRIGHT is not set
# CONFIG_TOUCHSCREEN_TOUCHWIN is not set
# CONFIG_TOUCHSCREEN_UCB1400 is not set
# CONFIG_TOUCHSCREEN_USB_COMPOSITE is not set
# CONFIG_INPUT_MISC is not set

#
# Hardware I/O ports
#
CONFIG_SERIO=y
CONFIG_SERIO_I8042=y
CONFIG_SERIO_SERPORT=y
# CONFIG_SERIO_CT82C710 is not set
# CONFIG_SERIO_PCIPS2 is not set
CONFIG_SERIO_LIBPS2=y
CONFIG_SERIO_RAW=y
# CONFIG_GAMEPORT is not set

#
# Character devices
#
CONFIG_VT=y
CONFIG_VT_CONSOLE=y
CONFIG_HW_CONSOLE=y
# CONFIG_VT_HW_CONSOLE_BINDING is not set
# CONFIG_SERIAL_NONSTANDARD is not set

#
# Serial drivers
#
CONFIG_SERIAL_8250=y
CONFIG_SERIAL_8250_CONSOLE=y
CONFIG_SERIAL_8250_PCI=y
CONFIG_SERIAL_8250_PNP=y
# CONFIG_SERIAL_8250_CS is not set
CONFIG_SERIAL_8250_NR_UARTS=4
CONFIG_SERIAL_8250_RUNTIME_UARTS=4
CONFIG_SERIAL_8250_EXTENDED=y
CONFIG_SERIAL_8250_MANY_PORTS=y
# CONFIG_SERIAL_8250_SHARE_IRQ is not set
CONFIG_SERIAL_8250_DETECT_IRQ=y
CONFIG_SERIAL_8250_RSA=y

#
# Non-8250 serial port support
#
CONFIG_SERIAL_CORE=y
CONFIG_SERIAL_CORE_CONSOLE=y
CONFIG_SERIAL_JSM=y
CONFIG_UNIX98_PTYS=y
CONFIG_LEGACY_PTYS=y
CONFIG_LEGACY_PTY_COUNT=256
 
Old 01-02-2008, 08:58 PM   #3
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
Damn thing is to wide to fit on my screen
This looks a bit strange
Quote:
Serial: 8250/16550 driver $Revision: 1.90 $ 4 ports, IRQ sharing disabled
serial8250.0: ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
I'm flying a bit blind with this as I have a 300mhz model and the 500mhz model seems to be more like a cf-27.5 as it has quite a bit in common with the cf-28.
There should be at least 3 serial ports. On the 300mhz the bios has the option for either irda or touchscreen, not both at the same time. I seem to remember that the 2 could be used at the same time with the 500mhz, I'm not sure if this was because the touchscreen came in through a mouse port like on the 28 or if the serial interface was changed though. The 8250/16550 part would suggest its the same serial hardware though, this is a bit old now but fine for more or less everything that gets used on the serial port.
Just had a look through a manual and it looks like the touchscreen option should be in the first bios menu. Stupid question but are you sure it's a touchscreen model?
There was also no mention of the touchscreen in the irq setup page so it would be a good guess that it's using the same setup as the 28.
If it turns out not to be a touchscreen model it could be worth joining the yahoo toughbook group. The guy I bought my 28 from is on there and is clearing out all his 27 stuff at the mo. I don't mean to advertise on the forum here but I was very happy with the service.
The serial port irq's could do with re-setting anyway as 4 isn't really the best to use and there should be more ports in there. I'll ask on the yahoo group what should be in the bios for the 500mhz too, should get a quick answer.
cheers
 
Old 01-02-2008, 11:13 PM   #4
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
Yes i am sure it is a touchscreen model. There is only one option in the bios for the touchscreen that I have found and that is "touchscreen on/off"

Naturally it is on.

I also have done extensive testing on the serial ports with minicom and I can get output from the external port but nothing from the touchscreen still.

From my reading it seems like it is sharing the ps/2 with the touchpad like the 28... but then again perhaps not if the lifebook.c mods do nothing for me... :-(

I am still scratching my head atm...

Last edited by sellout; 01-02-2008 at 11:34 PM.
 
Old 01-03-2008, 10:51 PM   #5
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
That rules out the serial ports then. Was focusing on them as they are the easiest thing to check.
Only thing back from the yahoo group was regarding the windows driver, normaly the touchscreen shows up as a pointing device. Doesn't verify a whole lot as it's windows but it's yet another thing pointing in the same direction.
Trouble is the screens are interchangeable on the 300, 333 and 500mhz cf-27's. The 300 definately has a serial touchscreen, the 18, 28 and 29 all use a similar system but they are all a bit different. Basically there are 2 different modes, one where the data comes in on the same channel but in different formats and another where the data gets split up before being sent to the mouse and screen inputs.
Sounds like you have already gone over anything I could suggest but I'll throw in my 2c.
First thing is dmidecode to get the dmi info, that will be needed to modify lifebook.c to force the driver on.
The only thing that should need to be modified is either one or the other of these sections:
Quote:
{
.ident = "CF-18",
.matches = {
DMI_MATCH(DMI_PRODUCT_NAME, "CF-18"),
},
},
{
.ident = "Panasonic CF-28",
.matches = {
DMI_MATCH(DMI_SYS_VENDOR, "Matsushita"),
DMI_MATCH(DMI_PRODUCT_NAME, "CF-28"),
},
.callback = lifebook_set_6byte_proto,
},
Changing both at the same time will probably cause a lockup. The "Matsushita" line isn't really needed in the cf-28 entry and can be deleted. The driver should load up and there should be a matching message in /var/log/messages for a "Fujitsu Lifebook TouchScreen" regardless of whether the device has been fired up or not as it's based on the dmi match.
The device nodes should show up in /proc/bus/input/devices , again, labled "Fujitsu Lifebook TouchScreen".
If they show up then the driver is running. If nothing comes out of the nodes with either type then it looks like it's going to be tricky. If so then pulling the screen cover off and looking for chip id's on the touchscreen controller board may save a lot of time.
Hope that's some help.
cheers
 
Old 01-04-2008, 12:08 AM   #6
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
WOOOOOO!!!!!

Ok so the tip for dmidecode was totally what saved the day. Turns out it is CF27 on mine and not CF-27. Anyway The driver loaded and even though there is no x config for a touchscreen X seems to be picking it up anyway.

I tap the screen and the pointer goes in random places... so it is indeed piggybacking my touchpad config it would seem.

the lifebook driver created 2 devices:
/dev/input/event1
/dev/input/event2

The latter is what I can cat to get touchscreen output.

...But it also gives me touchpad output too on the same device.

cat /dev/input1 (which was the touchpad) now gives me nothing.

input2 is the combined device. I would assume until I can get them to act as independent devices trying to configure x is pointless no?

Last edited by sellout; 01-04-2008 at 12:18 AM.
 
Old 01-04-2008, 07:16 AM   #7
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
That's good to hear Did you test with the cf-28 entry edited and also with the cf-18 entry edited? Editing the right one 'should' give you both a working touchpad and responce from the screen. For the cf-28 entry, if there is a generic entry like /dev/input/mice or /dev/input/mouse# (0,1 etc) then the pad will work but it will be very slow and the screen will either always jump to the same spot or not move at all.
Not sure what the cf-18 entry will cause but if you get touchscreen output when using it then it is probably the one you need, the cf-28 screen does nothing with that entry.
Also, try the pad before touching the screen when trying the cf-18 entry. You may find it works ok until you touch the screen, then goes wont work any more. Thats the multiplexing controller switching over and not switching back. I don't know what would be needed to get it working 100% with the cf-18 entry, if you look at the cf-29 thread things start getting worked out after dtor's first post. Follow it from around there and the tests mentioned should make things clearer.
Can you post with the results with each entry and what event nodes get output?
cheers
 
Old 01-05-2008, 01:22 AM   #8
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
Ok so if I add:
.callback = lifebook_set_6byte_proto,

I get:

/dev/input/mouse1 -
which gives me slow output on touchpad movement from od

/dev/input/mouse0 -
which gives me nothing period

/dev/input/event2 -
Which gives me super fast output from od on touchpad movement

/dev/input/event3 -
which gives me super fast ouptut from od on touchscreen movement

Using any of the above devices in xorg.conf gives me no response in X at all from touchscreen or touchpad and I also checked permissions.

I also tried using just a touchpad config in xorg, just the calibrated touchscreen and dummy configs, etc with no output at all from either on any occasion.

In a virtual console however though it is slow, the touchpad does work properly via gpm with 6byte_proto on and the touchscreen just behaves randomly with gpm as it does without 6byte_proto as expected with no calibration.

When I omit .callback = lifebook_set_6byte_proto, in lifebook.c I can use the touchscreen perfectly however the touchpad buttons do not work at all and the touchpad is terribly calibrated and bounces around randomly and will not allow me to move outside the center 400px or so of the screen.

Any other information that you may find helpful by all means let me know :-)

Last edited by sellout; 01-05-2008 at 01:28 AM.
 
Old 01-05-2008, 09:23 AM   #9
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
Just to clarify, you have a usable output without using the 6 byte configuration and by using the evtouch driver in xorg.conf?
It's been a while since I looked at this and I'm a bit hazy on it, however what you mentioned about omitting the 6 byte part and getting strange pad output rings a few bells. When using the 3 byte protocol both the pad and screen will be in relative mode on a cf-28 (I got it wrong in the earlier post) so if you touch the top left of the pad the cursor will go to the top left of the screen (or the pads working area), pad bottom right, cursor bottom right etc. Is this what your getting?
When using the 6 byte setting I don't understand how you are getting output from od but nothing whatsoever when the same event nodes are used in xorg.conf, at the very least it should be causing a random responce. Really stupid question but you have both created the device section and added the device to the server layout section?
I'm a bit lost but I'll keep turning it over in my head, data retrieval can be slow sometimes
Posting my xorg.conf in case it gives you any ideas. The by-path section for the touchscreen device is no different to using the event node directly, it's there to get around an issue where the event nodes sometimes (rarely) change order at boot.
cheers
Quote:
Section "Files"
EndSection

Section "InputDevice"
Identifier "Generic Keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
Option "XkbVariant" "latin9"
EndSection

Section "InputDevice"
Identifier "Configured Mouse"
Driver "mouse"
Option "CorePointer"
Option "Device" "/dev/input/mouse1"
Option "Protocol" "ImPS/2"
Option "ZAxisMapping" "4 5"
Option "Emulate3Buttons" "true"
EndSection

Section "InputDevice"
Identifier "Touchscreen0"
Driver "evtouch"
Option "Device" "/dev/input/by-path/platform-i8042-serio-1-event-mouse"
Option "Emulate3Buttons"
Option "Emulate3Timeout" "50"
Option "Name" "LBPS/2 Fujitsu Lifebook TouchScreen"
Option "Mode" "absolute"
Option "SendCoreEvents" "true"
Option "MinX" "400"
Option "MaxX" "3850"
Option "MinY" "380"
Option "MaxY" "3780"
EndSection

Section "Device"
Identifier "Intel Corporation 82830 CGC [Chipset Graphics Controller]"
Driver "intel"
BusID "PCI:0:2:0"
EndSection

Section "Monitor"
Identifier "Generic Monitor"
Option "DPMS"
EndSection

Section "Screen"
Identifier "Default Screen"
Device "Intel Corporation 82830 CGC [Chipset Graphics Controller]"
Monitor "Generic Monitor"
DefaultDepth 24
SubSection "Display"
Modes "800x600"
EndSubSection
EndSection

Section "ServerLayout"
Identifier "Default Layout"
Screen "Default Screen"
InputDevice "Generic Keyboard"
InputDevice "Configured Mouse"
InputDevice "Touchscreen0"
EndSection
 
Old 01-05-2008, 11:29 PM   #10
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
Ok so it turns out it was not working at all in x with 6byte due to it setting permissions that were inaccessible by regular user. Anyway I corrected permissions and tried above X config with the exception I used my known good calibration values.

Any touchscreen input sends the cursor to the bottom right of the screen.

If I touch or move on the pad it blinks the cursor randomly crazily all over the screen with no particular pattern except it tends towards the bottom left no matter what.

If i put the dummy mouse driver back on and comment out the mouse sections again then recompile without 6byte i am once again able to use the touchscreen perfectly and only use the touchpad without buttons and only within the center portion of the screen again.

Looks like I may be out of luck on having a usable touch-pad unless you have any other ideas :-(

Are there any other modes besides 6byte or any patches I might want to try?
 
Old 01-06-2008, 07:22 AM   #11
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
Just in case anyone is reading through this for info on the touchscreen for the 300mhz cf-27, this thread is only relevant to the 500mhz model. The 300mhz model touchscreen is a serial device and uses the gunze driver. cheers.
Ok. The fujitsu touchscreen has 2 modes, 3 byte mode as used by the cf-18 and 6 byte mode as used by the cf-28. The touchscreen will work on both models in both modes.
On the cf-28 the pad and screen data arrive from the same channel and need to be identified in software.
Looks like you will need to go for the dirty end of the stick to find out what is going on with the packets. When Dtor was putting together the driver that is now in the kernel he went through a lot of steps but the most usefull for getting a look at what the driver is seeing is to add this to the boot params in menu.1st:
i8042.debug log_buf_len=131072
This will cause a huge amount of output in the log files (every single touch, tap, keypress etc.) but will put it out in its raw format. Trying to decipher the bytes at the event nodes is only really usefull to check the driver is switching modes correctly as the raw data is modified before it gets to the event nodes, I went the long way about finding that out
One question on the pad output when using 3 byte mode. Is the pad working normally but only covering a small part of the screen or is it working like a little touchscreen and if you touch left the cursor jumps to the left, touch right the cursor jumps to the right etc ?
cheers
 
Old 01-07-2008, 04:28 AM   #12
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
In 3byte it is working more or less normally but only covering the center portion of the screen and the buttons do not work.

If I hold my finger down on the touchpad and move it around I can cover a square of a ~700x500px portion of the screen. If I take my finger off and put it back on the cursor starts back at the bottom. Very strange.

I also have yet to come up with any solution for right clicking in either mode. Perhaps alt+tap for right click or something?

I will also try to post a dmesg dump with those startup logs with 6byte tomorrow night if you think that will be useful.
 
Old 01-07-2008, 08:18 PM   #13
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
Very strange. One thing I needed to do just to get my head around what was going on was to backup xorg.conf, then delete every input device except for the pad, try out a few things on that, then do the same for the screen. If 2 devices in xorg.conf are trying to use the same data the results will be strange.
That doesn't sound like your problem though. If the pad is putting out pad-type data (insted of screen-type absolute coordinate data) with the 3 byte configuration then that is almost certainly the one you need (ie. the cf-18 entry). I have no idea how the MUX unit works though, that's the multiplexer that splits up the data from the pad and screen.
One thing that may help is to do a diff on lifebook.c in pre and post 2.6.22 kernels as that is when all the toughbook driver parts where working ok. Pre 2.6.22 had the cf-18 entry but caused the pad to run in absolute mode instead of relative. By the sound of things your cf-27 is using the same setup but the data coming in is different in some way.
What may be of use is to PM PPaFin from the cf-29 thread, he did the testing with Dmitry to get the driver working properly for the cf-18 and may have some info relevent to debugging the MUX unit.
With the kernel serio debugging turned on the output at the point the pad is released and the screen is first touched, and vise versa should provide some kind of clue to what is happening. I'm a bit stuck for time at the mo but if you email me a block of the messages with kernel debugging on and tapping the screen, then the pad, screen, pad etc. I'll see if I can get any idea what is going on. I think the 3 byte would be the better one to go for but if you still have the module compiled for 6 byte then can you send output from both?
EDIT. At either the very end or the very start of the output could you also tap the buttons a few times to see whats going on there?
cheers

Last edited by stan.distortion; 01-07-2008 at 08:21 PM.
 
Old 01-11-2008, 01:22 PM   #14
stan.distortion
Member
 
Registered: Sep 2005
Location: ireland
Distribution: debian with bits of everything stuck on it
Posts: 114

Rep: Reputation: 15
Any luck with it?
 
Old 01-12-2008, 08:47 AM   #15
sellout
LQ Newbie
 
Registered: Jan 2008
Posts: 9

Original Poster
Rep: Reputation: 0
A couple excerpts of the massive /var/log/messages with `i8042.debug log_buf_len=131072` as a kernel boot param.

An excerpt of the initialization of the touchscreen and touchpad:
Code:
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2232]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: f2 -> i8042 (parameter) [2232]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2232]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 1, 12) [2233]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2233]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: f6 -> i8042 (parameter) [2233]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2234]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2234]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: ff -> i8042 (parameter) [2234]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2235]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: aa <- i8042 (interrupt, 1, 12) [2331]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: 00 <- i8042 (interrupt, 1, 12) [2331]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2331]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: e8 -> i8042 (parameter) [2331]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2332]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2332]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: 07 -> i8042 (parameter) [2332]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2333]
Jan 12 08:25:14 tobcpt input: PS/2 Touchpad as /class/input/input1
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2333]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: f3 -> i8042 (parameter) [2333]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2334]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2334]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: 64 -> i8042 (parameter) [2334]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2336]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2336]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: e8 -> i8042 (parameter) [2336]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2337]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2337]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: 02 -> i8042 (parameter) [2337]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2338]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2338]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: e6 -> i8042 (parameter) [2338]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2339]
Jan 12 08:25:14 tobcpt input: LBPS/2 Fujitsu Lifebook TouchScreen as /class/input/input2
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: d4 -> i8042 (command) [2339]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: f4 -> i8042 (parameter) [2339]
Jan 12 08:25:14 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 1, 12) [2340]
...And then an excerpt of me touching the screen, the pad, and typing:

Code:
Jan 12 08:25:33 tobcpt drivers/input/serio/i8042.c: 2d <- i8042 (interrupt, 0, 1) [13031]
Jan 12 08:25:33 tobcpt drivers/input/serio/i8042.c: ad <- i8042 (interrupt, 0, 1) [13058]
Jan 12 08:25:33 tobcpt drivers/input/serio/i8042.c: 1c <- i8042 (interrupt, 0, 1) [13191]
Jan 12 08:25:34 tobcpt drivers/input/serio/i8042.c: 9c <- i8042 (interrupt, 0, 1) [13239]
Jan 12 08:25:39 tobcpt drivers/input/serio/i8042.c: f3 -> i8042 (kbd-data) [14592]
Jan 12 08:25:39 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [14592]
Jan 12 08:25:39 tobcpt drivers/input/serio/i8042.c: 20 -> i8042 (kbd-data) [14592]
Jan 12 08:25:39 tobcpt drivers/input/serio/i8042.c: fa <- i8042 (interrupt, 0, 1) [14593]
Jan 12 08:25:56 tobcpt drivers/input/serio/i8042.c: 24 <- i8042 (interrupt, 1, 12) [18883]
Jan 12 08:25:56 tobcpt drivers/input/serio/i8042.c: 04 <- i8042 (interrupt, 1, 12) [18883]
Jan 12 08:25:56 tobcpt drivers/input/serio/i8042.c: 57 <- i8042 (interrupt, 1, 12) [18883]
Jan 12 08:25:56 tobcpt drivers/input/serio/i8042.c: 24 <- i8042 (interrupt, 1, 12) [18902]

Last edited by sellout; 01-12-2008 at 08:48 AM.
 
  


Reply


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
gunzets and panasonic touchscreen assasukasse Linux - Hardware 1 04-06-2009 08:57 PM
Panasonic Toughbook CF-18 elect Linux - Laptop and Netbook 38 10-19-2007 12:58 AM
Panasonic ToughBook CF-28 TouchScreen Under Linux - Solved and Working. james_jenkins Linux - Laptop and Netbook 5 04-27-2007 02:08 PM
Touchscreen - Panasonic Toughbook CF-29 Azizcoos Linux - Hardware 14 04-26-2007 07:51 AM
Panasonic gets tough!!! laura675 Linux - General 1 11-30-2005 04:48 PM


All times are GMT -5. The time now is 06:39 PM.

Main Menu
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
identi.ca: @linuxquestions
Facebook: linuxquestions Google+: linuxquestions
Open Source Consulting | Domain Registration