Toshiba Satellite P500-ST2G02
This is a tutorial on how to install and configure Arch Linux on a Toshiba Satellite P500 Laptop.
Hardware
Custom configuration, purchased on 11/29/2010 from Toshiba Direct:
- Intel® Core™ i5-460M processor
- Genuine Windows 7 Home Premium (64-bit)
- 4GB DDR3 1066MHz memory
- 500GB HDD (7200rpm)
- 1GB GDDR3 NVIDIA® GeForce® GT 330M
- 18.4" screen
lspci
reports this:
$ lspci 00:00.0 Host bridge: Intel Corporation Core Processor DRAM Controller (rev 02) 00:01.0 PCI bridge: Intel Corporation Core Processor PCI Express x16 Root Port (rev 02) 00:16.0 Communication controller: Intel Corporation 5 Series/3400 Series Chipset HECI Controller (rev 06) 00:1a.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 05) 00:1c.0 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 (rev 05) 00:1c.3 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 (rev 05) 00:1c.4 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 5 (rev 05) 00:1c.5 PCI bridge: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 6 (rev 05) 00:1d.0 USB Controller: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller (rev 05) 00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev a5) 00:1f.0 ISA bridge: Intel Corporation Mobile 5 Series Chipset LPC Interface Controller (rev 05) 00:1f.2 SATA controller: Intel Corporation 5 Series/3400 Series Chipset 4 port SATA AHCI Controller (rev 05) 00:1f.3 SMBus: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller (rev 05) 00:1f.6 Signal processing controller: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem (rev 05) 01:00.0 VGA compatible controller: nVidia Corporation Device 0a29 (rev a2) 01:00.1 Audio device: nVidia Corporation High Definition Audio Controller (rev a1) 07:00.0 FireWire (IEEE 1394): O2 Micro, Inc. Device 10f7 (rev 01) 07:00.1 SD Host controller: O2 Micro, Inc. Device 8120 (rev 01) 07:00.2 Mass storage controller: O2 Micro, Inc. Device 8130 (rev 01) 0a:00.0 Network controller: Realtek Semiconductor Co., Ltd. Device 8172 (rev 10) 0b:00.0 Ethernet controller: Atheros Communications Atheros AR8132 / L1c Gigabit Ethernet Adapter (rev c0) ff:00.0 Host bridge: Intel Corporation Core Processor QuickPath Architecture Generic Non-core Registers (rev 05) ff:00.1 Host bridge: Intel Corporation Core Processor QuickPath Architecture System Address Decoder (rev 05) ff:02.0 Host bridge: Intel Corporation Core Processor QPI Link 0 (rev 05) ff:02.1 Host bridge: Intel Corporation Core Processor QPI Physical 0 (rev 05) ff:02.2 Host bridge: Intel Corporation Core Processor Reserved (rev 05) ff:02.3 Host bridge: Intel Corporation Core Processor Reserved (rev 05)
Arch Installation
Both Arch 32 and Arch 64 install flawlessly on the laptop. For compatibility reasons, I decided to go with Arch 32, given that I had to later recompile the kernel with PAE option turned on, in order to access 4GB of RAM.
Realtek wireless card driver
The 8192cu
driver is included in kernel, so it should work out-of-box. Note that the card model is 8172, but it does seem to work fine with the 8192cu
driver.
Install NVIDIA driver
See NVIDIA.
Install the Synaptics driver
The mouse pad works, but it has issues. You need to install Synaptics.
ACPI
You have to tweak acpi a little, otherwise the laptop will randomly freeze. First add the following modules to your rc.conf: ac, battery, button, fan, thermal. Second edit /etc/acpi/handler.sh
and under battery
create another case for BAT1) which is the same as BAT0).
Here is an example of my /etc/acpi/handler.sh
:
#!/bin/sh # Default acpi script that takes an entry for all actions # NOTE: This is a 2.6-centric script. If you use 2.4.x, you'll have to # modify it to not use /sys minspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_min_freq` maxspeed=`cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq` setspeed="/sys/devices/system/cpu/cpu0/cpufreq/scaling_setspeed" set $* case "$1" in button/power) #echo "PowerButton pressed!">/dev/tty5 case "$2" in PWRF) logger "PowerButton pressed: $2" ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/sleep) case "$2" in SLPB) echo -n mem >/sys/power/state ;; *) logger "ACPI action undefined: $2" ;; esac ;; ac_adapter) case "$2" in AC) case "$4" in 00000000) echo -n $minspeed >$setspeed #/etc/laptop-mode/laptop-mode start ;; 00000001) echo -n $maxspeed >$setspeed #/etc/laptop-mode/laptop-mode stop ;; esac ;; *) logger "ACPI action undefined: $2" ;; esac ;; battery) case "$2" in BAT0) case "$4" in 00000000) #echo "offline" >/dev/tty5 ;; 00000001) #echo "online" >/dev/tty5 ;; esac ;; BAT1) case "$4" in 00000000) #echo "offline" >/dev/tty5 ;; 00000001) #echo "online" >/dev/tty5 ;; esac ;; CPU0) ;; *) logger "ACPI action undefined: $2" ;; esac ;; button/lid) #echo "LID switched!">/dev/tty5 ;; *) logger "ACPI group/action undefined: $1 / $2" ;; esac
You may also want to add pm-suspend
under button/lid)
to make your laptop suspend when closed. I particularly do not ever close my laptop, because I use it as a desktop computer.
Laptop Mode Tools
I installed laptop-mode-toolsAUR, but it did not seem to improve anything so I disabled it. The battery life of this laptop is less than an hour and there is not much you can do. I use the laptop as a replacement for a desktop computer, so it's always plugged in.
Multimedia Buttons
The volume buttons work out of the box. I am, however, slightly annoyed with them, because they are a little too close to the keyboard and can be accidentally pressed when typing. They can be disabled from the GNOME menu System -> Preferences -> Keyboard Shortcuts
External Microphone
The external microphone works well with OSS, but in order to work with ALSA, you have to add this line to /etc/modprobe.d/alsa-base.conf
/etc/modprobe.d/alsa-base.conf
... options snd-hda-intel model=dell-vostro