Skip to content

Comment on IBM PS/2 Keyboard Modification

Comments

Another relevant factor is that the older technology used on the IBM keyboard's controller PCB requires more power to operate than newer keyboards.

I ran into this problem with my original Model M. All the PS/2 to USB converters I bought (even the blue square one quoted in the article as working) were borderline and they would sooner or later lock up and require a reboot (you really shouldn't hot-plug a PS/2 keyboard, as some machines have a fuse soldered on their board).

I have not tried any of the new keyboards sold by Unicomp (I had one in the past), but I see their newest version of the Model M has a USB interface and presumably it's reliable.

The IBM draws around 112 mA from the interface, whilst a modern keyboard draws 1.2 mA. These figures are with the 3 status LEDs (NumLock, CapsLock, ScrollLock) off. Each of these draw around 12mA when lit on both keyboards.

That's a worst-case of 148mA, which even allowing for an extreme additional 100mA drawn by the converter is still well below the 500mA a USB port should be able to supply. I suspect the problem is actually signal integrity, and the fact that modifying the board to add stronger pullups works is more evidence in this direction.

Indeed, I'm not sure how they came to the conclusion that stronger pull-ups would reduce power draw. If anything they'd increase it.

And it won't affect MCU power draw at all as PS/2 is open collector - the MCU is never driving the data or clock high at all.

The author did not say that the resistors decreased the power consumption, or if they did, I missed it. The stronger current draw on the IBM isn’t exceeding the USB power limits but it is causing a voltage droop on the mobo’s shoddy regulators or PS/2 interface circuitry that is rectified by effectively reinforcing the pull-up circuitry to boost the signal integrity by adding a second pull-up in parallel with the existing.

I don't think voltage drop has anything to do with it.

The voltage was high enough to drive the MCU so it's more than enough for the 2V threshold voltage of both sides.

PS/2 is open collector so when idle the signals will settle at VCC regardless of the pull-up value

The "fractionally lower voltage high" can only have been very close to 5V.

Adding stronger pull-ups would have given faster rise times and stronger drive so either the rise time was too slow for the superio or the extra juice helped protect against noise.

The author mentioned current draw but it has nothing to do with it imo

While 500 mA is a maximum for USB 1.x/2.x without extensions, a device is supposed to request it from the host, the default limit is only 100 mA.

I have a PS/2 Unicomp and recently tried finding a compatible converter because of a bug with AMD hardware on Windows 10 that causes PS/2 input to be delayed by up to 30s between each key (even when entered in quick succession) if all cores are pegged at 100%.

The best converters don’t lock up but still hard reset “under duress” when typing away. (The only good converter I found was by Tripp Lite.)

All the PS/2 to USB converters I bought (even the blue square one quoted in the article as working) were borderline and they would sooner or later lock up and require a reboot (you really shouldn't hot-plug a PS/2 keyboard, as some machines have a fuse soldered on their board).

Ah that's weird: years ago I bought two of these "cube" adapters and used them for years and never had any issue. But then I also switched to Topre switches (HHKB Pro JP keyboard).

Isn't one the selling point of these adapters anyway that it's USB, hence you can hotplug the keyboard should it lock up (which never happened to me but when you use one, it's USB plugged into the mobo, not PS2).

PS/2 may not be hotpluggable, but USB certainly is. Not clear what would have prevented unplugging/replugging the USB side of your PS/2 to USB converter.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.