Sunday, November 24, 2013

Strange Problem Solved

Yesterday I was checking out somethings about my laptops processor, and noticed that Intel had downloads for Linux.  Specifically, microcode for a whole gaggle of i7 processors. 

I had gotten my laptop, a Y500, about 10 months ago. The first thing I did was rip Windows 8 out by the roots. Then calmly loaded Fedora 19. I was happy for about a day. Then this strange ever present issue would rear it ugly head at the worst times. The keyboard would go completely insane, and start typing by itself. It would also cause windows to open or close and Libreoffice to do all kinds of weird things. Lenovo's tech support was near useless, none of them had dealt with any form of Linux before. I called the tech support about this issue 3 times. The first 2 times I got blown off. The last a guy tried to help, but it was trying to repair the virtualized Windows 7 I have running on kvm/qemu.  Another story.  I pointed out that once he fixed the Windows side, the Linux side would still have the problem.  As you can guess, replacing the drivers in Windows and having a one year warrenty didn't help the situation at all. 

The fix it turns out was loading the latest version of the microcode in the processor. This task is easier said than done. 

The latest microcode can be downloaded here. After the tar/gzip file is downloaded you have to extract it with tar -zxvf <filename>. What you have after the extraction is a file called microcode.dat. microcode.dat need to be converted ucode. The powers that be were kind enough to provide the right tool for the job. intel-microcode2ucode is the program with no help, and no man page. The command is intel-microcode2ucode microcode.dat that creates a folder named intel-ucode with the working microcode inside of it. Now you can move the microcode to /lib/firmware/intel-ucode/ where the kernel will load the processor.

 I did a lot of research and found that microcode_ctl no longer loads the processor and the processor needs to be loaded with the new microcode every time the computer is started. If the microcode is corrupted then the processor will revert back to it's original microcode.

No comments:

Post a Comment