linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] 2.4.x kernel keyboard fix for Digital HiNote Ultra 2000
@ 2001-02-25 11:45 Mark Clegg
  2001-02-25 17:57 ` Alan Cox
  0 siblings, 1 reply; 3+ messages in thread
From: Mark Clegg @ 2001-02-25 11:45 UTC (permalink / raw)
  To: rubini, linux-kernel

I have been using the 2.2.x kernels on the Digital HiNote Ultra 2000
(Mobile Pentium MMX 266) (I think this system was later rebadged as a
Compaq Armada 6500) without problem, however, on upgrading to the 2.4
series (2.4.0, 2.4.1 and 2.4.2) I have experienced the system hanging
quite reliably. - The problem goes away when an external keyboard/mouse
is attached.

Further investigation showed that the system itself isn't hanging, just
the keyboard/mouse becomes inoperable (I can still telnet into the
system). Booting without X and GPM is fine but cat /dev/psaux will zap
the keyboard.

I have traced this to drivers/char/pc_keyb.c and it is related to
operation of the builtin mouse (synaptics touchpad).

It would appear that the keyboard hardware is rather sensitive to
something. (RedHat 6.2 Kudzu locks it out as well - this one is
documented in the HiNote HOWTO)).

I have resolved the problem by commenting out a line in
drivers/char/pc_keyb.c related to fixing problems on a Toshiba 4030cdt.
It would appear that the fix for the Tosh, breaks the HiNote. (I don't
have a Tosh to experiment with).

Patch below.....

Regards
Mark


--- drivers/char/pc_keyb.c.orig Sat Feb 24 20:01:46 2001
+++ drivers/char/pc_keyb.c      Sat Feb 24 20:02:03 2001
@@ -909,7 +909,7 @@
        aux_write_ack(AUX_ENABLE_DEV); /* Enable aux device */
        kbd_write_cmd(AUX_INTS_ON); /* Enable controller ints */

-       send_data(KBD_CMD_ENABLE);      /* try to workaround
toshiba4030cdt problem */
+//     send_data(KBD_CMD_ENABLE);      /* try to workaround
toshiba4030cdt problem */

        return 0;
 }



^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] 2.4.x kernel keyboard fix for Digital HiNote Ultra 2000
  2001-02-25 11:45 [PATCH] 2.4.x kernel keyboard fix for Digital HiNote Ultra 2000 Mark Clegg
@ 2001-02-25 17:57 ` Alan Cox
  2001-02-26 20:44   ` Mark Clegg
  0 siblings, 1 reply; 3+ messages in thread
From: Alan Cox @ 2001-02-25 17:57 UTC (permalink / raw)
  To: Mark Clegg; +Cc: rubini, linux-kernel

> drivers/char/pc_keyb.c related to fixing problems on a Toshiba 4030cdt.
> It would appear that the fix for the Tosh, breaks the HiNote. (I don't
> have a Tosh to experiment with).

Reading the pc_keyb.c code two things strike me. The first is to wonder how
the hell Linus let that code get submitted ;) and the second is that the
delay rules are totally violated, and thats something we know the hinote's
hate.

> --- drivers/char/pc_keyb.c.orig Sat Feb 24 20:01:46 2001
> +++ drivers/char/pc_keyb.c      Sat Feb 24 20:02:03 2001
> @@ -909,7 +909,7 @@
>         aux_write_ack(AUX_ENABLE_DEV); /* Enable aux device */
>         kbd_write_cmd(AUX_INTS_ON); /* Enable controller ints */
> 
> -       send_data(KBD_CMD_ENABLE);      /* try to workaround
> toshiba4030cdt problem */
> +//     send_data(KBD_CMD_ENABLE);      /* try to workaround
> toshiba4030cdt problem */

Instead of commenting it put

	mdelay(1);

before and after, and let me know if that helps

Alan


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] 2.4.x kernel keyboard fix for Digital HiNote Ultra 2000
  2001-02-25 17:57 ` Alan Cox
@ 2001-02-26 20:44   ` Mark Clegg
  0 siblings, 0 replies; 3+ messages in thread
From: Mark Clegg @ 2001-02-26 20:44 UTC (permalink / raw)
  To: Alan Cox; +Cc: rubini, linux-kernel

I've tried adding mdelay(1) before and after but
this doesn't help. However, increasing the delay
does, and the minimum I've got to work is mdelay(2)
before, with no delay afterwards. I don't know what
the delay rules for the controller are, so it may
be necessary to add one afterwards as well. It
certainly doesn't seem to hurt the HiNote whether
there is or not.

Regards
Mark

Revised patch....

--- drivers/char/pc_keyb.c.orig Mon Feb 26 20:22:45 2001
+++ drivers/char/pc_keyb.c      Mon Feb 26 20:15:48 2001
@@ -909,6 +909,7 @@
        aux_write_ack(AUX_ENABLE_DEV); /* Enable aux device */
        kbd_write_cmd(AUX_INTS_ON); /* Enable controller ints */

+       mdelay(2);
        send_data(KBD_CMD_ENABLE);      /* try to workaround toshiba4030cdt
problem */

        return 0;

Akan Cox wrote.

> > drivers/char/pc_keyb.c related to fixing problems on a Toshiba 4030cdt.
> > It would appear that the fix for the Tosh, breaks the HiNote. (I don't
> > have a Tosh to experiment with).
>
> Reading the pc_keyb.c code two things strike me. The first is to wonder how
> the hell Linus let that code get submitted ;) and the second is that the
> delay rules are totally violated, and thats something we know the hinote's
> hate.
>
> > --- drivers/char/pc_keyb.c.orig Sat Feb 24 20:01:46 2001
> > +++ drivers/char/pc_keyb.c      Sat Feb 24 20:02:03 2001
> > @@ -909,7 +909,7 @@
> >         aux_write_ack(AUX_ENABLE_DEV); /* Enable aux device */
> >         kbd_write_cmd(AUX_INTS_ON); /* Enable controller ints */
> >
> > -       send_data(KBD_CMD_ENABLE);      /* try to workaround
> > toshiba4030cdt problem */
> > +//     send_data(KBD_CMD_ENABLE);      /* try to workaround
> > toshiba4030cdt problem */
>
> Instead of commenting it put
>
>         mdelay(1);
>
> before and after, and let me know if that helps
>
> Alan

--
+-------------------------------------------------------------------+
| Mark Clegg                           www.cleggies.freeserve.co.uk |
| 38th Rossendale (Open) Scout Group          www.the38thrsg.org.uk |
+-------------------------------------------------------------------+




^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2001-02-26 20:45 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2001-02-25 11:45 [PATCH] 2.4.x kernel keyboard fix for Digital HiNote Ultra 2000 Mark Clegg
2001-02-25 17:57 ` Alan Cox
2001-02-26 20:44   ` Mark Clegg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).