2005-09-15 21:54:55

by Roger Heflin

[permalink] [raw]
Subject: Machine does not find AT keyboard with 2.6.13.1

Hello,

I have an older machine that fails to find the AT keyboard. The machine is
based
on an Intel 7501 chipset.

Under the default fedora core 4 kernel, it found the keyboard and that
keyboard
worked in UP mode, in SMP mode the machine crashed, but that is a different
issue.

Under 2.6.13.1 the machine boots under SMP and does not crash, dmesg does
not report
the keyboard being found, and the keyboard fails to work. The .config file
does have
CONFIG_KEYBOARD_ATKBD set to Y. The keyboard was being found was seen on
the default
fedora core 4 kernel. There are no extra options on the boot cmdline.

The important messages seem to be:

Fedora Core 4 default UP kernel boot:
Sep 15 19:55:12 node001 kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
Sep 15 19:55:12 node001 kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
Sep 15 19:55:12 node001 kernel: input: AT Translated Set 2 keyboard on
isa0060/serio0

New boot (2.6.13.1 smp boot)
Sep 15 21:12:35 node001 kernel: i8042.c: Can't read CTR while initializing
i8042.

The i8042 is of course missing out of /proc/interrupts on the new boot.

The .config file is copied from the original non-working smp fedora core 4
kernel,
and then "make oldconfig".

Any ideas where to look? Any patches in the git kernels that might address
this
issue?

Roger


Attachments:
config2.6.13.1 (56.62 kB)

2005-09-16 09:47:51

by Andrew Morton

[permalink] [raw]
Subject: Re: Machine does not find AT keyboard with 2.6.13.1

"Roger Heflin" <[email protected]> wrote:
>
> I have an older machine that fails to find the AT keyboard. The machine is
> based
> on an Intel 7501 chipset.
>
> Under the default fedora core 4 kernel, it found the keyboard and that
> keyboard
> worked in UP mode, in SMP mode the machine crashed, but that is a different
> issue.
>
> Under 2.6.13.1 the machine boots under SMP and does not crash, dmesg does
> not report
> the keyboard being found, and the keyboard fails to work. The .config file
> does have
> CONFIG_KEYBOARD_ATKBD set to Y. The keyboard was being found was seen on
> the default
> fedora core 4 kernel. There are no extra options on the boot cmdline.
>
> The important messages seem to be:
>
> Fedora Core 4 default UP kernel boot:
> Sep 15 19:55:12 node001 kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
> Sep 15 19:55:12 node001 kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
> Sep 15 19:55:12 node001 kernel: input: AT Translated Set 2 keyboard on
> isa0060/serio0
>
> New boot (2.6.13.1 smp boot)
> Sep 15 21:12:35 node001 kernel: i8042.c: Can't read CTR while initializing
> i8042.
>
> The i8042 is of course missing out of /proc/interrupts on the new boot.

That I8042_CMD_CTL_WCTR write-and-test seems to be new. Can you try taking
it out?

--- devel/drivers/input/serio/i8042.c~a 2005-09-16 02:45:02.000000000 -0700
+++ devel-akpm/drivers/input/serio/i8042.c 2005-09-16 02:46:51.000000000 -0700
@@ -305,11 +305,6 @@ static int i8042_activate_port(struct i8

i8042_ctr |= port->irqen;

- if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
- i8042_ctr &= ~port->irqen;
- return -1;
- }
-
return 0;
}

_

2005-09-16 11:45:34

by Vojtech Pavlik

[permalink] [raw]
Subject: Re: Machine does not find AT keyboard with 2.6.13.1

On Fri, Sep 16, 2005 at 02:47:10AM -0700, Andrew Morton wrote:
> "Roger Heflin" <[email protected]> wrote:
> >
> > I have an older machine that fails to find the AT keyboard. The machine is
> > based
> > on an Intel 7501 chipset.
> >
> > Under the default fedora core 4 kernel, it found the keyboard and that
> > keyboard
> > worked in UP mode, in SMP mode the machine crashed, but that is a different
> > issue.
> >
> > Under 2.6.13.1 the machine boots under SMP and does not crash, dmesg does
> > not report
> > the keyboard being found, and the keyboard fails to work. The .config file
> > does have
> > CONFIG_KEYBOARD_ATKBD set to Y. The keyboard was being found was seen on
> > the default
> > fedora core 4 kernel. There are no extra options on the boot cmdline.
> >
> > The important messages seem to be:
> >
> > Fedora Core 4 default UP kernel boot:
> > Sep 15 19:55:12 node001 kernel: serio: i8042 AUX port at 0x60,0x64 irq 12
> > Sep 15 19:55:12 node001 kernel: serio: i8042 KBD port at 0x60,0x64 irq 1
> > Sep 15 19:55:12 node001 kernel: input: AT Translated Set 2 keyboard on
> > isa0060/serio0
> >
> > New boot (2.6.13.1 smp boot)
> > Sep 15 21:12:35 node001 kernel: i8042.c: Can't read CTR while initializing
> > i8042.

