SUMMARY: X11R6 on SS4/SunOS 4.1.4: lost keyboards

From: Jacques Beigbeder (Jacques.Beigbeder@ens.fr)
Date: Thu Jun 27 1996 - 08:12:06 CDT


Question was:

:: X11R6, public-patch-13
:: CLIENT MACHINE and OPERATING SYSTEM: Sparc/SunOS 4.1.4
::
:: Sometimes when an user logs off, the keyboard stays un-programmed
:: or badly programmed. Only '/usr/X11R6/bin/kbd_mode -a' can
:: get out the strange state.
::
:: When the keyboard is out of use, the Num_lock LED stays green.

I finally found an explanation: everything is in the rate
of ioctl(). There's a patch from Sun :

  Patch-ID# 102881-01
  Keywords: /dev/kbd ioctl() repeating hang kbd ioctl 11c classic
  Synopsis: SunOS 4.1.4: Repeating ioctl() to /dev/kbd goes to hang

Even with this patch, the problem still remains.
But slowing down the rate of ioctl() greatly reduces the number
of broken keyboards. To slow it down, I just trace(1) kbd_mode...

So now my /usr/X11R6/bin/xinit is:
        #!/bin/sh

        tmp=/tmp/tr.$$
        /usr/X11R6/bin/xinit.bin "$@"
        echo "Waiting 3 s..." > /dev/console
        sleep 3
        /bin/rm -rf $tmp
        /usr/bin/trace /usr/local/X11R6/bin/kbd_mode -a > $tmp 2>&1
        /bin/rm -rf $tmp

Jacques Beigbeder | Internet: beig@ens.fr
Service de Prestations Informatiques |
Ecole normale supérieure |
45 rue d'Ulm | Tel : +33 1 44 32 37 96
F75230 Paris Cedex 05 | Fax : +33 1 44 32 20 80



This archive was generated by hypermail 2.1.2 : Fri Sep 28 2001 - 23:11:03 CDT