Toshiba Satellite L300

From ArchWiki
Revision as of 19:30, 22 December 2009 by Lagagnon (Talk | contribs)

Jump to: navigation, search

This document applies in particular to Arch Linux 2009-08 on a Toshiba Satellite L300-OG1. It may also apply to the entire L300 series on any modern Linux system (using at least kernel 2.6.31), and dependent upon what BIOS your system has. The L300-OG1 contains the InsydeH2O BIOS, version 1.50. Feel free to contact me if any problems or suggestions (lagagnon at gmail.com) (English or Spanish).

Specification

lspci:

00:00.0 Host bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile 945GM/PM/GMS, 943/940GML and 945GT Express PCI Express Root Port (rev 03)
00:1b.0 Audio device: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller (rev 02)
00:1c.00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev 93)
00:1f.0 ISA bridge: Intel Corporation ICH9M LPC Interface Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
02:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8101E/RTL8102E PCI Express Fast Ethernet controller (rev 02)
03:00.0 Network controller: Atheros Communications Inc. AR928X Wireless Network Adapter (PCI-Express) (rev 01)

What Works Without Any Configuration?

Ethernet, Wireless, Audio, Microphone, Synaptic TouchPad, WebCam, USB ports, Card Reader, DVD optical drive, fan (mostly), video (mostly), external video port (if booted with video device attached), CPU frequency scaling.

Not Yet Tested

PCMCIA port

Not Applicable

Bluetooth, Firewire, Modem.

What Does Not Work?

Special hardware function keys (particularly the Fn key itself) and fan control after suspend/hibernate

Configurations

Video: You should follow the Intel_Graphics wiki entry for Intel video. You will also need to edit your /boot/grub/menu.lst kernel boot line. See below. If you do not make the suggested changes to /boot/grub/menu.lst and /etc/X11/xorg.conf then you may not be able to resume from suspend, will get flickering video on shutdown and other minor video faults, but your screen will generally work OK. Here is my /etc/X11/xorg.conf file for reference:

Section "ServerLayout"
        Identifier     "X.org Configured"
        Screen      0  "Screen0" 0 0
        InputDevice    "Mouse0" "CorePointer"
        InputDevice    "Keyboard0" "CoreKeyboard"
EndSection

Section "Files"
        ModulePath   "/usr/lib/xorg/modules"
        FontPath     "/usr/share/fonts/misc"
        FontPath     "/usr/share/fonts/100dpi:unscaled"
        FontPath     "/usr/share/fonts/75dpi:unscaled"
        FontPath     "/usr/share/fonts/TTF"
        FontPath     "/usr/share/fonts/Type1"
EndSection

Section "Module"
        Load  "glx"
        Load  "dri2"
        Load  "dri"
        Load  "extmod"
        Load  "dbe"
EndSection

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "kbd"
EndSection

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "mouse"
        Option      "Protocol" "auto"
        Option      "Device" "/dev/input/mice"
        Option      "ZAxisMapping" "4 5 6 7"
EndSection

Section "Monitor"
        Identifier   "Monitor0"
        VendorName   "Monitor Vendor"
        ModelName    "Monitor Model"
EndSection

Section "Device"
        Option      "DRI"                    "True"
        Option      "NoDDC"                  "True"
        #Option      "XAANoOffscreenPixmaps"  "True"
        Option      "EnablePageFlip"         "True"
        Option      "RenderAccel"            "True"
        Option      "AccelMethod"            "UXA"
        Option      "Tiling"                  "False"
        Identifier  "Card0"
        Driver      "intel"
        VendorName  "Intel Corporation"
        BoardName   "Mobile 4 Series Chipset Integrated Graphics Controller"
        BusID       "PCI:0:2:0"
EndSection
Section "Extensions"
   Option "Composite" "Enable"
EndSection
Section "Screen"
        Identifier "Screen0"
        Device     "Card0"
        Monitor    "Monitor0"
        SubSection "Display"
                Viewport   0 0
                Depth     1
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     4
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     8
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     15
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     16
        EndSubSection
        SubSection "Display"
                Viewport   0 0
                Depth     24
        EndSubSection
EndSection

boot/grub/menu.lst: You should heed the Intel_Graphics video changes and your menu.lst grub line for your kernel should have the following kernel parameters added:

kernel /vmlinuz26 root=/dev/disk/by-uuid/52edad12-bc31-4dde-a841-9f0bce7fbdd3 acpi_osi="Linux" ro i915.modeset=1 resume=/dev/sda3 The important kernel parameters above are: acpi_osi="Linux" (fan will not function correctly without), resume=/dev/sda3 (this is your swap partition, without which hibernate will not work) and i915.modeset=1.

Suspend/Hibernate: The "pm-suspend" and "pm-hibernate" scripts work but on resuming the ACPI fan control does not function properly. Your fan will only start up above 75-80 degrees C and then will not shut off or reduce speed as it should. This is a BIOS and or ACPI issue which may have been partly solved here: http://thread.gmane.org/gmane.linux.acpi.devel/37612, but requires disassembling the DSDT, so is a job for intermediate-expert Linux users. For this reason I would avoid suspend/hibernate if you wish your CPU to last any length of time (unless you are successful with the above patching). I will update this wiki if I discover a better solution.

Function Keys: The kernel parameter "acpi_osi=Linux" is required to get the fan control to work properly. However, once this is added the function key (Fn) no longer is recognized by the kernel so all special function key combinations are out of action. However, it is a trivial task in most window managers/desktop environments to bind a different set of keys to a similar function. I use the "Windows" key, which is conveniently immediately right of the Fn key. I use "xbacklight" to change screen brightness, "xscreensaver-command lock" to lock the computer, "pm-suspend" and "pm-hibernate" (but not recommended - see above). To toggle the touchpad off and on read this: Synaptics. Also see Extra_Keyboard_Keys. If you need to use an external monitor it will have to be connected to the video port before you boot as the external monitor function key does not work.

Audio: Should just work but you must ensure, using "alsamixer", that the "Front" mixer is set to max, or near max. By default on my laptop it was at zero and I did not have sound until this was adjusted.