evdev package 1.1.2-0ubuntu1 is seems to be broken

Bug #43100 reported by Mikkel Høgh
20
Affects Status Importance Assigned to Milestone
xserver-xorg-input-evdev (Ubuntu)
Fix Released
Medium
Unassigned

Bug Description

Binary package hint: xserver-xorg-input-evdev

After upgrading xserver-xorg-input-evdev, X fails to start, protesting not to have a Core Pointer.

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

Assume attaching xorg.conf and full log might help.. also please check comments on #40153 about config changes.

Changed in xserver-xorg-input-evdev:
status: Unconfirmed → Needs Info
Revision history for this message
Mikkel Høgh (mikl) wrote : This is the log of X failing to start

(EE) PreInit returned NULL for "Logitech MX1000" - whatever that means :)

Revision history for this message
Mikkel Høgh (mikl) wrote : my xorg.conf

Sorry I managed to forget to attach this.

In any case, I've tried with many different configurations, but this simply doesn't seem to work with the new evdev package :(

Revision history for this message
anime4christ (anime4christ) wrote :

I have the same problem, I didn't change my xorg.conf, just updated the driver, and X is dead, downgraded the driver and it's back up.

Revision history for this message
anime4christ (anime4christ) wrote :

Forgot to post my xorg.conf, here it is.

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

I think i can see the bug, but i need you to do a simple test for me. Instead of passing /dev/input/mx... can you try to use /dev/input/eventX ? (where X is the event pointing to your specific device)

Thanks
Fabio

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

Another test to do if possible to specify all the 3 options to point to a device:

Name
Phys
Device

Thanks
Fabio

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

oh since you are at it, mind to attach /proc/bus/input/devices ?

thanks a lot guys.

Fabio

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

I just spoke with upstream that pointed out the following in the man page and a couple of config snippets that might be very handy for everybody.

       Option "Device" "string"
              Specifies the device note through which the device can be
              accessed. At this time ONLY /dev/input/event<N>, where <N> is
              an integer, are matched against this this field.
              This option uses globbing.
              Please note that use of this option is strongly discouraged.

Fabio

Revision history for this message
Jason Ribeiro (jrib) wrote : xorg.conf with logs

I included /proc/bus/input/devices as well as various attempts at a working xorg.conf and the corresponding error log.

My original (before upgrade) working one is suffixed with .mx1000

I'm not entirely certain I am approaching this correctly, so I will go over the manual page later and try to be more thorough.

Revision history for this message
Mikkel Høgh (mikl) wrote :

Ok, so what you're saying is that we should basicly stop using the device parameter, and match the mouse on the Name/Phys options instead?

I'm afraid I won't be able to do it now, as my computer is in the office, where I won't go again until monday morning, but I'll take a shot at it.

When we figure this out, I think we should create a guide on the wiki - a lot of people use evdev on breezy, and a lot of stuff has changed in dapper, so we should probably make a sticky about this somewhere :)

Revision history for this message
anime4christ (anime4christ) wrote :

I think this should be fixed before the final release, so I think we should wait with the guide.

Revision history for this message
anime4christ (anime4christ) wrote :

I tried all the Dev, Phys, eventX, different ways, it works with the old driver, but not the new one. Here's my /proc/bus/input/devices

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0
B: EV=40001
B: SND=6

I: Bus=0003 Vendor=046d Product=c025 Version=1800
N: Name="Logitech USB-PS/2 Optical Mouse"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 ts0
B: EV=7
B: KEY=ff0000 0 0 0 0 0 0 0 0
B: REL=103

I: Bus=0003 Vendor=049f Product=000e Version=0100
N: Name="Compaq Compaq Internet Keyboard"
P: Phys=usb-0000:00:1d.1-2/input0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=120003
B: KEY=10000 7 ff87207a c14057ff febeffdf ffefffff ffffffff fffffffe
B: LED=7fff

I: Bus=0003 Vendor=049f Product=000e Version=0100
N: Name="Compaq Compaq Internet Keyboard"
P: Phys=usb-0000:00:1d.1-2/input1
S: Sysfs=/class/input/input3
H: Handlers=kbd event3
B: EV=3
B: KEY=20000 87a 5000d000 1e0000 0 0 0

Revision history for this message
Tobias Wolf (towolf) wrote :

