udev not loading joystick module/creating joystick device

Bug #21169 reported by Elliot Foster
12
Affects Status Importance Assigned to Milestone
hotplug (Debian)
Fix Released
Unknown
hotplug (Ubuntu)
Fix Released
High
Scott James Remnant (Canonical)

Bug Description

upgraded system from hoary to breezy, and joystick devices are not longer
recognized/created as devices under /dev. Joysticks were previously recognized
when hoary was installed. Motherboard is Asus A7N-8X, nvidia chipset. Original
message to ubuntu-dev mailing list follows:

I'm having an issue with breezy not recognizing usb joysticks. Hoary sees them
fine, and udev creates the /dev/input/jsX device, but breezy does not. I cannot
tell if udev's rules are not right, or if the kernel is not recognizing the
device. Any ideas? Unfortunately, they are two different machines. When the
breezy machine
was running hoary, it recognized the joystick just fine. Again, these are two
different machines. I will reinstall to hoary (from breezy) if requested.
Tasty bits of info follow:

Hoary kernel/udev version:
Linux frog 2.6.10-5-686 #1 Tue Apr 5 12:27:02 UTC 2005 i686 GNU/Linux
udev 0.050-3ubuntu7

Breezy kernel/udev version:
Linux kong 2.6.12-8-k7 #1 Tue Aug 30 23:29:08 BST 2005 i686 GNU/Linux
udev 0.060-1ubuntu10

Hoary /var/log/syslog portion:

Aug 31 20:35:35 frog kernel: usb 2-2: new low speed USB device using uhci_hcd
and address 6
Aug 31 20:35:35 frog kernel: input: USB HID v1.00 Joystick [LTS PSX/USB Pad] on
usb-0000:00:1d.1-2
Aug 31 20:35:35 frog hal.hotplug[27193]: DEVPATH is not set
Aug 31 20:35:36 frog usb.agent[27204]: usbhid: already loaded
Aug 31 20:35:36 frog input.agent[27194]: joydev: already loaded
Aug 31 20:35:36 frog input.agent[27194]: evdev: already loaded
Aug 31 20:35:36 frog input.agent[27194]: evbug: blacklisted
Aug 31 20:35:36 frog udev[27275]: configured rule in
'/etc/udev/rules.d/udev.rules' at line 61 applied, 'js0' becomes 'input/%k'
Aug 31 20:35:36 frog udev[27275]: creating device node '/dev/input/js0'
Aug 31 20:35:36 frog udev[27274]: configured rule in
'/etc/udev/rules.d/udev.rules' at line 60 applied, 'event3' becomes 'input/%k'
Aug 31 20:35:36 frog udev[27274]: creating device node '/dev/input/event3'
Aug 31 20:35:36 frog input.agent[27280]: evdev: already loaded
Aug 31 20:35:36 frog input.agent[27280]: evbug: blacklisted
Aug 31 20:35:36 frog input.agent[27296]: evdev: already loaded
Aug 31 20:35:36 frog input.agent[27296]: evbug: blacklisted

lsusb:

$ lsusb
Bus 004 Device 001: ID 0000:0000
Bus 003 Device 003: ID 1668:0441 Actiontec Electronics, Inc. [hex]
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 002: ID 8631:1128
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 001: ID 0000:0000

Breezy (logging turned up) /var/log/syslog portion:

Aug 31 20:41:00 localhost kernel: [4338248.565000] ohci_hcd 0000:00:02.0: wakeup
Aug 31 20:41:01 localhost kernel: [4338249.028000] usb 1-3: new low speed USB
device using ohci_hcd and address 2
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1114 queued, devpath
'/devices/pci0000:00/0000:00:02.0/usb1/1-3'
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1114 forked, pid 18487, 0
seconds old
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1115 queued, devpath
'/devices/pci0000:00/0000:00:02.0/usb1/1-3/1-3:1.0'
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1116 queued, devpath
'/class/input/event4'
Aug 31 20:41:01 localhost kernel: [4338249.163000] input: USB HID v1.00 Joystick
[LTS PSX/USB Pad] on usb-0000:00:02.0-3
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: udevd event message received
Aug 31 20:41:01 localhost last message repeated 3 times
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 0 forked, pid 18491, 43576
seconds old
Aug 31 20:41:01 localhost udev[18491]: udev.c: action, subsystem or devpath missing
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 0 exit, 43576 seconds old
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1114 exit, 0 seconds old
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1115 forked, pid 18517, 0
seconds old
Aug 31 20:41:01 localhost usb.agent[18520]: usbhid: already loaded
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1115 exit, 0 seconds old
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1116 forked, pid 18568, 0
seconds old
Aug 31 20:41:01 localhost udev[18568]: udev_rules.c: configured rule in
'/etc/udev/rules.d/udev.rules:71' applied, 'event4' becomes 'input/%k'
Aug 31 20:41:01 localhost udev[18568]: udev_add.c: creating device node
'/dev/input/event4'
Aug 31 20:41:01 localhost input.agent[18573]: evdev: already loaded
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 1116 exit, 0 seconds old

