The Model M line of keyboards made by IBM beginning in 1984 has a deserved reputation as the best ever shipped. But both vintage model Ms and the descendants produced at the same factory by Unicomp have interoperability problems with modern hardware. This document collects information on causes and solutions.

Disassembly

One special tool is required for disassembling your model M - a 5.5mm socket hex wrench with walls thin enough to fit in the screw wells of the case. Some of the recent Unicomps with "Ultra" slimline cases have the screw heads more exposed, but a thin-wall tool is still what you need to get past the case shoulders near them.

The ideal tool is the E-Flite 5.5mm nut driver (part EFLA255) which I found for $3.19 from the manufacturer after payiing more for it resold through the Clicky Keyboards site. I see no reason to pay the extra.

Note that while these screws look like generic PC case screws, they’re not. They’re a little smaller and not interchangeable with them.

AT Model M issues

Older model Ms have an AT keyboard connector, using a 5-pin DIN plug larger than the PS/2 mini-DIN.

To make these work, you’ll need an AT-to-PS/2 adapter. These are no longer common, the AT connector having been phased out after the introduction of the PS/2 in 1987, but can still be found with a web search in 2013; at least one model is still manufactured by Belkin.

Then follow the next set of directions for hooking up a PS/2 Model M.

Alternatively, if your Model M has a detachable cable (later versions went to an integral cable to cut manufacturing costs), the Ethernet-like connector on the keyboard is a style called "SDL". It is sometime possible to find SDL-to-USB cables (with active converter logic) on eBay and elsewhere. Search for "USB to SDL Model M".

PS/2 Model M issues

You may be able to plug your PS/2 Model M directly into a PS/2 port. But maybe not - the Model M draws more power than some modern PS/2 ports are designed to supply.

This remains true of PS/2 Unicomp keyboards made to the Model M design; they haven’t changed the core keyboard electronics. The main chips on there, the Motorola 6805 processor and Intel 8042 PIC, are old and power-hungry designs.

You have two routes to recover. One (if your Model M has a detachable cable) is the aforementioned active SDL-to-USB cable. Otherwise you’ll need a PS/2-to-USB adaptor. However, not all of these will work. Passive USB adaptors, which just pass through the PS/2 signals, will fail. You need an active adaptor; search for "blue cube adaptor".

USB Unicomp issues

More recent Unicomp keyboards have a USB interface, but continuing interoperability problems.

I have checked operation of two Unicomp keyboards on each of two test machines. One, snark, uses an Intel NM10/ICH7 (rev 01) USB controller. The other, minx, uses an AMD SB7x0/SB8x0/SB9x0 USB controller.

  • A UB40PGA (the nipple mouse variant, "EnduraPro") manufactured in Oct 2012 works reliably on both machines.

  • A UB404LA (the trackball variant, "Ruffian") manufactured in Oct 2012 has flaky behavior on both machines. On minx it disconnects from the hub every few minutes, needing to be replugged. On snark it has once failed to register at boot time but is generally reliable.

We have a confirming report from one Alex Lustenberg, in a comment on this post, that the UB404LA is flaky even as the only device on his machine and doesn’t enumerate on boot.

Alex also reports the UB404LA failing to initialize correctly with these host controllers: NVIDIA MCP55 (rev a1/a2), Intel series/C200 series (rev 05), and NEC uPD720200 (USB3).

Cable failure due to nonexistent strain relief

It has been reported in a comment attached to this G+ post that one UB4044A (Classic Black with no pointing device) has exhibited intermittent USB disconnect issues which turned out to be cable failure; there is no strain relief where the USB cable enters the keyboard.

I have opened up the UB404LA and UB404PGA, both manufactured in October 2012, and verified that there is no strain relief on the USB cable. It looks like this is a consistent design error across the Unicomp USB line that may account for a lot of problems.

Power usage

The UB404PGA reports 98mA draw and says it is "Bus Powered"; the UB404LA reports 100mA draw and says it is "Self Powered". The USB 2.0 spec allows a 500mA draw.

On opening up these keyboards, I discovered that both use Cypress programmable SOCs, replacing the 6805/8042 found on older Model Ms. These are low-power chips that should have no issues drawing from a USB 2.0 controller.

On this evidence, I think the theory that the Unicomps still have the Model M’s physical power-draw issues can be dismissed. However, there is evidence that some sort of logic error triggered by under-voltage or under-amperage may mimic such problems; see the next section.

USB incompatibility

There may also be USB controller incompatibility issues.

Alex Lustenberg reports "according to some accounts, the USB controller in the unicomp isnt exactly USB compatible; undervoltage within USB spec will cause it to not init properly"

This post and its comments display some evidence that undervoltage probably isn’t an issue, but a keyboard controller failure to respond properly during the initialization sequence may be.

This theory is reinforced by experiments with two cheap hubs containing the Terminus Manufacturing 4-port USB hub chip (1a40:0101) and a hub containing a chip by Genesys Logic, Inc. (05e3:0608). The UB404LA fails to initialize on powerup connected to either of these, but becomes visible when unplugged and replugged. The UB40PGA exhibits normal behavior.

I disassembled the UB404LA and found that the only chip in it is a Cypress 24794 SOC (manufacturer data sheet here) sitting on a mini PCB behind the LED panel that is wired to both the USB cable and the keyboard proper.

I also disassembled the UB404PGA. There are two chips on the mini-PCB in this one, an LM393 differential comparator and a CY763513-PVC (data sheet here).

The key point about these Cypress chips is that while they’re both USB controllers they’re different SOCs; it could easily be that the USB stage in the first is flawed but the second is not.

We have a report that flaky failures on a UB40B5A (the 122-key variant) were resolved by plugging it into the sort of high-amperage USB2 port used to recharge cellphones.

On the other hand, the undervoltage theory gets a boost from one Andrew Hutchings, who reports: "I’ve just come back from a micro electronics lab where we have been testing [the Cypress 24794 SOC on a Ruffian v2 board] and it seems the problem is to do with voltage. If the USB port is 4.9-5.0v it works fine, 5.1-5.2v the handshake does not succeed." A day later he said "We jury-rigged a TPS73150 regulator in front of the USB power input to the PCB. It now works perfectly on every PC and powered hub I have. Not sure how permanent a fix it is but it will do until I can buy a replacement PCB from Unicomp."

Model F

The very first buckling-spring keyboard, the Model M’s predecessor, was the the Model F. This was the keyboard attached to the original IBM Personal Computer, the PC XT, and early versions of the PC AT. It is nowadays referred to as the "XT keyboard", though it predated the XT. The PC version had 83 keys; some industrial versions had 122 keys.

The XT is not usable with modern machines, even with the dual-adaptor setup described for the Model M. IBM changed the Model M’s keyboard scan codes in a way seriously incompatible with the Model F.

(This change wasn’t done gratuitously; the microcontroller technology of the time made it expensive to assign scan codes in violation of a natural sequence determined by the wire layout.)

Reaching Unicomp technical support

I haven’t found a way to reach a live human being yet. The Unicomp website carefully avoids giving any technical support email addresses or phone numbers. The company has a main number at (859) 233-2130, but you can’t get to an engineer that way.

You can open support tickets through support@pckeyboard.com and I have received replies.