KEYBOARD SERVICE

The Problem: System comes up with a double-beep and a message XX 301, Not-Okay and "RTFM"-symbol

The Cause: One or more keys stuck on the keyboard

The Solution: Take your fingers, books or animals off the keyboard and reboot. If error comes again: look into the table, which key is stucked


What's behind:
The XX before the 301-error is the scan-code of the corresponding key, which is recognized to have stucked. If E0 or E1 is displayed, one of the 'special keys' is sending the first half of their 2-byte code to the system.

Just try it out on a running system: reboot and hold one key until the system restarts.
You will end up in the exact error like described. And find the value before 301 in the tables below.

Physical check:
To test, which of the keys is malfunctioning, press any key after the other, beginning left / top row down to the right lower key.
Any key must act as normal, make an audible 'click' when pressed and also immediately after being released again. The feel while pressing must be exactly and not sticky at all.
If one key causes no reaction or appears as already pressed suspect it to be the -or one of the- defective.


101-keys Keyboard (US/UK-style)

+--+    +--++--++--++--+  +--++--++--++--+  +--++--++--++--+  +--++--++--+
|01|    |3B||3C||3D||3E|  |3F||40||41||42|  |43||44||45||45|  |E0||46||E1|
+--+    +--++--++--++--+  +--++--++--++--+  +--++--++--++--+  +--++--++--+

+--++--++--++--++--++--++--++--++--++--++--++--++--++------+  +--++--++--+  +--++--++--++--+
|29||02||03||04||05||06||07||08||09||0A||0B||0C||0D||  0E  |  |E0||E0||E0|  |45||E0||37||4A|
+--++--++--++--++--++--++--++--++--++--++--++--++--++------+  +--++--++--+  +--++--++--++--+
+---++--++--++--++--++--++--++--++--++--++--++--++--++-----+  +--++--++--+  +--++--++--++--+
| 0F||10||11||12||13||14||15||16||17||18||19||1A||1B||  2B |  |E0||E0||E0|  |47||48||49||  |
+---++--++--++--++--++--++--++--++--++--++--++--++--++-----+  +--++--++--+  +--++--++--+|  |
+----++--++--++--++--++--++--++--++--++--++--++--++--------+                +--++--++--+|4E|
| 3A ||1E||1F||20||21||22||23||24||25||26||27||28||   1C   |                |4B||4C||4D||  |
+----++--++--++--++--++--++--++--++--++--++--++--++--------+                +--++--++--++--+
+------++--++--++--++--++--++--++--++--++--++--++----------+      +--+      +--++--++--++--+
|  2A  ||2C||2D||2E||2F||30||31||32||33||34||35||    36    |      |E0|      |4F||50||51||  |
+------++--++--++--++--++--++--++--++--++--++--++----------+      +--+      +--++--++--+|  |
+---+    +---++------------------------------++---+    +---+  +--++--++--+  +------++--+|E0|
| 1D|    | 38||               39             || E0|    | E0|  |E0||E0||E0|  |  52  ||53||  |
+---+    +---++------------------------------++---+    +---+  +--++--++--+  +------++--++--+


     All Keys with 'E0' and 'E1' are keys which send a 2-byte code to the system

102-keys Keyboard (GR-style)

+--+    +--++--++--++--+  +--++--++--++--+  +--++--++--++--+  +--++--++--+
|01|    |3B||3C||3D||3E|  |3F||40||41||42|  |43||44||45||45|  |E0||46||E1|
+--+    +--++--++--++--+  +--++--++--++--+  +--++--++--++--+  +--++--++--+

+--++--++--++--++--++--++--++--++--++--++--++--++--++------+  +--++--++--+  +--++--++--++--+
|29||02||03||04||05||06||07||08||09||0A||0B||0C||0D||  0E  |  |E0||E0||E0|  |45||E0||37||4A|
+--++--++--++--++--++--++--++--++--++--++--++--++--++------+  +--++--++--+  +--++--++--++--+
+---++--++--++--++--++--++--++--++--++--++--++--++--++-----+  +--++--++--+  +--++--++--++--+
| 0F||10||11||12||13||14||15||16||17||18||19||1A||1B||     |  |E0||E0||E0|  |47||48||49||  |
+---++--++--++--++--++--++--++--++--++--++--++--++--++-+   |  +--++--++--+  +--++--++--+|  |
+----++--++--++--++--++--++--++--++--++--++--++--++--+ |1C |                +--++--++--+|4E|
| 3A ||1E||1F||20||21||22||23||24||25||26||27||28||2B| |   |                |4B||4C||4D||  |
+----++--++--++--++--++--++--++--++--++--++--++--++--+ +---+                +--++--++--++--+
+---+--++--++--++--++--++--++--++--++--++--++--++----------+      +--+      +--++--++--++--+
| 2A|56||2C||2D||2E||2F||30||31||32||33||34||35||    36    |      |E0|      |4F||50||51||  |
+---+--++--++--++--++--++--++--++--++--++--++--++----------+      +--+      +--++--++--+|  |
+---+    +---++------------------------------++---+    +---+  +--++--++--+  +------++--+|E0|
| 1D|    | 38||               39             || E0|    | E0|  |E0||E0||E0|  |  52  ||53||  |
+---+    +---++------------------------------++---+    +---+  +--++--++--+  +------++--++--+


     All Keys with 'E0' and 'E1' are keys which send a 2-byte code to the system

