[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#532115: Please help to solve this bug



On Mon, 2009-06-08 at 09:11 +0200, Debian wrote:
> > Debian doesn't patch this drivers, so if it works in other distributions
> > this is not a kernel bug.
> 
> Yes - i also could not understand this.
> The analog.ko is very old and there would be no need to change it.
> 
> On the other hand i did found a forum entry with a tip that the analog module have
> to be patched, because something is wrong.
> Sorry but i have lost the link and the content.
> 
> So has this kernel-module been changed in the past?

You can look through the last few years' changes at
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=history;f=drivers/input/joystick/analog.c

I'm not sure how much use that will be to you though.

> At least i also can't believe that the kernel-module is the problem, and so i
> investigated in the problem of the kernel-message registering "/class/input/input1"
> instead of "/dev/input/js0".

/class/input/input1 is the path to the device's information in sysfs,
which is quite separate from the path to its special file in /dev.

> I assumed that must have to do with udev, which seems to be responsible for that ?
> But the maintainer of udev says that everything is fine and there can't be a problem.
> (See bug 518815)

Marco d'Itri often needs to be convinced to take bugs seriously.

> I don't understand the interaction of udev and the kernel and so i need help to
> understand the mechanism of inserting kernel-modules.

The kernel detects devices on the PCI, USB or other bus and tries to
find a driver for them.  At this point it has no idea what the device
actually does, but it has some kind of identifier that can be used to
find a driver.  If no suitable driver is loaded then it runs "modprobe"
to load a driver.

The driver knows that the device is a network interface, disk interface,
or in this case an input device, and it registers it with the kernel in
the appropriate "class".  The kernel then sends a message to udevd that
a device of this class has been added, and udevd follows the rules in
its configuration files.  These rules specify the creation of device
files under /dev, and potentially many other actions.

> We need help, because there are many users outside, that still wants to use this
> good old analog gameport for gaming or simple as input for external signals.
> 
> Can you please give some advice for further analysis?

As root, run:
    rmmod analog
    /etc/init.d/udev stop
    udevd --debug >udevd.log 2>&1 &
    sleep 1
    modprobe analog
    kill %1
    /etc/init.d/udev start

At the end of the file udevd.log you should see the messages sent by the
kernel to udevd about the joystick device.

Ben

-- 
Ben Hutchings
Beware of programmers who carry screwdrivers. - Leonard Brandwein

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: