Debian Linux on a Toshiba Satellite Pro A100

This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs and mobile phones

The Toshiba Satellite Pro A100 is a very impressive laptop: 15in 1280x800 WXGA
screen, Intel Dual 1.6Ghz processor, ATI Radeon Xpress Graphics and 3945ABG
Intel wireless being the main noteworthy features.

The disadvantage of this laptop is that after 20 minutes of 100% CPU (both
processors) it overheats sufficiently to completely lock up.  After rebooting,
sound fails to work, for several more minutes, presumably until the machine
has cooled down.  On linux, therefore, it is essential that you install
and correctly configure cpufreqd or powernowd.

It's fairly normal on a laptop to have to remember never to cover
up the fan or any of the holes, but that's even more important on this
machine (it's also fairly normal to see people operating their laptop
on a bed, sofa, carpet, pillow or duh their lap, and then wonder why
it's crashed or why their hard drive has been destroyed).

Other than this small SNAFU, the laptop is absolutely brilliant, and,
amazingly for all the hardware being pretty recent (Texas Instruments
5-in-1 Card Reader, and Intel Pro-Wireless 3945ABG) it all works!

On advice of Our Phil, I installed
Debian / Testing, and that explains why I had to mess about with building
the ipw3945 from source, as the kernel modules are only available for
2.6.18, and also it explains why I didn't get to test the Card Reader.
The tifm_7xx1 driver comes as standard with 2.6.18 and 2.6.19 and Debian
Testing has, at the time of writing, 2.6.17.

The cpuinfo can be found here.
The meminfo can be found here.
The lspci info can be found here.
The lspci -v info can be found here.

User-Software I installed on the machine was the standard KDE 3.5 desktop,
Openoffice 2, firefox, Kaffeine, k3b, gimp - the usual stuff.  As the
machine was a christmas present for a teenager, immediately of course they
were interested in MSN, music and DVDs.  kopete, with its insistence on
presenting the full nickname, irritates me beyond belief, and the owner
was pretty unimpressed as well (users of MSN have this stupid habit of
setting themselves a nickname of well over 100 characters in length,
and there appears to be no way to stop kopete from displaying them).

Installing the IPW3945 from source code was a bit fraught.  Firstly, I
had to modify the driver in places because the 80211 api has changed a
bit: six functions had extra arguments, and by removing the redundant
arguments, the resultant code not only compiled but also worked.

I set up the wireless network as an 'allow-hotplug' entry, and also I
added pre-up and post-down to run the ipw3945d load and unload scripts
that come with the IPW3945 source code off of sourceforge.  I don't
now have access to the machine, but, after copying the load and unload
scripts to /usr/sbin/ipw3945d-[un]load, you can get away with something
like this, in /etc/network/interfaces:

	# The wireless interface
	allow-hotplug eth2
	iface eth2 inet dhcp
	pre-up /usr/sbin/ipw3945d-load
	post-down /usr/sbin/ipw3945d-unload

Setting up cpufreqd was a pain in the neck, but as previously mentioned,
it is absolutely essential that you install one of cpudyn, cpufreqd or
powernowd.  I don't know if it's possible to set up on other daemons,
but cpufreqd can do temperature-related changes.  It's quite likely
that on this particular laptop, it's going to be necessary to watch out
for the temperature going no higher than 55 to 60 degrees Centigrade,
and to ramp back to a different profile - one that runs both processors
at 50%.  Remember to not only configure cpufreqd to use the centrino
module (/etc/default/cpufreq I think), but also remember to set the
minimum processor speed and the maximum processor speed, and also ensure
that the right governer mdoules are loaded (e.g. cpufreq_ondemand).
If I get access to the laptop again, I'll try to record what files I
edited, so that you have some examples to work from.

Also - I made my usual edits to make the system useable.  /etc/defautl/rcS
I changed fsckfix="no" to "yes"; I added export KDE_IS_PRELINKED="1"
and KDE_EXEC_SLAVES="1" to /etc/profile, and I ran
prelink -q -v -a --random --conserve-memory

Regarding Xorg: I made sure that I installed discover, read-edid, mdetect
beforehand.  I then still had to run dpkg-reconfigure xserver-xorg, and
then the only thing I had to really focus on what ensuring that 1280x800
was in the list of screen sizes.

All in all, it was a fairly painless install.  The biggest surprise was
that the wireless worked first time.  The nastiest surprise was the
machine overheating.
Alternative report, containing useful info, especially advice about suspend/resume which might be problematic: Toshiba Satellite A100 Linux Kubuntu 6.10 report