General Keyboard Maintenance

Most of the original IBM-keyboards have separate keycaps, which can be removed very easy. Under this cap sits the key-'corpus' and underneath a small spring. This spring is fixed with a contact-plate inside the keyboard.
Attention: It is very easy to bend, deform or pull out this spring ... but very hard to get one back onto the contact-plate to make the key work properly again. Take care !

In case you accidently removed the key-button entirely from the keyboard:

  • make sure, that the spring isn't off from the contact-plate by gently touching it. If it returns to vertical position it is okay.
  • separate the keycap and the lower button part
  • look inside the button: there's a small plastic nose to set the spring into.
    The U-shaped cutout must be positioned to the rear of the keyboard.
  • lift up the keyboard at the frontside
  • make sure that the spring falls to the rear of the surrounding collar
  • slide the button inside the collar and gently press it down until you hear the button snap in and contact-plate clicking
    Watch out not to bend or damage the spring during this process !
  • check the function of the key
    Clicking must be audible and the tactile 'feel' must be as usual.
  • Now install the keycap again
You will have to remove the keytop in case some dirt (mainly coffee or Coca-Cola) sits between keybutton and the collar. Keys then tend to stick, the feeling while pressing the key is somewhat soft and sticky and the 'click' after releasing the key is somewhat delayed. Cleaning inside of the button (...not the cap !) and the key-collar with alcohol will mostly solve these problems.

It is a good idea to maintain the keyboard frequently.

Remove all keycaps except the space-bar and probably the two larger keys on the right side ([+] and [ENTER] from the numeric keypad). These keys have additional metal guides at the underside and are hard to re-assemble.
Use a small screwdriver or the special IBM 'Keycaps Puller Tool' to remove the caps. If you are not concerned ... well ... remove all caps.

Use a longhaired, harder brush to clean the areas around the keys from dirt. In most cases this is just dust, but sometimes there are hair-needles, nails, screws, clamps and other stuff. Turn the keyboard upside down and shake it ... !
It would have been a good idea having tried this over a waste-bin, right ?
Better next time.

Cleaning the dirty, sticky keycaps is easy if you have a washing-machine or a dishwasher. I prefer dish-washers.
Fill all the keycaps in one of these plastic nets which are used to pack oranges. Use a piece of wire or a nylon strap to have the net securely closed. Then put it in the dish-washer. Use some cleaner on it - as if you wanted to clean your dishes like usual.
After this they look like new.

I use the same procedure on the entire keyboard housing by the way. It is quite easy to disassemble. 3 hex-screws from the underside, remove keyboard assembly and internal circuit board and put the two housing halves in the dish-washer too.

Now: this is much harder if you have only a washing-machine. It is Not recommended to treat the keyboard housings this way - they will break in pieces. The keycaps can be washed as well. But not too hot. I had good results in pre-washing with 30 C and put them inside of one old nylon stocking. Basically the same procedure as with the dish-washer ...


Keyboard Electrics

Most problems come from the keyboard cable. If the keyboard is totally defective, causes the computer to beep perpetual, does not respond at all or has all LEDs continously on or rapidly flashing ... there's not much one can do than disposing the thing.

The cable however can be tested with a multimeter in Ohms-range.

Here's the pin-out:

                       |_|
             5 ----  o     o  ---- 6
                       |-|
             3 ---- o  |_|  o ---- 4
   
             1 -----  o   o  ----- 2


[Fig. 1: Round 6-pin miniature DIN connector (PS/2]

   Pins 2 and 6 may be missing on certain cables
                        |_|

           1 ----   o         o  ---- 3
                 
           4 ----     o     o    ---- 5
                         o
           2 -----------/


[Fig. 2: Round 5-pin DIN connector (AT/compatibles)]

                F E D C B A

             +--|-|-|-|-|-|--+
             |  | | | | | |  |
            ++               ++
            |                 |
            +-----------------+


[Fig. 3: Square AMP-keyboard connector (IBM)]

  6-pin | 5-pin |  AMP  |  Colour  |  Signal
--------+-------+-------+----------+----------------
    1   |   2   |   B   |  white   | Keyboard Data
    2   |   -   |   F   |  -       | Reserved
    3   |   4   |   C   |  black   | Ground
    4   |   5   |   E   |  red     | + 5VDC
    5   |   1   |   D   |  brown   | Keyboard Clock
    6   |   -   |   A   |  -       | Reserved
        |       |       |          |
 Shield | Shld. | Shld. |  metal.  | Shielding
--------+-------+-------+----------+----------------


    [Table 1: Pinout, Colours and Signals]
Check all wires for continuity, all connectors for broken or bended pins. Dispose broken keyboard cables.
If all appears to be in good order, suspect keyboard or systemboard to be defective.

Errorcode 305 at power-up means "+5 VDC on keyboard missing".
This might indicate a broken cable, but also a blown keyboard/auxiliary device-fuse. On many boards this fuse is not replaceable !
Or at least will require a lot work to a) locate and b) replace it.

I'm ready for feedback & comments !

IBM and MicroChannel are Trademarks of International Business Machines Corp. (USA)

Go to MCA-Index
Visit my Homepage

© 1997 by Peter H. Wendt / pw-software production