Toshiba Satellite C650-15Z


Introduction

this article describes the installation and setup of the Toshiba Satellite laptop, an Intel Core 2 duo model C650-15Z. It comes with an Intel GM4500 graphic card.
commercial specs details: http://uk.computers.toshiba-europe.com/innovation/product/Satellite-C650-15Z/1087575/toshibaShop/false/

Hardware Status


Fisrt words

Like with my desktop, I choosed to use gentoo on this laptop since this distro is really effective and up to date.. Easy to manage in common days tasks. Furthermore this laptop got some hardware in need for newer kernels. Maybe you will need some heavy patching if you choose another distro; since userfriendly distros usually got slower update cycles.. All in all, it only requires for you to keep in mind to get the latest kernel from kernel.org mirrors.
So, if you plan to install with a *wireless* link get something above 2.6.29 (which should be easy to get in 2010..), if you plan to install with an *ethernet* go to 2.6.34 and above.. If you plan to have a totally working laptop, use the 2.6.36.
I decided to write this small brief because I spent some times borking around things & facts on this laptop, for getting it to work well - and I also read a lot of shits from lusers claiming about toshiba quality on their support forum, which is wrong, putting all your faith into a shiny cd distro & - having no clue about bashing is the wrong way to go.

System Specifications

Code: lspci -k
00:00.0 Host bridge: Intel Corporation Mobile 4 Series Chipset Memory Controller Hub (rev 07)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: agpgart-intel
		Kernel modules: intel-agp
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
		Subsystem: Toshiba America Info Systems Device fde0
		Kernel modules: i915
00:02.1 Display controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
		Subsystem: Toshiba America Info Systems Device fde0
00:1a.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #4 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1a.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #5 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1a.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #2 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: ehci_hcd
		Kernel modules: ehci-hcd
00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: HDA Intel
		Kernel modules: snd-hda-intel
00:1c.0 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 1 (rev 03)
		Kernel driver in use: pcieport
		Kernel modules: shpchp
00:1c.1 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 2 (rev 03)
		Kernel driver in use: pcieport
		Kernel modules: shpchp
00:1c.4 PCI bridge: Intel Corporation 82801I (ICH9 Family) PCI Express Port 5 (rev 03)
		Kernel driver in use: pcieport
		Kernel modules: shpchp
00:1d.0 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #1 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1d.1 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #2 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1d.2 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #3 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1d.3 USB Controller: Intel Corporation 82801I (ICH9 Family) USB UHCI Controller #6 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: uhci_hcd
		Kernel modules: uhci-hcd
