Keyboard keys occasionally stop working
|Reported by:||mfoster||Owned by:||wad|
|Deployments affected:||Action Needed:|
On 11/16, when B1 units first entered final functional testing, we were there to watch what failures occurred. Fairly quickly, a few units appeared which had keyboard failures where groups of keys would not work. Which keys would not work varied from machine to machine. Though the keyboard appeared to be at fault, continued investigation revealed that the keyboard scanning microprocessor on the touchpad assembly was sometimes seeing latchup on its pins. Latchup is a condition in a CMOS IC where a pin will be "stuck" at a high or low voltage. When this occurs, the stuck pin prevents the keyboard microprocessor from seeing keys change state. Note that latchup only happens when excessive voltages are present, as when ESD (Electro-Static Discharge - i.e. a "static zap") occurs.
The root cause of this problem is that the mechanical design in the B1 systems does not properly ground the keyboard baseplate. While an attempt was made to do this in the design, the metal components do not make proper contact with the grounded hinge assembly. As a consequence, any static buildup on the keyboard can only discharge through the keyboard controller's scanning pins, then back up the PS/2 cable to the motherboard. This leads to some keys on the keyboard not responding.
While this was found and fixed on the same day, the true resolution was identified just as the last few B1 units were being built on the line, so all B1 units are susceptible to this failure. The workaround is to power the system off and on again, which will reset the latchup condition in the keyboard microrocessor, and allow the keys to function once again.
This will obviously be a very high priority fix for B2.
Change History (10)
comment:1 Changed 10 years ago by mfoster
- Component changed from distro to mechanical
- Status changed from new to assigned
comment:8 Changed 10 years ago by jg
- Component changed from mechanical to hardware
- Owner changed from mfoster to wad
- Status changed from assigned to new