Skip navigation

THE  PROBLEM: A Toshiba Satellite L305-S5933 laptop came into the shop recently with a non-functioning internal keyboard and touchpad. The keyboard worked fine in the BIOS and prior to booting an operating system, but in Windows neither device was functional at all, and in the Tritech Service System (a custom Linux distribution we use at Tritech Computer Solutions for checking out computers) keystrokes would be severely delayed or would miss completely. Either way, the keyboard clearly worked okay before an OS fully booted, and stopped functioning when an OS was running. USB input devices work fine.

THE SALT IN THE WOUND: There are posts all over the place mentioning problems similar to this, with theories about Windows updates and BIOS updates and drivers all over the place, but none of them are helpful and none of the posts were solved or had any kind of follow-up. In short, no one seems to have any solid lead on fixing this issue.

THE SOLUTION: In the case of the Toshiba we inspected, the touchpad was bad. The failed touchpad also kept the keyboard from being able to operate while in an operating system. To confirm this, we removed the keyboard and disconnected the touchpad, which immediately caused the keyboard to start operating correctly.

THE TECHNICAL EXPLANATION: On a laptop, the keyboard and mouse (touchpad) are what’s known as PS/2 devices. Since the days of the IBM PS/2 computer, a dedicated chip called the 8042 keyboard controller has existed in PCs, powering two special serial ports, one for the keyboard and one known as an AUX port which is always used for a mouse. Though the 8042 chip is no longer a standalone component, identically functioning circuits are in practically every PC laptop and desktop computer that exists. What does all this have to do with the touchpad knocking out the keyboard? It’s actually quite simple: the 8042 controls both devices, and the defective touchpad was flooding the 8042 chip with garbage data. If one channel is flooding the controller chip with data, the other channel is “starved” of bandwidth and can’t send its information through the 8042 chip. Think of it like someone yelling words rapidly into your left ear while you were also trying to listen to someone talking normally in the right ear. You can’t possibly follow both conversations because one is drowning out the other. That’s how your toasted touchpad can cause your keyboard to not function at all.

HOW WE FIGURED IT OUT: The key knowledge here is that the two PS/2 devices are attached to the same controller chip. Bringing up the “top”  command in the Tritech Service System shows us the CPU usage of running processes in decreasing order of CPU usage by default. We noticed that two of the “kworker” threads were eating 1.5% to 1.8% of the CPU at all times. (A kworker thread is a “helper” program that runs directly from the Linux kernel to help it perform various tasks, not as an actual program.) The next logical step after noticing this unusual behavior from a clean system that has worked very well on every Toshiba Satellite L300-series laptop prior to this one was to unplug the keyboard and touchpad, and see if anything changed (this requires minor disassembly of the keyboard area of the laptop to perform.)

Unplugging the keyboard ribbon cable had zero effect. However, sliding out the ribbon for the laptop touchpad caused the kworker threads to completely cease using CPU. Connecting the keyboard back up and attempting to use it confirmed that removal of the mouse/touchpad from the equation brought back full functionality in the keyboard. Diagnosis: bad touchpad.

One of the reasons that we advocate for aspiring technicians to seek general knowledge about how computers work instead of specific situational solutions like an A+ certification test would target is for situations like this one. The knowledge that the keyboard and mouse run through the same controller chip was the only thing that prevented an average technician from knowing where to troubleshoot further and solve the problem, and the diagnosis could just as easily have been performed in Windows as in Linux.

It’s important to understand as much as you can about the general workings of a computer; the standard PS/2 keyboard/mouse controller chip has been around for a very long time, and is easily ignored by an aspiring technician in an era where many new computers only use USB connectivity and have thrown PS/2 hardware out the window. Don’t ignore something just because it’s slightly obscure or because it’s an old carry-over from the computing days of old! You never know when that obscure knowledge will turn out to be a missing puzzle piece to a confounding and frustrating issue that you’ll waste many hours poking and prodding at.

Advertisements

6 Comments

  1. thxs for the info. in my situation i just disable the touchpad from the bios and plug a usb mouse and keyboard works fine now

  2. This seems to be my problem too. Thanks. Will order a new touchpad now.
    Dan

  3. I have trawled the net looking for a logical answer to my problem and this is the first website I found that actually solves the issue and provides a good explanation. THANK YOU!!!

  4. my touchpad stopped working after the bios update – well done toshiba.

  5. Or… sometimes it IS the Windows Updates : ELAN just released a new driver that went through MS driver qualification, and after getting the automatic upgrade, the Touchpad AND keyboard no longer work.

    https://forum.toshiba.eu/showthread.php?82754-Satellite-M50-A-118-keyboard-and-touchpad-stopped-working

    Doing a rollback to the 2nd to most recent Windows restore point worked (And a note : Windows failed to rollback the actual ELAN driver update that caused the problem, so I went back to the one before…)

    • Touchpad drivers often install class filter drivers for all PS/2 devices. If anything goes wrong with the filter drivers (including the drivers not copying or being otherwise missing) then all PS/2 devices will not work.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: