The high being too low on an open-collector bus is a rather unusual situation, since it's more common when mixing logic families that the pulldowns are too weak to satisfy Vih(min).
From the IBM PC/AT schematics we can find that the pullups are on the host side and are 10k, and the Intel 8042 used as the interface controller has a Vih(min) of 2.0V. On newer motherboards, the KBC is usually built into the SuperI/O. As an example, I picked the D845GRG as one listed motherboard that required the modification, and discovered that it has either an SMSC LPC47M172 or NS PC87372. They both specify a Vih(min) of 2.0V, but the datasheet for the former surprisingly recommends a 2.7k(!) pullup for the PS/2 ports. That is surprising because the original IBM PC/AT only needs 10k. Maybe these "non-compliant" motherboards are running the port at a faster clock than the original?
Then perhaps IBM's keyboards somehow push the clock closer to the limit (16.7kHz, I believe) than motherboards' controllers can handle? Unfortunately I wasn't able to find any measurements of different keyboards' clock frequencies.
Comments
The high being too low on an open-collector bus is a rather unusual situation, since it's more common when mixing logic families that the pulldowns are too weak to satisfy Vih(min).
From the IBM PC/AT schematics we can find that the pullups are on the host side and are 10k, and the Intel 8042 used as the interface controller has a Vih(min) of 2.0V. On newer motherboards, the KBC is usually built into the SuperI/O. As an example, I picked the D845GRG as one listed motherboard that required the modification, and discovered that it has either an SMSC LPC47M172 or NS PC87372. They both specify a Vih(min) of 2.0V, but the datasheet for the former surprisingly recommends a 2.7k(!) pullup for the PS/2 ports. That is surprising because the original IBM PC/AT only needs 10k. Maybe these "non-compliant" motherboards are running the port at a faster clock than the original?
PS/2 is clocked by the keyboard.
PS/2 is a two way protocol. If Keyboard sends data it, then it controls the clock. If Host sends data then it will take care of the clock signal.
From my limited electronics experiencence, you need a pull-up resistors when connecting TTL ICs to CMOS ICs.
It is two way, but the clock is always provided by the keyboard.
PS/2 devices all have pull-up resistors as the only thing driving the lines high are those resistors.
The mcu on either side only ever pull it low and never high.
http://www.lucadavidian.com/2017/11/15/interfacing-ps2-keybo...
Then perhaps IBM's keyboards somehow push the clock closer to the limit (16.7kHz, I believe) than motherboards' controllers can handle? Unfortunately I wasn't able to find any measurements of different keyboards' clock frequencies.