You are not logged in.

#1 2013-03-02 16:46:15

Xemertix
Member
Registered: 2009-04-09
Posts: 66

(SOLVED) /device/event changing each boot with non stock kernels

Hi, my touchscreen device (which uses a driver not included in the kernel) is attached to udev:/sys/devices/platform/i8042/serio2/input/input13/event9 and I have a custom configuration* in xorg.conf file to make it work (standard kernel)...
When I boot a custom kernel, like pf-kernel (installed from repo) the event does change every boot! Eg. event9 will became event3 and I have to modify xorg.conf accordingly each boot to make the touchscreen working again...
How can I fix it? Is there some kernel option to enable/disable or maybe is it related to BFS scheduler?
Thank you

*

Section "InputClass"
    Identifier    "touchscreen"
	MatchIsTouchscreen "true"
	#MatchDevicePath "/dev/input/event9"
	MatchDevicePath "/dev/input/event9"
        Driver    "evdev"
        Option  "Mode"  "absolute"
        Option  "Device"    "/dev/input/touchscreen"
        Option  "DeviceName"    "touchscreen"
        Option  "Calibration" "11 1010 28 1000"
        Option  "EmulateThirdButton" "yes"
        Option  "EmulateThirdButtonButton" "3"
        Option  "EmulateThirdButtonTimeout" "750"
        Option  "EmulateThirdButtonMoveThreshold" "50"
EndSection
	Information	[    32.142] (II) config/udev: Adding input device semtech psaux/serial TouchScreen (/dev/input/event9)
Information	[    32.142] (**) Option "config_info" "udev:/sys/devices/platform/i8042/serio2/input/input13/event9"

Last edited by Xemertix (2013-03-05 23:17:34)

Offline

#2 2013-03-02 16:54:14

Gusar
Member
Registered: 2009-08-25
Posts: 3,466

Re: (SOLVED) /device/event changing each boot with non stock kernels

The solution is to not match by device path, but by product and/or vendor. Do you even need any additional matches, isn't the match by touchscreen enough?

Offline

#3 2013-03-02 16:58:54

falconindy
Developer
From: New York, USA
Registered: 2009-10-22
Posts: 4,095
Website

Re: (SOLVED) /device/event changing each boot with non stock kernels

/dev/input/event* device nodes as created by the kernel are not reliable in the same way that you can't rely on partition nodes (e.g. /dev/sda2). You need to use the by-path or by-id symlinks if you want persistent naming.

Or, as gusar suggests, match on another attribute entirely.

Offline

#4 2013-03-02 17:00:04

brebs
Member
Registered: 2007-04-03
Posts: 3,439

Re: (SOLVED) /device/event changing each boot with non stock kernels

Read wiki regarding e.g. MatchProduct, MatchVendor.

MatchDevicePath "/dev/input/event*"

Notice that asterix, rather than binding to an arbitrary, unreliable number.

Offline

#5 2013-03-05 23:16:32

Xemertix
Member
Registered: 2009-04-09
Posts: 66

Re: (SOLVED) /device/event changing each boot with non stock kernels

Replaced     MatchDevicePath "/dev/input/event9"  with     Option  "Device" "/dev/input/by-path/platform-i8042-serio-2-event"
Thanks

Offline

Board footer

Powered by FluxBB