"usb-handoff" on the kernel command line should solve this. I thought we
already had that as a default, or was the patch to make it so dropped?

> > The i8042 is of course missing out of /proc/interrupts on the new boot.
>
> That I8042_CMD_CTL_WCTR write-and-test seems to be new. Can you try taking
> it out?

It's not a test, it's enabling the port interrupt. It won't work
without it at all.

> --- devel/drivers/input/serio/i8042.c~a 2005-09-16 02:45:02.000000000 -0700
> +++ devel-akpm/drivers/input/serio/i8042.c 2005-09-16 02:46:51.000000000 -0700
> @@ -305,11 +305,6 @@ static int i8042_activate_port(struct i8
>
> i8042_ctr |= port->irqen;
>
> - if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
> - i8042_ctr &= ~port->irqen;
> - return -1;
> - }
> -
> return 0;
> }
>
> _
>
>

--
Vojtech Pavlik
SuSE Labs, SuSE CR

2005-09-16 13:25:38

by Roger Heflin

[permalink] [raw]
Subject: RE: Machine does not find AT keyboard with 2.6.13.1

Vojtech,

Adding usb-handoff fixed the problem, the keyboard/mouse is found
and works correctly.

I never would have guessed that a usb option would fix a ps2 issue.

Thanks
Roger

> -----Original Message-----
> From: Vojtech Pavlik [mailto:[email protected]]
> Sent: Friday, September 16, 2005 6:46 AM
> To: Andrew Morton
> Cc: Roger Heflin; [email protected]; Dmitry Torokhov
> Subject: Re: Machine does not find AT keyboard with 2.6.13.1
>
> On Fri, Sep 16, 2005 at 02:47:10AM -0700, Andrew Morton wrote:
> > "Roger Heflin" <[email protected]> wrote:
> > >
> > > I have an older machine that fails to find the AT
> keyboard. The machine is
> > > based
> > > on an Intel 7501 chipset.
> > >
> > > Under the default fedora core 4 kernel, it found the
> keyboard and
> > > that keyboard worked in UP mode, in SMP mode the
> machine crashed,
> > > but that is a different issue.
> > >
> > > Under 2.6.13.1 the machine boots under SMP and does not crash,
> > > dmesg does not report the keyboard being found, and the
> keyboard
> > > fails to work. The .config file does have
> > > CONFIG_KEYBOARD_ATKBD set to Y. The keyboard was being
> found was seen on
> > > the default
> > > fedora core 4 kernel. There are no extra options on
> the boot cmdline.
> > >
> > > The important messages seem to be:
> > >
> > > Fedora Core 4 default UP kernel boot:
> > > Sep 15 19:55:12 node001 kernel: serio: i8042 AUX port at
> 0x60,0x64
> > > irq 12 Sep 15 19:55:12 node001 kernel: serio: i8042 KBD port at
> > > 0x60,0x64 irq 1 Sep 15 19:55:12 node001 kernel: input: AT
> > > Translated Set 2 keyboard on isa0060/serio0
> > >
> > > New boot (2.6.13.1 smp boot)
> > > Sep 15 21:12:35 node001 kernel: i8042.c: Can't read CTR while
> > > initializing i8042.
>
> "usb-handoff" on the kernel command line should solve this. I
> thought we already had that as a default, or was the patch to
> make it so dropped?
>
> > > The i8042 is of course missing out of /proc/interrupts
> on the new boot.
> >
> > That I8042_CMD_CTL_WCTR write-and-test seems to be new.
> Can you try
> > taking it out?
>
> It's not a test, it's enabling the port interrupt. It won't
> work without it at all.
>
> > --- devel/drivers/input/serio/i8042.c~a 2005-09-16
> 02:45:02.000000000 -0700
> > +++ devel-akpm/drivers/input/serio/i8042.c 2005-09-16
> 02:46:51.000000000 -0700
> > @@ -305,11 +305,6 @@ static int i8042_activate_port(struct i8
> >
> > i8042_ctr |= port->irqen;
> >
> > - if (i8042_command(&i8042_ctr, I8042_CMD_CTL_WCTR)) {
> > - i8042_ctr &= ~port->irqen;
> > - return -1;
> > - }
> > -
> > return 0;
> > }
> >
> > _
> >
> >
>
> --
> Vojtech Pavlik
> SuSE Labs, SuSE CR
>