00:1d.7 USB Controller: Intel Corporation 82801I (ICH9 Family) USB2 EHCI Controller #1 (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: ehci_hcd
		Kernel modules: ehci-hcd
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)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel modules: iTCO_wdt
00:1f.2 SATA controller: Intel Corporation ICH9M/M-E SATA AHCI Controller (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: ahci
		Kernel modules: ahci
00:1f.3 SMBus: Intel Corporation 82801I (ICH9 Family) SMBus Controller (rev 03)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: i801_smbus
		Kernel modules: i2c-i801
02:00.0 Ethernet controller: Attansic Technology Corp. Device 2060 (rev c1)
		Subsystem: Toshiba America Info Systems Device ff1e
		Kernel driver in use: atl1c
		Kernel modules: atl1c
03:00.0 Network controller: Atheros Communications Inc. AR9285 Wireless Network Adapter (PCI-Express) (rev 01)
		Subsystem: Askey Computer Corp. Device 7159
		Kernel driver in use: ath9k
		Kernel modules: ath9k


Code: lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 004 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 002 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 007 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 006 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
Bus 005 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub


Networking

Ethernet

Bringing the ethernet up pass by using a >2.6.34 kernel which provides experimental support for ATL1C module
CONFIG_NETDEV_1000=y
CONFIG_ATL1C=m


Wireless

Wireless device use the Atheros 9k module by linux-wireless. It's working well.

CONFIG_WLAN=y
CONFIG_ATH_COMMON=m
CONFIG_ATH9K_HW=m
CONFIG_ATH9K_COMMON=m
CONFIG_ATH9K=m


X.org

Xorg works well, take the AGPgart, Xfree4.1 support in device drivers / graphic drivers. go for i915, and activate also modsetting
then emerge xf86-video-intel, xf86-input-synaptic, xf86-input-evdev, xf86-input-keyboard, xk86-input-mouse xorg-server

CONFIG_AGP=y
CONFIG_AGP_INTEL=m
CONFIG_VGA_ARB=y
CONFIG_VGA_ARB_MAX_GPUS=16
CONFIG_DRM=y
CONFIG_DRM_KMS_HELPER=m
CONFIG_DRM_I915=m
CONFIG_DRM_I915_KMS=y
CONFIG_VIDEO_OUTPUT_CONTROL=m
CONFIG_FB=y
CONFIG_FIRMWARE_EDID=y


cat /etc/X11/Xorg.conf
Section "Module"
	SubSection  "extmod"
	   Option    "omit xfree86-dga"
	EndSubSection
	Load    "i2c"
	Load    "ddc"
	Load    "vbe"
	Load    "dri"
	Load    "glx"
	Load    "synaptics"
EndSection

Section "ServerFlags"
	 Option    "AllowMouseOpenFail"    "true"
EndSection

Section "Monitor"
	Identifier    "Generic Monitor"
	VertRefresh    43 - 60
	HorizSync      28 - 80
EndSection


Section "Device"

	Identifier  "card0"
	Driver      "intel"
	#BusID    "PCI:00:02"
	#Option "RenderAccel" "on"
	#Option "XAANoOffscreenPixmaps"
	#Option "BusType" "PCI"
	#Option "ColorTiling" "on"
	#Option "EnablePageFlip" "on"
	Option "UseEvents" "True"
	Option "AccelMethod" "exa"
	Option "MigrationHeuristic" "greedy"
	Option "ExaNoComposite" "false"

EndSection

Section "Screen"

	Identifier    "Screen 0"
	Device        "card0"
	Monitor       "Generic Monitor"
	#Option       "AddARGBGLXVisuals" "true"
	DefaultDepth 24
EndSection


Section "DRI"
	Mode 0666
EndSection

Section "ServerLayout"
	Identifier   "Main Layout"
	Screen 0    "Screen 0"
EndSection

Section "Extensions"
   #Option "Composite" "Enable"
EndSection


Sound

Sound works well, tested w/ pulseaudio too, without any trouble. I found the 2.6.34 worked well with headphone & jack connectivity, 2.6.35 was in regression, then 2.6.36 got back to stability on this point.

Code: lsmod (relevant modules)
snd_hda_intel          17599  0 
snd_hda_codec          62114  1 snd_hda_intel
snd_pcm                55530  2 snd_hda_intel,snd_hda_codec
snd_timer              15010  1 snd_pcm
snd                    45052  4 snd_hda_intel,snd_hda_codec,snd_pcm,snd_timer
snd_page_alloc          6276  2 snd_hda_intel,snd_pcm

00:1b.0 Audio device: Intel Corporation 82801I (ICH9 Family) HD Audio Controller (rev 03)

From the Toshiba L300 setup :
«The only current known issue with the new kernel releases after 2.6.29 , is that forcing ALSA modules unload is not necessary anymore, so forcing unload will create issues with the kernel. To fix the issue, we need to set UNLOAD_ON_STOP variable to 'no' in ALSA's configuration.»
vim /etc/conf.d/alsasound

UNLOAD_ON_STOP="no"


getting Pulseaudio

since about summer 2009 pulseaudio is fully workable on my different setups and use cases, it manages well on multiple cards setup (I own an USB caiaq card). the pavucontrol gui is efficiency & shiny imho.. so using it don't hurts.
emerge media-plugins/alsa-plugins media-plugins/gst-plugins-alsa media-sound/alsa-headers media-sound/alsa-utils pulseaudio


edit your .asoundrc to redirect all sound to pulse..
pcm.pulse {
		type pulse
}

ctl.pulse {
		type pulse
}

pcm.!default {
		type pulse
}

ctl.!default {
		type pulse
}


USB

for usb, keep in mind to disable ACPI on boot with <2.6.36, but there's no problem with the latest kernel patch.

Kernel Config

So drawing a clean & "match only what's needed" kernel setup is possible:
lazyness ;)


Cleaning troubles

USB

Toshiba seems to provide a different ACPI, putting a noapic parameter into grub is the key for USB, wireless & more to work
Trying nolapic leads you into having *only one* core awakened.
The 2.6.36 is OK, no boot parameter is needed, all cpufreq & battery checks will work, reboot & shutdown is now ok.

ACPI


Wireless

wireless works well in WPA/WPA2 mode as soon as noapic/nolapic is used, not tested in WEP,Nosec but it wouldn't be a problem imho.


(Thanks to the kernel maintainers who did a really cool job for 2.6.36)