Please see my comments on Bug #39878 as well.
I've tried Name, Device, Phys and vendor/product/version (by reference to the man page) to no avail.
The result is "PreInit returned NULL for <mydevice>"

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

Mikkel, yes exactly. Stop using Device completely please.

Guys i appreciate the infos i am getting back, but i must get from at least one of you all the data. Getting bits and pieces from different persons unfortunatly does not help because your systems are different.

Thanks
Fabio

Revision history for this message
Tobias Wolf (towolf) wrote : Re: [Bug 43100] Re: evdev package 1.1.2-0ubuntu1 is seems to be broken

On Tue, 09 May 2006 07:13:07 +0200, Fabio Massimo Di Nitto
<email address hidden> wrote:

> Mikkel, yes exactly. Stop using Device completely please.
>
> Guys i appreciate the infos i am getting back, but i must get from at
> least one of you all the data.

Here you go. This is the InputDevice Section from xorg.conf. The commented
out lines are other ways to specify the HW for evdev, I used them mutually
exclusive.

Section "InputDevice"
     Identifier "MS Intellimouse"
     Driver "evdev"
     Option "SendCoreEvents" "true"
     Option "Phys" "usb-*/input0"
         #Option "Device" "/dev/input/event1"
         #Option "Name" "*Microsoft IntelliMouse*"
         #Option "vendor" "1118"
         #Option "product" "149"
         #Option "version" "1049"
   #Option "Device" "/dev/input/intellimouse"
     #Option "Buttons" "7"
     #Option "ZAxisMapping" "4 5 6 7"
     #Option "ButtonMapping" "1 2 3 8 9"
EndSection

In every case the X log contains this line:

(EE) PreInit returned NULL for "MS Intellimouse"

What other info do you need, Fabio?

Revision history for this message
Tobias Wolf (towolf) wrote :

> What other info do you need, Fabio?

Stupid me, of course you did ask for this earlier:

$ cat /proc/bus/input/devices
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0
B: EV=120013
B: KEY=4 2000000 3802078 f850d001 f2ffffdf fbefffff ffffffff ffffffff
B: MSC=10
B: LED=7

I: Bus=0011 Vendor=0002 Product=0007 Version=0000
N: Name="SynPS/2 Synaptics TouchPad"
P: Phys=isa0060/serio4/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 ts0
B: EV=b
B: KEY=6420 0 70000 0 0 0 0 0 0 0 0
B: ABS=11000003

I: Bus=0003 Vendor=045e Product=0095 Version=0419
N: Name="Microsoft Microsoft IntelliMouse� Explorer"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/class/input/input2
H: Handlers=mouse1 event2 ts1
B: EV=7
B: KEY=1f0000 0 0 0 0 0 0 0 0
B: REL=1c3
On Tue, 09 May 2006 07:13:07 +0200, Fabio Massimo Di Nitto
<email address hidden> wrote:

> Mikkel, yes exactly. Stop using Device completely please.
>
> Guys i appreciate the infos i am getting back, but i must get from at
> least one of you all the data. Getting bits and pieces from different
> persons unfortunatly does not help because your systems are different.
>
> Thanks
> Fabio
>

Revision history for this message
Mikkel Høgh (mikl) wrote :

Fabio: I'm sorry if I forgot to attach something - you have my Xorg.conf and my logs. Here is the device list:

mikl@elijah:~$ cat /proc/bus/input/devices
I: Bus=0011 Vendor=0001 Product=0001 Version=ab41
N: Name="AT Translated Set 2 keyboard"
P: Phys=isa0060/serio0/input0
S: Sysfs=/class/input/input0
H: Handlers=kbd event0
B: EV=120013
B: KEY=4 2000000 3802078 f840d001 f2ffffdf ffefffff ffffffff fffffffe
B: MSC=10
B: LED=7

I: Bus=0003 Vendor=046d Product=c50e Version=2510
N: Name="Logitech USB RECEIVER"
P: Phys=usb-0000:00:1d.1-1/input0
S: Sysfs=/class/input/input1
H: Handlers=mouse0 event1 ts0
B: EV=7
B: KEY=ffff0000 0 0 0 0 0 0 0 0
B: REL=143

I: Bus=0010 Vendor=001f Product=0001 Version=0100
N: Name="PC Speaker"
P: Phys=isa0061/input0
S: Sysfs=/class/input/input2
H: Handlers=kbd event2
B: EV=40001
B: SND=6

