2003-09-02 02:45:42

by jeff millar

[permalink] [raw]
Subject: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module

Some questions

1. Why doesn't the PS/2 mouse autoload as a module?
Running 2.6.0-test4, psmouse doesn't autoload as a module. Oddly, neither
gpm nor X complains about the missing module, the mouse just doesn't work.
But if I modprobe psmouse, the cursor starts moving. I verified that
/dev/psaux uses char-major-10-1 and that it has an "alias char-major-10-1
psaux" in modprobe.conf.

2. Why do I have to compile CONFIG_SERIO into the kernel? If it's set to
module, then the link step for various modules complains about missing atkbd
symbols?

I'd appreciate any hints on what to try.

thanks, jeff

Some more questions to help me understand how this works...

1. What does kmod send to modprobe? From looking at modprobe.conf
apparently "char-major-x-y".
2. Does kmod send any other strings to modprobe?
3. Documentation/kmod.txt says "passing the name (to modprobe) that was
requested", couldn't this be more explicit?
4. Does kmod gets the major-minor number from the device file upon open(),
or some other way?


2003-09-02 13:44:39

by Andrey Borzenkov

[permalink] [raw]
Subject: Re: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module

> 1. Why doesn't the PS/2 mouse autoload as a module?
> Running 2.6.0-test4, psmouse doesn't autoload as a module. Oddly, neither
> gpm nor X complains about the missing module, the mouse just doesn't work.
> But if I modprobe psmouse, the cursor starts moving. I verified that
> /dev/psaux uses char-major-10-1 and that it has an "alias char-major-10-1
> psaux" in modprobe.conf.

because in 2.6 user-level programs do not speak with low-level hardware
drivers anymore. psmouse feeds events to input midlayer that dispatches
them to those handlers that expressed interest. And those handlers speak
with user-level tools.

/dev/psaux is an *emulated* ImPS mouse that is not related to any
real hardware. It will convert events from _any_ mouse you have into
PS/2 protocol for users but if there is no mouse it just sits there
and waits.

/dev/psaux is provided by mousemod not psmouse.

In general there seems to be no way to load low-level input drivers
on access because there is no instance that ever accesses them. And
as it stands now there is not way to auto-load using some other means.
So we are back in static configuration times ...

> 1. What does kmod send to modprobe? From looking at modprobe.conf apparently "char-major-x-y".

only for misc devices. It is char-major-X for most others

> 2. Does kmod send any other strings to modprobe?

no.

> 3. Documentation/kmod.txt says "passing the name (to modprobe) that was
> requested", couldn't this be more explicit?

what exactly do you mean?

> 4. Does kmod gets the major-minor number from the device file upon open(),
> or some other way?

from device file on open.

-andrey

2003-09-02 14:18:26

by snpe

[permalink] [raw]
Subject: Re: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module

Hello,
I think that a problem is module-init program insmod
insmod don't load any module.I tried for psmouse next :
insmod psmouse
Can't open 'psmouse': No such file or directory
modprobe psmouse
modprobe work
I use module-init-tools 0.9.13 and kernel 2.6.0-test4 (MDK 9.1 and I have to delete -static when compile insmod)
module-init-tools-0.9.14-pre1 don't compile - libsupport.h dosen't exists

regards
Haris PecoOn Tuesday 02 September 2003 02:34 am, jeff millar wrote:
> Some questions
>
> 1. Why doesn't the PS/2 mouse autoload as a module?
> Running 2.6.0-test4, psmouse doesn't autoload as a module. Oddly, neither
> gpm nor X complains about the missing module, the mouse just doesn't work.
> But if I modprobe psmouse, the cursor starts moving. I verified that
> /dev/psaux uses char-major-10-1 and that it has an "alias char-major-10-1
> psaux" in modprobe.conf.
>
> 2. Why do I have to compile CONFIG_SERIO into the kernel? If it's set to
> module, then the link step for various modules complains about missing
> atkbd symbols?
>
> I'd appreciate any hints on what to try.
>
> thanks, jeff
>
> Some more questions to help me understand how this works...
>
> 1. What does kmod send to modprobe? From looking at modprobe.conf
> apparently "char-major-x-y".
> 2. Does kmod send any other strings to modprobe?
> 3. Documentation/kmod.txt says "passing the name (to modprobe) that was
> requested", couldn't this be more explicit?
> 4. Does kmod gets the major-minor number from the device file upon open(),
> or some other way?
>
> -
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to [email protected]
> More majordomo info at http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at http://www.tux.org/lkml/

2003-09-02 22:51:18

by jeff millar

[permalink] [raw]
Subject: Re: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module

From: "Andrey Borzenkov" <[email protected]>
> > 1. Why doesn't the PS/2 mouse autoload as a module?
> > Running 2.6.0-test4, psmouse doesn't autoload as a module. Oddly,
neither
> > gpm nor X complains about the missing module, the mouse just doesn't
work.
> > But if I modprobe psmouse, the cursor starts moving. I verified that
> > /dev/psaux uses char-major-10-1 and that it has an "alias
char-major-10-1
> > psaux" in modprobe.conf.
>
> because in 2.6 user-level programs do not speak with low-level hardware
> drivers anymore. psmouse feeds events to input midlayer that dispatches
> them to those handlers that expressed interest. And those handlers speak
> with user-level tools.
>
> /dev/psaux is an *emulated* ImPS mouse that is not related to any
> real hardware. It will convert events from _any_ mouse you have into
> PS/2 protocol for users but if there is no mouse it just sits there
> and waits.

> /dev/psaux is provided by mousemod not psmouse.

> In general there seems to be no way to load low-level input drivers
> on access because there is no instance that ever accesses them. And
> as it stands now there is not way to auto-load using some other means.
> So we are back in static configuration times ...

