Difference between revisions of "Toshiba Satellite P500-ST2G02"

From ArchWiki
Jump to: navigation, search
m (remove contractions)
(update and rewrite to point to existing wiki articles)
Line 1: Line 1:
 
[[Category: Toshiba (English)]]
 
[[Category: Toshiba (English)]]
This is a tutorial on how to install and configure Arch Linux on a Toshiba Satellite P500 Laptop.
+
This article highlights configuration options and packages needed for using Arch Linux with a Toshiba Satellite P500 Laptop.
 
+
 
== Hardware ==
 
== Hardware ==
 
 
Custom configuration, purchased on 11/29/2010 from Toshiba Direct:
 
Custom configuration, purchased on 11/29/2010 from Toshiba Direct:
  
Line 46: Line 44:
 
</pre>
 
</pre>
  
== Removing Windows ==
+
== Realtek wireless card driver ==
 +
Linux kernels since 3.0 have rtl8192se built in.  If you are using a kernel26-lts kernel you can try {{Package AUR|rtl8192se}} driver from [[AUR]].  Note that my card model is 8172, but it does seem to work fine with the 8192se driver.
  
I was thinking of keeping Windows in its own partition, but I had trouble with repartitioning the hard disk. Since I do not really use Windows, I ended up deleting all Windows and Toshiba Restore partitions. For some reason cfdisk (my tool of choice) did not work here, so I had to use fdisk to do that.
+
See [[Beginners' Guide#Wireless LAN]], [[Wireless Setup]] and optionally [[Networkmanager]] or [[wicd]].
  
== Arch Installation ==
+
== NVIDIA driver ==
 +
Installing the {{Package Official|nvidia}} and {{Package Official|nvidia-utils}} packages is usually enough.  However, the [[Nvidia]] article is probably still worth a read.
  
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.
+
== Power Management ==
 +
* The {{Codeline|ac}}, {{Codeline|battery}}, {{Codeline|button}}, {{Codeline|fan}}, and {{Codeline|thermal}} kernel modules should load automatically. If not, add them to the {{Codeline|MODULES}} array in [[rc.conf]].
 +
* Add {{Codeline|acpi-cpufreq}} to the {{Codeline|MODULES}} array in [[rc.conf]] for use with [[Laptop Mode Tools]] or [[CPU Frequency Scaling]].
 +
* [[acpid]] (optionally combined with Laptop Mode Tools) can provide support for processing events such as closing the laptop lid or hitting the power button.
  
== Install an AUR package manager ==
+
== Touchpad ==
 
+
The touchpad works but you likely will want to customize. See [[Touchpad Synaptics]].
First I installed yaourt:
+
 
+
# vim /etc/pacman.conf
+
 
+
Add the following repository:
+
<pre>
+
[archlinuxfr]
+
Server = http://repo.archlinux.fr/$arch
+
</pre>
+
 
+
# pacman -Syu
+
# pacman -S yaourt
+
 
+
== Install the Realtek wireless card driver ==
+
 
+
The wireless card does not work out of the box, so I had to install the rtl8192se driver from AUR. Note that my card model is 8172, but it does seem to work fine with the 8192se driver.
+
 
+
$ yaourt -S rtl8192se
+
 
+
Install '''networkmanager''' after that. I personally prefer wicd, but apparently it does not work well with the Realtek 8192 driver.
+
 
+
# pacman -S networkmanager network-manager-applet
+
 
+
Add networkmanager to your DAEMONS in /etc/rc.conf. See bellow for an example of my rc.conf.
+
 
+
== Install NVIDIA driver ==
+
 
+
# pacman -S nvidia
+
 
+
This also adds the proper xorg configuration. X starts and works fine right out of the box. It works in 1680x945 right away - no issues here.
+
 
+
== Install the Synaptic driver ==
+
 
+
The mouse pad works, but it has issues. You need to install Synaptic:
+
 
+
# pacman -S xf86-input-synaptic
+
 
+
== Setup permissions ==
+
 
+
In order to use everything your user must be added to several groups
+
 
+
# gpasswd -a $USER wheel
+
# gpasswd -a $USER network
+
# gpasswd -a $USER video
+
# gpasswd -a $USER audio
+
# gpasswd -a $USER optical
+
# gpasswd -a $USER storage
+
# gpasswd -a $USER scanner
+
# gpasswd -a $USER power
+
 
+
== 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:
+
<pre>
+
#!/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
+
</pre>
+
 
+
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.
+
 
+
== X11 ==
+
 
+
I use Openbox, so in order to get everything on your computer accessible to you, you need to execute it with ck-launch-session:
+
 
+
'''~/.xinitrc'''
+
exec ck-launch-session openbox-session
+
 
+
Same goes for any other GUI.
+
 
+
== Laptop Mode Tools ==
+
 
+
I installed '''laptop-mode-tools''', 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 is always plugged in.
+
  
 
== Multimedia Buttons ==
 
== 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 usually disabled in your desktop environment (e.g. for Gnome: menu System -> Preferences -> Keyboard Shortcuts).
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 will not work with ALSA, but it works well with OSS.
+
See [[OSS]] for detailed instructions.
+
 
+
== Compiling the kernel with PAE included ==
+
 
+
If you chose to install Arch 86_64, you can skip this section. This is only for those who installed Arch 32 and would like to access more than 3GB of RAM.
+
 
+
You have two options:
+
# Install kernel26-pae from AUR
+
# Recompile the current Arch kernel to turn on the PAE option
+
 
+
I chose to recompile the kernel, which also gave me the opportunity to remove some modules I will not use.
+
 
+
=== Install the PAE kernel from AUR ===
+
 
+
If you chose to install the PAE kernel from AUR:
+
 
+
  # yaourt -S kernel26-pae
+
  # yaourt -S nvidia-pae
+
 
+
It will take about an hour for the kernel to compile.
+
 
+
=== Recompile the current kernel ===
+
 
+
I compiled the kernel from ABS. Besides turning on PAE, I also did the following changes to my kernel:
+
 
+
# Removed bluetooth and infrared support (my laptop came w/o any of that)
+
# Removed ATA support
+
# Removed tablet, touch screen and others
+
# Changed the CPU type to Core 2/Newer Xenon
+
 
+
After you log in to the new kernel, you will have to recompile the '''nvidia''' package too
+
 
+
== My /etc/rc.conf ==
+
 
+
Here is what my /etc/rc.conf looks like:
+
 
+
<pre>
+
LOCALE="en_US.UTF-8"
+
HARDWARECLOCK="localtime"
+
TIMEZONE="America/Los_Angeles"
+
KEYMAP="us"
+
CONSOLEFONT=
+
CONSOLEMAP=
+
USECOLOR="yes"
+
 
+
MOD_AUTOLOAD="yes"
+
MODULES=(ac battery button fan thermal !btusb !bluetooth !toshiba_bluetooth !joydev !pcspkr)
+
 
+
USELVM="no"
+
 
+
HOSTNAME="satellite"
+
eth0="dhcp"
+
INTERFACES=(!eth0 !wlan0)
+
NETWORK_PERSIST="no"
+
 
+
DAEMONS=(syslog-ng dbus networkmanager !hal !network !netfs @openntpd @crond @alsa)
+
</pre>
+

Revision as of 23:03, 2 September 2011

This article highlights configuration options and packages needed for using Arch Linux with 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)

Realtek wireless card driver

Linux kernels since 3.0 have rtl8192se built in. If you are using a kernel26-lts kernel you can try Template:Package AUR driver from AUR. Note that my card model is 8172, but it does seem to work fine with the 8192se driver.

See Beginners' Guide#Wireless LAN, Wireless Setup and optionally Networkmanager or wicd.

NVIDIA driver

Installing the Template:Package Official and Template:Package Official packages is usually enough. However, the Nvidia article is probably still worth a read.

Power Management

Touchpad

The touchpad works but you likely will want to customize. See Touchpad Synaptics.

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 usually disabled in your desktop environment (e.g. for Gnome: menu System -> Preferences -> Keyboard Shortcuts).