I: Bus=0003 Vendor=047f Product=0410 Version=2030
N: Name="Plantronics CS50/CS60-USB Headset"
P: Phys=usb-0000:00:1d.1-2/input3
S: Sysfs=/class/input/input3
H: Handlers=event3
B: EV=20003
B: KEY=ff 0 0 0 0 0 0 0 0
B: LED=300

I'll update my xorg.conf to the new settings in a while and try again :)

Revision history for this message
Mikkel Høgh (mikl) wrote : Experiments with configuration

I've experimented a bit with the configuration and the new package.

There's four sets of xorg.conf and Xorg.0.log - three not using the device parameter
One with the name option only (xorg.conf.no_phys and Xorg.0.log.no_phys)
One with both dev and phys specified (xorg.conf.with_phys and Xorg.0.log.with_phys)
One with "Dev Name" instead of the name option (xorg.conf.dev_name and Xorg.0.log.dev_name) - this one is really interesting, since it throws a whole new error and a traceback into the log file.

And lastly theres the .current files, which are those that works for me with the "old" evdev package.

Also, when trying out these configurations, I had quite a lot of hard locks/system freezes, and sometimes to lines containing something like
******* memory corruption ********** malloc() *********** (garble in hex) fast
flashed on screen. So something is definitely off...

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

Hi guys,

<Mercury> fabbione: Have them try with just 'Option "Name" "<exactly what's in the /proc/bus/input/devices field>"', no Phys option. Also see if the generic entries from the manpages match anything for them.
<Mercury> fabbione: Output of 'ls /dev/input/' would also be handy.

more to test... Mercury is evdev upstream.

Thanks
Fabio

Revision history for this message
Mikkel Høgh (mikl) wrote :

Fabio: I did the first thing (name option only) in the "Experiments with configuration" file I uploaded earlier - It's the no_phys one :)

mikl@elijah:~$ ls /dev/input/
event0 event2 event3 mice mouse0 mx1000 ts0
mikl@elijah:~$

Revision history for this message
Tobias Wolf (towolf) wrote : Re: [Bug 43100] Re: evdev package 1.1.2-0ubuntu1 is seems to be broken

On Tue, 09 May 2006 11:35:40 +0200, Fabio Massimo Di Nitto <email address hidden> wrote:

> <Mercury> fabbione: Have them try with just 'Option "Name" "<exactly what's in the /proc/bus/input/devices field>"', no Phys option. Also see if the generic entries from the manpages match anything for them.

Dito to Mikkel, Option "Name" alone makes no difference. The same deal with mentioned generic stuff from the man page as described above already.

$ ls /dev/input/
event0 event2 intellimouse mice mouse0 mouse1 ts0 ts1

Revision history for this message
Salim (sboulkour) wrote : evdev-1.1.2-0ubuntu3

i tried evdev-1.1.2-0ubuntu2 and -ubuntu3, and still have same problem.
follow part of Xorg.0.log and xrog.conf:

(II) evdev brain: Rescanning devices (1).
(EE) PreInit returned NULL for "Configured Mouse"
(WW) No core pointer registered
(II) XINPUT: Adding extended input device "evdev brain" (type: evdev brain)
(II) XINPUT: Adding extended input device "Generic Keyboard" (type: KEYBOARD)
(II) XINPUT: Adding extended input device "NVIDIA Event Handler" (type: Other)
(II) evdev brain: Rescanning devices (2).
No core pointer

Section "InputDevice"
 Identifier "Configured Mouse"
 Driver "evdev"
 Option "CorePointer"
 Option "Device" "/dev/input/mx510"
 Option "Buttons" "10"
 Option "ZAxisMapping" "4 5"
 Option "Resolution" "800"
EndSection

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

lemsto please read the entire bug and please repot the same kinf of information the others did.

Also there is no mention in the changelog that ubuntu2 or 3 fix this problem.

Fabio

Revision history for this message
Fabio Massimo Di Nitto (fabbione) wrote :

Time to do some heavy debugging here.

http://people.ubuntu.com/~fabbione/evdev_drv.so

this is the evdev driver built for debugging on i386.

cp /usr/lib/xorg/modules/input/evdev_drv.so /usr/lib/xorg/modules/input/evdev_drv.so.backup

get the one from people and slam it to /usr/lib/xorg/modules/input/evdev_drv.so

gdb X
break EvdevCorePreInit
break evdevStart
break evdevNewDriver
run

(all symbols will be resolved at load time)

once X will get to start the evdev driver you will get a prompt
start using the command 'n'

Breakpoint at (bunch of info)
> n

n means proceed step by step into the code.

if there is any noticable error or warning please do a 'bt' command.

log all the output and attach it here. Also try with the different configs you attached before so we can have matching config+log+gdb session.

Thanks
fabio

Revision history for this message
Mario Manno (manno) wrote :

I had the following udev rule in place for my logitech mouse.

 KERNEL="event[0-9]*" BUS="usb", SYSFS{idProduct}="c01d", PROGRAM="/etc/udev/scripts/logitech-mouse.sh" NAME="input/evlogi0"

With the new evdev driver i had to change evlogi0 to event9. In both xorg.conf and udev.rules.

xorg.conf now contains the following line for my mouse:
 Option "Device" "/dev/input/event9"

I missed the man page and had to look into the sources. Please mention this new 'eventN' behaviour in the changelog.

Next thing: reassign my custom mouse button settings, again...

Revision history for this message
Mikkel Høgh (mikl) wrote :

"get the one from people and slam it to /usr/lib/xorg/modules/input/evdev_drv.so

gdb X
break EvdevCorePreInit
break evdevStart
break evdevNewDriver
run"

I tried that, but the breakpoint stuff doesn't seem to work - it just goes directly to "Program exited with status 01" after outputting the same stuff to the log as it usually does in the logs I've attached.

Revision history for this message
Tobias Wolf (towolf) wrote : Re: [Bug 43100] Re: evdev package 1.1.2-0ubuntu1 is seems to be broken

On Fri, 12 May 2006 09:16:45 +0200, Fabio Massimo Di Nitto <email address hidden> wrote:

> Time to do some heavy debugging here.

Aye Aye.

But, it doesn't break at all.

# cp Desktop/evdev_drv.so /usr/lib/xorg/modules/input/
# ll /usr/lib/xorg/modules/input/evdev_drv.so*
-rw-r--r-- 1 root root 174300 2006-05-12 12:28 /usr/lib/xorg/modules/input/evdev_drv.so
-rw-r--r-- 1 root root 28560 2006-05-12 09:36 /usr/lib/xorg/modules/input/evdev_drv.so.backup
# gdb X
GNU gdb 6.4-debian
Copyright 2005 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain conditions.Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i486-linux-gnu"...Using host libthread_db library "/lib/tls/i686/cmov/libthread_db.so.1".

(gdb) break EvdevCorePreInit
Function "EvdevCorePreInit" not defined.
Make breakpoint pending on future shared library load? (y or [n])
(gdb) break evdevStart
Function "evdevStart" not defined.
Make breakpoint pending on future shared library load? (y or [n])
(gdb) break evdevNewDriver
Function "evdevNewDriver" not defined.
Make breakpoint pending on future shared library load? (y or [n])
(gdb) run
Starting program: /usr/bin/X

X Window System Version 7.0.0
Release Date: 21 December 2005
X Protocol Version 11, Revision 0, Release 7.0
Build Operating System:Linux 2.6.12 i686
Current Operating System: Linux sams 2.6.15-22-386 #1 PREEMPT Sun May 7 15:49:09 UTC 2006 i686
Build Date: 16 March 2006
         Before reporting problems, check http://wiki.x.org
         to make sure that you have the latest version.
