All right. This is my first post in my blog, and I’ll try it to be as useful as possible. I’m going to explain how I achieved to install a Linux distribution in this problematic laptop.
I bought a Toshiba Satellite L305D-SP6805R that looks like this:
It comes with an ATI Radeon HD 3100 graphics card, an AMD Athlon X2 64-bits processor and a H20 Insyde BIOS. Its model number starts with PSLC8.
I’ve tried to install a lot of distributions in it: Ubuntu, OpenSUSE, Fedora, ArchLinux, Debian… but all of them have given me the same problem: the computer reaches 105ºC, the highest temperature allowed by it before shutting itself off to avoid damage. The problem? The fan is not correctly managed/detected by the kernel, and it can’t be managed by the user either.
After an intensive research, I finally know what were the causes and how to solve them:
The problem appeared since the moment I decided to play with the parameters that the BIOS allow you to change. I made the mistake of setting the SATA Controller to Compatibility Mode and the CPU Frequency to Dynamic Mode. Both changes together caused a lot of instability with the temperature in Windows and in Linux. I thought that it would be solved by changing the CPU Frequency to Always Low Mode, but it only turned the problem worse, because now not only the processor was working a lot slower, but it would keep shutting the computer off.
So, the solution has two parts:
Return the BIOS parameters to their default values
In the Toshiba welcome screen that appears when you turn on the computer, press F2 to enter the Setup Utility, go to the Advanced tab and check that the Dynamic CPU Frequency Mode is set to Dynamic and the SATA Controller Mode is set to AHCI.
Update your BIOS
The version that came by default with my laptop was 1.50, so I went to Toshiba’s Drivers website, looked for the closest model to my computer (L305D-SP69XXR) and downloaded the 1.80 version for the BIOS. Be careful: you have to first check the model number for your laptop, it is printed below the computer in the Toshiba sticker. It has to start with PSLC8 and it has to be included in the supported models list of the file that you’re going to download. The easiest way to update the BIOS is through Windows, by extracting the ZIP and double clicking the executable file. The problem is that this is risky for many reasons, so they recommend you to burn it to a disc and boot your computer to it.
This one’s easy: install a Linux distribution that includes the kernel 2.6.31, preferably 2.6.31-22. I don’t know exactly why, but this kernel version not only manages the fan a lot better than Windows (keeping the temperature at 45-55ºC) but it also detects the Fn keys and allows them to be used.
The distribution I recommend to use is Ubuntu 9.10 64-bits (Karmic Koala) because it configures everything automatically, including the Fn keys. It comes by default with the kernel 2.6.31-14 but the immediate update is the one I mentioned above, 2.6.31-22. Just be careful: don’t install new distribution releases, or else your kernel with be updated to a more recent one, and the fan will no longer work. This distribution is supported until April 2011, so by the time this post is written, you have 7 months to enjoy it.
The graphics card
As soon as you install Linux and reboot, you have to install the correct video driver for your graphics card because if you use a generic driver, the temperature goes up very easily.
In my case, when using the Ubuntu 9.10 Live-CD, the temperature stays below 65ºC. When I install and reboot, the temperature goes up to 85ºC, and when I install the correct graphics driver and reboot, the temperature goes down to 50ºC.
The correct restricted driver for this computer is the ATI/AMD proprietary FGLRX graphics driver.
I’ve discussed about the topic in many forums. A few of them mention solutions for other Toshiba Satellite models, like the L300, or for other problems, like hibernate/suspend. The solution I mention in this post is for my particular case, and a combination of all I learned reading the people’s answers in those forums. I hope it helps someone.
- Disable fan control for ACPI http://ubuntuforums.org/showthread.php?t=1313895
- Suspend/Hibernate issues Toshiba Satellite L305D http://ubuntu-virginia.ubuntuforums.org/showthread.php?t=1020119
- Toshiba Satellite L305D CPU Overheating http://ubuntuforums.org/showthread.php?t=1430135
- Linux Laptop Wiki: Toshiba Satellite L300-L305D http://www.linlap.com/wiki/toshiba+satellite+l300d-l305d
- Fan temperature issues with k10temp https://bbs.archlinux.org/viewtopic.php?pid=759414
- Fan ACPI problems, insyde H20 bios, toshiba satellite pro L300-x http://www.linuxquestions.org/questions/linux-laptop-and-netbook-25/fan-acpi-problems-insyde-h20-bios-toshiba-satellite-pro-l300-x-716924/