Ok, I guess. But isn't there some module reference that can trigger the
install of psmouse?

> > 1. What does kmod send to modprobe? From looking at modprobe.conf
apparently "char-major-x-y".
>
> only for misc devices. It is char-major-X for most others

> > 2. Does kmod send any other strings to modprobe?

> no.

> > 3. Documentation/kmod.txt says "passing the name (to modprobe) that was
> > requested", couldn't this be more explicit?

> what exactly do you mean?

Something like "...passing the name of the device in the form
'char-major-x-y' for misc devices and 'char-major-X' for others"

BTW, could kmod just pass the name of the file from the open() call?
Modprobe could look up the major-minor and/or users could create virtual
devices. For example, I create a file /dev/my_psaux which is a symlink to
/dev/psaux, the name gets passed to modprobe. modprobe looks it up and
finds that it's not a device file and looks for an alias, and finds psmouse,
loads it,...problem solved.

thanks for the info,

jeff

2003-09-03 09:15:31

by Andrey Borzenkov

[permalink] [raw]
Subject: Re: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module



[...]
> > In general there seems to be no way to load low-level input drivers
> > on access because there is no instance that ever accesses them. And
> > as it stands now there is not way to auto-load using some other means.
> > So we are back in static configuration times ...
>
> Ok, I guess. But isn't there some module reference that can trigger the
> install of psmouse?
>

not that I am aware of. You will need more tham just psmouse ...

1. psmouse sits below serio driver. So you have to load serio. It
could be done buy hotplug but I guess at least for 8042 (standard
PC keyboard/mouse controller) it belongs to PnP BIOS subsystem
and PnP BIOS subsystem does not support hotplug currently.

2. After you have loaded corr. serio driver you need to know what
mouse driver to load. It requires some sort of autoporbing and I am
not sure it is actually done in current driver. I presume it is
possible because both Microsoft and Solaris do it. I just do not
know if it is implemented and do not have access to sources now. And
it requires support from hotplug again :)

[...]
> > > 3. Documentation/kmod.txt says "passing the name (to modprobe) that was
> > > requested", couldn't this be more explicit?
>
> > what exactly do you mean?
>
> Something like "...passing the name of the device in the form
> 'char-major-x-y' for misc devices and 'char-major-X' for others"
>

feel free to submit a patch. Do not forget that misc is not the only
char driver that is using minors.

> BTW, could kmod just pass the name of the file from the open() call?

you miss the point. You just suggest different way to *statically*
configure your mouse driver module while your original question was
why it is not loaded automatically. It does not matter if you enter
"psmouse" in some init script or create a link for it - you still
have to do it manually.

Please look at devfs if you still want to do it. It does exactly
what you ask for.

-andrey

2003-09-04 02:48:12

by Resident Boxholder

[permalink] [raw]
Subject: Re: 2.6.0-test4, psmouse doesn't autoload, CONFIG_SERIO doesn't module

One reason it would be nice to be able to reload all the psmouse and
serio code is
that a kvm ps2 switch can cause mouse sync to get lost when a pc is not
the active
one on the kvm switch. Reboot seems rather drastic, but it's the only
way to get
mouse sync back until the day that psmouse serio modules can be reloaded.

Further making it important, usb kvm won't work if usb won't work, never
mind
why many of us are boot-strapping from such that primitive state. Boot
on a usb
keyboard, what a laugh at this point. At least by not kern config
"legacy psaux",
and using psmouse.c /dev/input/mice, we don't have to endure the
"legacy" label.
We're not dinosaurs, we're sheeple.

-Bob

Andrey Borzenkov wrote:

>[...]
>
>
>>>In general there seems to be no way to load low-level input drivers
>>>on access because there is no instance that ever accesses them. And
>>>as it stands now there is not way to auto-load using some other means.
>>>So we are back in static configuration times ...
>>>
>>>
>>Ok, I guess. But isn't there some module reference that can trigger the
>>install of psmouse?
>>
>>
>>
>
>not that I am aware of. You will need more tham just psmouse ...
>
>1. psmouse sits below serio driver. So you have to load serio. It
>could be done buy hotplug but I guess at least for 8042 (standard
>PC keyboard/mouse controller) it belongs to PnP BIOS subsystem
>and PnP BIOS subsystem does not support hotplug currently.
>
>2. After you have loaded corr. serio driver you need to know what
>mouse driver to load. It requires some sort of autoporbing and I am
>not sure it is actually done in current driver. I presume it is
>possible because both Microsoft and Solaris do it. I just do not
>know if it is implemented and do not have access to sources now. And
>it requires support from hotplug again :)
>
>[...]
>
>
>>>>3. Documentation/kmod.txt says "passing the name (to modprobe) that was
>>>>requested", couldn't this be more explicit?
>>>>
>>>>
>>>what exactly do you mean?
>>>
>>>
>>Something like "...passing the name of the device in the form
>>'char-major-x-y' for misc devices and 'char-major-X' for others"
>>
>>
>>
>
>feel free to submit a patch. Do not forget that misc is not the only
>char driver that is using minors.
>
>
>
>>BTW, could kmod just pass the name of the file from the open() call?
>>
>>
>
>you miss the point. You just suggest different way to *statically*
>configure your mouse driver module while your original question was
>why it is not loaded automatically. It does not matter if you enter
>"psmouse" in some init script or create a link for it - you still
>have to do it manually.
>
>Please look at devfs if you still want to do it. It does exactly
>what you ask for.
>
>-andrey
>-
>To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
>the body of a message to [email protected]
>More majordomo info at http://vger.kernel.org/majordomo-info.html
>Please read the FAQ at http://www.tux.org/lkml/
>
>
>
>