Module Loader present
Markers: (--) probed, (**) from config file, (==) default setting,
         (++) from command line, (!!) notice, (II) informational,
         (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri May 12 12:26:02 2006
(==) Using config file: "/etc/X11/xorg.conf"
(EE) NVIDIA(0): Failure reading maximum pixel clock value for display device
(EE) NVIDIA(0): TV-0.
(EE) PreInit returned NULL for "MS Intellimouse"
The XKEYBOARD keymap compiler (xkbcomp) reports:
> Warning: Type "ONE_LEVEL" has 1 levels, but <RALT> has 2 symbols
> Ignoring extra symbols
Errors from xkbcomp are not fatal to the X server
Synaptics DeviceInit called
SynapticsCtrl called.
Synaptics DeviceOn called

^C

Program received signal SIGINT, Interrupt.
0xffffe410 in __kernel_vsyscall ()
(gdb) q
The program is running. Exit anyway? (y or n) y

Revision history for this message
Mario Limonciello (superm1) wrote :

Fab-
If you post up a amd64 driver with debugging, i'll be glad to post up a backtrace. I have the same thing happening.

Revision history for this message
Tobias Wolf (towolf) wrote :

If we manage to debug this eventually, will the fix be eligible for dapper-updates?

Revision history for this message
Eugene86 (eugene86) wrote :

Also have this bug (Ubuntu 6.06), Mouse Logitech MX510

Mouse was configured using this guide:
http://www.ubuntuforums.org/showthread.php?t=188302
It seems this is only way to configure all buttons on 2.6.x.x kernel.

Revision history for this message
Mario Limonciello (superm1) wrote :

Eugene, if your amd64, I can probably dig up an old evdev driver (like I'm
using)

On 7/14/06, Eugene Seppel <email address hidden> wrote:
>
> Also have this bug (Ubuntu 6.06), Mouse Logitech MX510
>
> Mouse was configured using this guide:
> http://www.ubuntuforums.org/showthread.php?t=188302
> It seems this is only way to configure all buttons on 2.6.x.x kernel.
>
> --
> evdev package 1.1.2-0ubuntu1 is seems to be broken
> https://launchpad.net/bugs/43100
>

--
Mario Limonciello
<email address hidden>

Revision history for this message
Daniel Eckl (daniel-eckl) wrote :

This bug is now open for 3 months.... 1 month without any news...

Isn't there _any_ progress in the meantime?

It would be fantastic if anyone could update... Thanks very much!

Daniel

Revision history for this message
Tobias Wolf (towolf) wrote :

I completely forgot there was still an open bug about this ...
I can assert that the "(EE) PreInit returned NULL" problem magically disappeared after the last edgy evdev upload. I can happily plug and unplug the mouse whenever I want and it will work with all buttons working.

I use the triple vendor, product, version to detect the device

Section "InputDevice"
    Identifier "MS Intellimouse"
    Driver "evdev"
    Option "SendCoreEvents"
        #Option "Phys" "usb-*/input0"
        #Option "Device" "/dev/input/by-id/usb-Microsoft_Microsoft_IntelliMouse_Explorer-event-mouse"
        #Option "Device" "/dev/input/event1"
        #Option "Name" "*Microsoft IntelliMouse*"
    Option "vendor" "1118"
    Option "product" "149"
    Option "version" "1049"
    Option "Resolution" "800"
EndSection

Revision history for this message
anime4christ (anime4christ) wrote :

Well, it seems to work fine with the workaround I came up with in my tutorial:
http://ubuntuforums.org/showthread.php?t=219894

Revision history for this message
Daniel Eckl (daniel-eckl) wrote :

That's a great workaround! After Fabio mentioned this eventX thing, I thought I had to use the real event file which might change from time to time.

 I'd never thought of changing the udev rule to make the link in the eventX syntax to outsmart this evdev bug!

Thank you very much!

Revision history for this message
Tobias Wolf (towolf) wrote :

On Fri, 11 Aug 2006 23:28:10 +0200, Daniel Eckl <email address hidden> wrote:

> That's a great workaround! After Fabio mentioned this eventX thing, I
> thought I had to use the real event file which might change from time to
> time.
>
> I'd never thought of changing the udev rule to make the link in the
> eventX syntax to outsmart this evdev bug!

I’m confused. I had also used a custom udev rule and still couldn’t get X to start with the new device.

Revision history for this message
Timo Aaltonen (tjaalton) wrote :

please try with Feisty which as of today has 1.1.5.

Revision history for this message
Mario Limonciello (superm1) wrote :

Yes, definitely working with Feisty's newer version. Here is what I use

Section "InputDevice"
          Identifier "Mouse1"
          Driver "evdev"
          Option "Name" "Logitech USB-PS/2 Optical Mouse"
          Option "WHEELRelativeAxisButtons" "4 5"
          Option "ZAxisMapping" "4 5"
          Option "Resolution" "800"
EndSection

Changed in xserver-xorg-input-evdev:
status: Needs Info → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.