lsusb:

$ lsusb
Bus 003 Device 006: ID 046d:c024 Logitech, Inc.
Bus 003 Device 005: ID 046d:c30a Logitech, Inc.
Bus 003 Device 004: ID 0424:223a Standard Microsystems Corp. 8-in-1 Card Reader
Bus 003 Device 003: ID 0424:2504 Standard Microsystems Corp.
Bus 003 Device 002: ID 0424:2502 Standard Microsystems Corp.
Bus 003 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 001 Device 003: ID 8631:1128
Bus 001 Device 001: ID 0000:0000

Revision history for this message
Ben Collins (ben-collins) wrote :

Kernel is recognizing the device, so I suspect udev is just not loading things.
It only shows it trying to load the hid driver, and nothing else.

Reassigning to udev

Revision history for this message
Jeff Bailey (jbailey) wrote :

Can you try:

sudo udevstart

And see if your joystick device appears, please?

Tks,
Jeff Bailey

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

No love. Nothing happens. Nothing appears in syslog, and no output from the
command. No js* device appears in /dev/ or /dev/input.

If the kernel is recognizing the device as ben says, couldn't we just mknod the
device file and see if it works? I tried that a while ago, to no avail. I'm
not sure if there is more magic to udev than just creating the device files in
/dev/.

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Plugged both joysticks in, created device files manually:

/dev/input$ sudo mknod js0 c 13 0
/dev/input$ sudo mknod js1 c 13 1
/dev/input$ ls -al /dev/input/js*
crw-r--r-- 1 root root 13, 0 2005-09-08 08:58 /dev/input/js0
crw-r--r-- 1 root root 13, 1 2005-09-08 08:58 /dev/input/js1
/dev/input$ sudo cat /dev/input/js0
cat: /dev/input/js0: No such device
/dev/input$ sudo cat /dev/input/js1
cat: /dev/input/js1: No such device

Am I being ignorant, or shouldn't this work?

Revision history for this message
Martin Pitt (pitti) wrote :

(In reply to comment #4)
> Plugged both joysticks in, created device files manually:
> /dev/input$ sudo cat /dev/input/js0
> cat: /dev/input/js0: No such device
> /dev/input$ sudo cat /dev/input/js1
> cat: /dev/input/js1: No such device
>
> Am I being ignorant, or shouldn't this work?

No, if the kernel does not know the device, randomly creating a node for it
can't work. OTOH, if the kernel knew about the actual joystick device, it is
very likely that udev had already created the device automatically.

The most probable solution is that a module is missing.

Revision history for this message
Martin Pitt (pitti) wrote :

(In reply to comment #1)
> Kernel is recognizing the device, so I suspect udev is just not loading things.

Are you sure? The Hoary kernel does, but not the Breezy one. It recognizes an
USB device, sure, but not the actual kind of it (like it did in Hoary: "frog
kernel: input: USB HID v1.00 Joystick [LTS PSX/USB Pad] on usb-0000:00:1d.1-2).

Elliotf, can you please do a "lsmod > mod-hoary.txt" under Hoary, and an "lsmod
> mod-breezy.txt" when under Breezy? (Both times with attached joystick). Please
attach the resulting two text files here.

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

(In reply to comment #5)
> (In reply to comment #4)
> > Plugged both joysticks in, created device files manually:
> > /dev/input$ sudo cat /dev/input/js0
> > cat: /dev/input/js0: No such device
> > /dev/input$ sudo cat /dev/input/js1
> > cat: /dev/input/js1: No such device
> >
> > Am I being ignorant, or shouldn't this work?
>
> No, if the kernel does not know the device, randomly creating a node for it
> can't work. OTOH, if the kernel knew about the actual joystick device, it is
> very likely that udev had already created the device automatically.

I agree. I was testing to see if the kernel recognized it. Ben Collins seemed
to think that the kernel was recognizing it fine, and that it was udev not doing
something. I was testing that theory.

> The most probable solution is that a module is missing.
>

I will attach the two lsmod outputs. Again, these are two different machines
running different hardware (Hoary = IBM T40, Breezy = A7N-8X nvidia/athlon)

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Created an attachment (id=3629)
lsmod output on athlon/nforce mobo running breezy

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Created an attachment (id=3630)
lsmod output on IBM T40 running hoary

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

(In reply to comment #6)
> (In reply to comment #1)
> > Kernel is recognizing the device, so I suspect udev is just not loading things.
>
> Are you sure? The Hoary kernel does, but not the Breezy one. It recognizes an
> USB device, sure, but not the actual kind of it (like it did in Hoary: "frog
> kernel: input: USB HID v1.00 Joystick [LTS PSX/USB Pad] on usb-0000:00:1d.1-2).
>
> Elliotf, can you please do a "lsmod > mod-hoary.txt" under Hoary, and an "lsmod
> > mod-breezy.txt" when under Breezy? (Both times with attached joystick). Please
> attach the resulting two text files here.

Martin, I attached the files to the bug. Also, if you look, the breezy kernel
does have the line that you're talking about.

Revision history for this message
Matt Zimmerman (mdz) wrote :

duplicate of bug #21122?

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

I can confirm that they are recognized if plugged in before the system is
started. I restarted the system while plugged in, and they show:

$ uptime
 22:44:58 up 2 min, 1 user, load average: 0.35, 0.28, 0.11
$ ls -al /dev/js*
lrwxrwxrwx 1 root root 9 2005-09-08 22:48 /dev/js0 -> input/js0

Revision history for this message
Martin Pitt (pitti) wrote :

*** Bug 21122 has been marked as a duplicate of this bug. ***

Revision history for this message
Martin Pitt (pitti) wrote :

(In reply to comment #12)
> I can confirm that they are recognized if plugged in before the system is
> started.

Ah, thanks. So can you please do the module comparison this way instead:

 * Boot your system without the joystick attached, attach it afterwards, do
"lsmod > modules-hotplug.txt"
 * Boot your system with joystick attached, do "lsmod > modules-coldplug.txt"

and attach both files?

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Sure enough, on a hotplug the joydev kernel module is not loading:

$ diff modules.*
2d1
< udf 92356 1
27d25
< joydev 10048 0
30c28
< snd_ice1724 67236 1
---
> snd_ice1724 67236 0
43c41
< snd 55172 13
snd_ice1724,snd_ac97_codec,snd_ak4114,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_ak4xxx_adda,snd_mpu401_uart,snd_rawmidi,snd_seq_device
---
> snd 55172 11
snd_ice1724,snd_ac97_codec,snd_ak4114,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_timer,snd_ak4xxx_adda,snd_mpu401_uart,snd_rawmidi,snd_seq_device
61c59
< unix 27248 797
---
> unix 27248 250
70c68
< ide_cd 41732 1
---
> ide_cd 41732 0

I modprobe the joydev module, and boom, my joysticks appear. Don't I feel a bit
dumb about this. I will attach the two module lists anyway for full
documentation, and the syslog excerpt where I plugged the joysticks in at
09:11:08, then modprobe'd joydev at 09:14:23.

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Created an attachment (id=3665)
lsmod of breezy with joysticks attached before boot

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Created an attachment (id=3666)
lsmod of breezy with joysticks attached after boot

Revision history for this message
Elliot Foster (elliotf-deactivatedaccount) wrote :

Created an attachment (id=3667)
syslog excerpt of hotplugging joysticks, then modprobing joydev a few minutes
later

Revision history for this message
In , Bill Wohler (wohler) wrote : udev: main: action, subsystem or devpath missing

Package: udev
Version: 0.068-2
Severity: normal

With my recent upgrade from sarge to etch, I began getting the following
syslog message:

  udev[1135]: main: action, subsystem or devpath missing

It seems to be related to one of my USB devices--my wireless
keyboard/mouse which does have a USB dongle.

If the problem lies in another package, would you be so kind as to
refile it for me?

Here is the syslog output when I unplug my wireless keyboard/mouse
USB dongle:

Sep 16 11:13:45 olgas kernel: usb 2-1: USB disconnect, address 2
Sep 16 11:13:45 olgas udev[18382]: main: action, subsystem or devpath missing
Sep 16 11:13:46 olgas udev[18392]: main: action, subsystem or devpath missing

Here is the syslog output when I plug it back in:

Sep 16 11:15:17 olgas kernel: usb 2-1: new low speed USB device using uhci_hcd and address 3
Sep 16 11:15:17 olgas kernel: input: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.1-1
Sep 16 11:15:17 olgas udev[18496]: main: action, subsystem or devpath missing
Sep 16 11:15:17 olgas kernel: input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1
Sep 16 11:15:17 olgas udev[18514]: main: action, subsystem or devpath missing
Sep 16 11:15:21 olgas usb.agent[18557]: usbhid: already loaded
Sep 16 11:15:22 olgas usb.agent[18572]: usbhid: already loaded
Sep 16 11:15:23 olgas input.agent[18639]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18657]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18651]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18661]: evdev: already loaded

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (600, 'testing'), (80, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-686
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) (ignored: LC_ALL set to en_US)

Versions of packages udev depends on:
ii hotplug 0.0.20040329-25 Linux Hotplug Scripts
ii initscripts 2.86.ds1-2 Standard scripts needed for bootin
ii libc6 2.3.5-6 GNU C Library: Shared libraries an
ii libselinux1 1.24-4 SELinux shared libraries
ii lsb-base 3.0-5 Linux Standard Base 3.0 init scrip
ii makedev 2.3.1-78 creates device files in /dev
ii sed 4.1.4-4 The GNU sed stream editor

udev recommends no packages.

-- no debconf information

--
Bill Wohler <email address hidden> http://www.newt.com/wohler/ GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.

Revision history for this message
In , Marco d'Itri (md) wrote : Re: Bug#328685: udev: main: action, subsystem or devpath missing

reassign 328685 linux-2.6
thanks

On Sep 16, Bill Wohler <email address hidden> wrote:

> With my recent upgrade from sarge to etch, I began getting the following
> syslog message:
>
> udev[1135]: main: action, subsystem or devpath missing
>
> It seems to be related to one of my USB devices--my wireless
> keyboard/mouse which does have a USB dongle.
>
> If the problem lies in another package, would you be so kind as to
> refile it for me?
I think it's a kernel bug, hotplug events should never lack one of
these elements.

--
ciao,
Marco

Revision history for this message
In , Bill Wohler (wohler) wrote :

Marco d'Itri <email address hidden> wrote:

> > If the problem lies in another package, would you be so kind as to
> > refile it for me?

> reassign 328685 linux-2.6

Marco, gracie mille.

--
Bill Wohler <email address hidden> http://www.newt.com/wohler/ GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

The kernel might be correctly detecting the joystick device, but it's not
running /proc/sys/kernel/hotplug with all the variables it's supposed to:

Both syslogs show the following error during plug-after-boot:

Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 0 forked, pid 18491, 43576
seconds old
Aug 31 20:41:01 localhost udev[18491]: udev.c: action, subsystem or devpath missing
Aug 31 20:41:01 localhost udevd[2372]: udevd.c: seq 0 exit, 43576 seconds old

The reason it works if it's plugged in during boot is that the hotplug scripts
just fake events and don't receive them from the kernel.

Revision history for this message
In , Simon Horman (horms) wrote :

On Fri, Sep 16, 2005 at 12:48:01PM -0700, Bill Wohler wrote:
> Marco d'Itri <email address hidden> wrote:
>
> > > If the problem lies in another package, would you be so kind as to
> > > refile it for me?
>
> > reassign 328685 linux-2.6
>
> Marco, gracie mille.

Here is the text of the bug in case anyone wants it.

--
Horms

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Attach the Debian bug (this might actually work now <g>)

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Fri, 16 Sep 2005 11:22:02 -0700
From: Bill Wohler <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: udev: main: action, subsystem or devpath missing

Package: udev
Version: 0.068-2
Severity: normal

With my recent upgrade from sarge to etch, I began getting the following
syslog message:

  udev[1135]: main: action, subsystem or devpath missing

It seems to be related to one of my USB devices--my wireless
keyboard/mouse which does have a USB dongle.

If the problem lies in another package, would you be so kind as to
refile it for me?

Here is the syslog output when I unplug my wireless keyboard/mouse
USB dongle:

Sep 16 11:13:45 olgas kernel: usb 2-1: USB disconnect, address 2
Sep 16 11:13:45 olgas udev[18382]: main: action, subsystem or devpath missing
Sep 16 11:13:46 olgas udev[18392]: main: action, subsystem or devpath missing

Here is the syslog output when I plug it back in:

Sep 16 11:15:17 olgas kernel: usb 2-1: new low speed USB device using uhci_hcd and address 3
Sep 16 11:15:17 olgas kernel: input: USB HID v1.10 Keyboard [Logitech USB Receiver] on usb-0000:00:1d.1-1
Sep 16 11:15:17 olgas udev[18496]: main: action, subsystem or devpath missing
Sep 16 11:15:17 olgas kernel: input: USB HID v1.10 Mouse [Logitech USB Receiver] on usb-0000:00:1d.1-1
Sep 16 11:15:17 olgas udev[18514]: main: action, subsystem or devpath missing
Sep 16 11:15:21 olgas usb.agent[18557]: usbhid: already loaded
Sep 16 11:15:22 olgas usb.agent[18572]: usbhid: already loaded
Sep 16 11:15:23 olgas input.agent[18639]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18657]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18651]: evdev: already loaded
Sep 16 11:15:23 olgas input.agent[18661]: evdev: already loaded

-- System Information:
Debian Release: testing/unstable
  APT prefers testing
  APT policy: (600, 'testing'), (80, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.12-1-686
Locale: LANG=en_US, LC_CTYPE=en_US (charmap=ISO-8859-1) (ignored: LC_ALL set to en_US)

Versions of packages udev depends on:
ii hotplug 0.0.20040329-25 Linux Hotplug Scripts
ii initscripts 2.86.ds1-2 Standard scripts needed for bootin
ii libc6 2.3.5-6 GNU C Library: Shared libraries an
ii libselinux1 1.24-4 SELinux shared libraries
ii lsb-base 3.0-5 Linux Standard Base 3.0 init scrip
ii makedev 2.3.1-78 creates device files in /dev
ii sed 4.1.4-4 The GNU sed stream editor

udev recommends no packages.

-- no debconf information

--
Bill Wohler <email address hidden> http://www.newt.com/wohler/ GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Fri, 16 Sep 2005 20:35:23 +0200
From: <email address hidden> (Marco d'Itri)
To: Bill Wohler <email address hidden>, <email address hidden>
Cc: <email address hidden>
Subject: Re: Bug#328685: udev: main: action, subsystem or devpath missing

--lrZ03NoBR/3+SXJZ
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

reassign 328685 linux-2.6
thanks

On Sep 16, Bill Wohler <email address hidden> wrote:

> With my recent upgrade from sarge to etch, I began getting the following
> syslog message:
>=20
> udev[1135]: main: action, subsystem or devpath missing
>=20
> It seems to be related to one of my USB devices--my wireless
> keyboard/mouse which does have a USB dongle.
>=20
> If the problem lies in another package, would you be so kind as to
> refile it for me?
I think it's a kernel bug, hotplug events should never lack one of
these elements.

--=20
ciao,
Marco

--lrZ03NoBR/3+SXJZ
Content-Type: application/pgp-signature; name="signature.asc"
Content-Description: Digital signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDKxBrFGfw2OHuP7ERAiLpAKChoQq8ENVWu9BVjS1d38rKP5hb9gCfeR0b
Kd/GbtcroGPq4A367HSSreI=
=da0l
-----END PGP SIGNATURE-----

--lrZ03NoBR/3+SXJZ--

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Fri, 16 Sep 2005 12:48:01 -0700
From: Bill Wohler <email address hidden>
To: <email address hidden> (Marco d'Itri)
cc: <email address hidden>
Subject: Re: Bug#328685: udev: main: action, subsystem or devpath missing

Marco d'Itri <email address hidden> wrote:

> > If the problem lies in another package, would you be so kind as to
> > refile it for me?

> reassign 328685 linux-2.6

Marco, gracie mille.

--
Bill Wohler <email address hidden> http://www.newt.com/wohler/ GnuPG ID:610BD9AD
Maintainer of comp.mail.mh FAQ and MH-E. Vote Libertarian!
If you're passed on the right, you're in the wrong lane.

Revision history for this message
Debian Bug Importer (debzilla) wrote :
Download full text (11.8 KiB)

Message-ID: <email address hidden>
Date: Tue, 20 Sep 2005 11:14:52 +0900
From: Horms <email address hidden>
To: <email address hidden>
Subject: Re: Bug#328685: udev: main: action, subsystem or devpath missing

--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline

On Fri, Sep 16, 2005 at 12:48:01PM -0700, Bill Wohler wrote:
> Marco d'Itri <email address hidden> wrote:
>
> > > If the problem lies in another package, would you be so kind as to
> > > refile it for me?
>
> > reassign 328685 linux-2.6
>
> Marco, gracie mille.

Here is the text of the bug in case anyone wants it.

--
Horms

--/04w6evG8XlLl3ft
Content-Type: text/plain; charset=us-ascii
Content-Disposition: attachment; filename="bug_328685.mbox"

From <email address hidden> Fri Sep 16 11:22:05 2005
Received: (at submit) by bugs.debian.org; 16 Sep 2005 18:22:05 +0000
Return-path: <email address hidden>
Received: from pop-sarus.atl.sa.earthlink.net [207.69.195.72]
 by spohr.debian.org with esmtp (Exim 3.36 1 (Debian))
 id 1EGKqb-0001It-00; Fri, 16 Sep 2005 11:22:05 -0700
Received: from h-68-166-188-126.snvacaid.dynamic.covad.net ([68.166.188.126] helo=olgas.newt.com)
 by pop-sarus.atl.sa.earthlink.net with esmtp (Exim 3.36 #10)
 id 1EGKqa-0004zn-00
 for <email address hidden>; Fri, 16 Sep 2005 14:22:04 -0400
Received: by olgas.newt.com (Postfix, from userid 1000)
 id 9B07416FB0; Fri, 16 Sep 2005 11:22:02 -0700 (PDT)
Received: from olgas.newt.com (localhost [127.0.0.1])
 by olgas.newt.com (Postfix) with ESMTP id 94BAD16FAC
 for <email address hidden>; Fri, 16 Sep 2005 11:22:02 -0700 (PDT)
From: Bill Wohler <email address hidden>
To: Debian Bug Tracking System <email address hidden>
Subject: udev: main: action, subsystem or devpath missing
Organization: Newt Software
X-Mailer: MH-E 7.84+cvs; nmh 1.1; GNU Emacs 21.4.1
X-Image-URL: http://www.newt.com/wohler/images/bill-diving.png
Date: Fri, 16 Sep 2005 11:22:02 -0700
Message-ID: <email address hidden>
Sender: <email address hidden>
Delivered-To: <email address hidden>
X-Spam-Checker-Version: SpamAssassin 2.60-bugs.debian.org_2005_01_02
 (1.212-2003-09-23-exp) on spohr.debian.org
X-Spam-Level:
X-Spam-Status: No, hits=-8.0 required=4.0 tests=BAYES_00,HAS_PACKAGE
 autolearn=no version=2.60-bugs.debian.org_2005_01_02

Package: udev
Version: 0.068-2
Severity: normal

With my recent upgrade from sarge to etch, I began getting the following
syslog message:

  udev[1135]: main: action, subsystem or devpath missing

It seems to be related to one of my USB devices--my wireless
keyboard/mouse which does have a USB dongle.

If the problem lies in another package, would you be so kind as to
refile it for me?

Here is the syslog output when I unplug my wireless keyboard/mouse
USB dongle:

Sep 16 11:13:45 olgas kernel: usb 2-1: USB disconnect, address 2
Sep 16 11:13:45 olgas udev[18382]: main: action, subsystem or devpath missing
Sep 16 11:13:46 olgas udev[18392]: main: action, subsystem or devpath missing

Here is the syslog output when I plug it back in:

Sep 16 11:15:17 olgas kernel: usb 2-1: new low speed USB device using uhci_hcd and address 3
Sep 16 11:15:17 olgas kernel: input: USB HID v1.10 Keyboard [Logitech...

Revision history for this message
In , David Hugh-Jones (davidhughjones) wrote : I get this when attaching a microsoft USB mouse, and the mouse movement doesn't work.

To reproduce: plug in a USB mouse. /var/log/syslog gives:

Sep 23 18:48:12 portege kernel: usb 1-1: new low speed USB device
using uhci_hcd and address 5
Sep 23 18:48:12 portege kernel: input: USB HID v1.00 Mouse [Microsoft Microsoft
Wheel Mouse Optical(r)] on usb-0000:00:05.2-1
Sep 23 18:48:12 portege udev[8152]: main: action, subsystem or devpath missing
Sep 23 18:48:15 portege usb.agent[8165]: usbhid: already loaded
Sep 23 18:48:15 portege usb.agent[8165]: usbmouse: already loaded
Sep 23 18:48:17 portege input.agent[8211]: evdev: already loaded
Sep 23 18:48:17 portege input.agent[8219]: evdev: already loaded
Sep 23 18:48:17 portege input.agent[8225]: evdev: already loaded

Thereafter, my mouse buttons work fine but mouse movement doesn't - I
cannot move the pointer around.

David

Revision history for this message
Debian Bug Importer (debzilla) wrote :

Message-ID: <email address hidden>
Date: Fri, 23 Sep 2005 18:50:27 +0100
From: David Hugh-Jones <email address hidden>
To: <email address hidden>
Subject: I get this when attaching a microsoft USB mouse, and the mouse movement doesn't work.

To reproduce: plug in a USB mouse. /var/log/syslog gives:

Sep 23 18:48:12 portege kernel: usb 1-1: new low speed USB device
using uhci_hcd and address 5
Sep 23 18:48:12 portege kernel: input: USB HID v1.00 Mouse [Microsoft Micro=
soft
Wheel Mouse Optical(r)] on usb-0000:00:05.2-1
Sep 23 18:48:12 portege udev[8152]: main: action, subsystem or devpath miss=
ing
Sep 23 18:48:15 portege usb.agent[8165]: usbhid: already loaded
Sep 23 18:48:15 portege usb.agent[8165]: usbmouse: already loaded
Sep 23 18:48:17 portege input.agent[8211]: evdev: already loaded
Sep 23 18:48:17 portege input.agent[8219]: evdev: already loaded
Sep 23 18:48:17 portege input.agent[8225]: evdev: already loaded

Thereafter, my mouse buttons work fine but mouse movement doesn't - I
cannot move the pointer around.

David

Revision history for this message
In , Scott James Remnant (Canonical) (canonical-scott) wrote : udev: main: action, subsystem or devpath missing

This is simultaneously caused by the kernel input subsystem not using
the new driver core, and the changes to udev to obsolete the /etc/dev.d
and /etc/hotplug.d directories.

With the new driver core the driver has an opportunity to add
environment to the uevent[0] generated along with the sysfs information
before the event is sent to userspace via the netlink socket and, for
backwards compatibility, the /proc/sys/kernel/hotplug interface.

However the input subsystem isn't yet doing this, so the sysfs-generated
event doesn't carry any of the PRODUCT, EV, KEY, etc. environment
variables describing the input device.

Instead the input subsystem has its own function to generate the
environment for a call to the /proc/sys/kernel/hotplug helper. This is
done in drivers/input.c input_call_hotplug().

Because this isn't related to the sysfs event, there's no way for it to
include the DEVPATH variable that points to the path in the sysfs
filesystem.

There are patches starting to float around now to update the kernel to
use the new driver core; at this point udev will be able to
drop /proc/sys/kernel/hotplug compatibility completely as all events
will come from the netlink socket and be well-formed.

udev *used* to handle this; when it received an event without the
required variables it would skip any udev.rules processing and just run
the old /etc/hotplug.d/ scripts.

udev-0.059 dropped direct support for these scripts, and instead
included a "udev_run_hotplugd" helper that distributions could chose to
ship alongside and add a udev.rules entry to run it.

This also meant that support for the "malformed" uevents was dropped at
the same time, as there's no way to perform udev.rules checking with
them.

The right solution, long-term, is for the kernel to use the new driver
core for the input subsystem. This will mean all sorts of hacks will go
away, and bring us one step closer to world peace and stuff.

The short term solution we've adopted in Ubuntu is the attached patch
that handles input subsystem events that are missing a devpath by
directly execing udev_run_hotplugd and letting that deal with it.

Scott

[0] the new name for what used to be hotplug events.
--
Scott James Remnant
<email address hidden>

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

i386 users, could you try:

http://people.ubuntu.com/~scott/udev_0.060-1ubuntu15_i386.deb

before I upload it. I've tested it here and it solves the problem -- can you
confirm whether it does or not for you too.

Revision history for this message
Debian Bug Importer (debzilla) wrote :
Download full text (4.4 KiB)

Message-Id: <email address hidden>
Date: Sat, 24 Sep 2005 00:13:07 +0100
From: Scott James Remnant <email address hidden>
To: <email address hidden>, Debian Kernel Team <email address hidden>,
 Marco d'Itri <email address hidden>
Subject: udev: main: action, subsystem or devpath missing

--=-zi1zEZaOeXx0Q2S2xJcF
Content-Type: multipart/mixed; boundary="=-HS/xhRS6lqwUixJxEXED"

--=-HS/xhRS6lqwUixJxEXED
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

This is simultaneously caused by the kernel input subsystem not using
the new driver core, and the changes to udev to obsolete the /etc/dev.d
and /etc/hotplug.d directories.

With the new driver core the driver has an opportunity to add
environment to the uevent[0] generated along with the sysfs information
before the event is sent to userspace via the netlink socket and, for
backwards compatibility, the /proc/sys/kernel/hotplug interface.

However the input subsystem isn't yet doing this, so the sysfs-generated
event doesn't carry any of the PRODUCT, EV, KEY, etc. environment
variables describing the input device.

Instead the input subsystem has its own function to generate the
environment for a call to the /proc/sys/kernel/hotplug helper. This is
done in drivers/input.c input_call_hotplug().

Because this isn't related to the sysfs event, there's no way for it to
include the DEVPATH variable that points to the path in the sysfs
filesystem.

There are patches starting to float around now to update the kernel to
use the new driver core; at this point udev will be able to
drop /proc/sys/kernel/hotplug compatibility completely as all events
will come from the netlink socket and be well-formed.

udev *used* to handle this; when it received an event without the
required variables it would skip any udev.rules processing and just run
the old /etc/hotplug.d/ scripts.

udev-0.059 dropped direct support for these scripts, and instead
included a "udev_run_hotplugd" helper that distributions could chose to
ship alongside and add a udev.rules entry to run it.

This also meant that support for the "malformed" uevents was dropped at
the same time, as there's no way to perform udev.rules checking with
them.

The right solution, long-term, is for the kernel to use the new driver
core for the input subsystem. This will mean all sorts of hacks will go
away, and bring us one step closer to world peace and stuff.

The short term solution we've adopted in Ubuntu is the attached patch
that handles input subsystem events that are missing a devpath by
directly execing udev_run_hotplugd and letting that deal with it.

Scott

[0] the new name for what used to be hotplug events.
--=20
Scott James Remnant
<email address hidden>

--=-HS/xhRS6lqwUixJxEXED
Content-Description:
Content-Disposition: inline; filename=hotplug_input_events
Content-Type: text/x-patch; charset=UTF-8
Content-Transfer-Encoding: base64

ZGlmZiAtcnVOcCB1ZGV2LTA2MC5vcmlnL3VkZXYuYyB1ZGV2LTA2MC91ZGV2LmMNCi0tLSB1ZGV2
LTA2MC5vcmlnL3VkZXYuYwkyMDA1LTA5LTIzIDIzOjA4OjI1LjM3NDg4MzAwMCArMDEwMA0KKysr
IHVkZXYtMDYwL3VkZXYuYwkyMDA1LTA5LTIzIDIzOjIyOjQ1LjAzNDE5NTg2NCArMDEwMA0KQEAg
LTExNCwxMSArMTE0LDI1IEBAIGludCBtYWluKGludCBhc...

Read more...

Revision history for this message
Scott James Remnant (Canonical) (canonical-scott) wrote :

Format: 1.7
Date: Fri, 23 Sep 2005 23:31:23 +0100
Source: udev
Binary: udev udev-udeb
Architecture: source
Version: 0.060-1ubuntu15
Distribution: breezy
Urgency: low
Maintainer: Marco d'Itri <email address hidden>
Changed-By: Scott James Remnant <email address hidden>
Description:
 udev - /dev/ management daemon
 udev-udeb - /dev/ management daemon
Changes:
 udev (0.060-1ubuntu15) breezy; urgency=low
 .
   * The kernel's input subsystem still hasn't been updated to use the new
     driver core and is still running /proc/sys/kernel/hotplug (udevsend)
     itself with a hand-constructed environment, rather than attaching data
     to the sysfs event.
 .
     These hand-constructed events are missing the DEVPATH= variable which
     udev requires before processing its rules.
 .
     Added debian/patches/hotplug_input_events which instead of ignoring these
     events catches those from the input subsystem and processes them by
     running /sbin/udev_run_hotplugd; effectively passing all responsibility
     to the old hotplug input.agent which still can deal with them.
 .
     In the long-term, the kernel will be updated to use the driver core
     (there are patches starting to be floated now) and attach its
     information to the sysfs event, so this hack can go when that happens.
Files:
 5bdbe0e36977e93802622c253e90975d 604 admin optional udev_0.060-1ubuntu15.dsc
 3ab1155dd03ad91906e94611a680515c 33715 admin optional udev_0.060-1ubuntu15.diff.gz
Package-Type: udeb

Revision history for this message
In , maximilian attems (maks-debian) wrote :

Package: linux-2.6
Version: 2.6.16-1

since 2.6.16 the input uevents are fixed.
thus closing

--
maks

Changed in hotplug:
status: New → Fix Released
Revision history for this message
In , Debbugs Internal Request (owner-bugs) wrote : Internal Control

# A New Hope
# A log time ago, in a galaxy far, far away
# something happened.
#
# Magically this resulted in the following
# action being taken, but this fake control
# message doesn't tell you why it happened
#
# The action:
# Bug archived.
thanks
# This fakemail brought to you by your local debbugs
# administrator

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

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