HARDWARE Sony VGN S580
From Gentoo Linux Wiki
| Laptops • TV Tuner Cards • Wireless • Servers • Storage • Other Hardware • Motherboards • Related |
Please feel free to contribute here -- Andrei
Contents |
[edit] Introduction
This is a howto about gentoo linux on Sony Vaio VGN S580.
- KNEFAS - most of the information from Sony VGN S4 by Knefas is applicable here as well, therefore I list links, and differences that might be important;
- KDE - is assumed as primary working environment, towards which directed this howto;
- Essential parts - to reproduce this howto you need to install components listed in Software Summary.
[edit] Install
Follow these steps:
- create Gentoo 2006.0 LiveCD
- follow Gentoo Linux 2006.0 x86 Handbook
- use Gentoo 2006.0 LiveCD installer workarounds - before starting gnome gentoo gui installer.
- lots of package.keywords must be unmasked for this howto to work.
- follow to install and configure various parts of Software Summary, as listed below.
[edit] Specs
Various hardware information about Sony VGN S580; please check to see if your laptop is close:
- bus: lspci, lspci -vv
- cpu: cat /proc/cpuinfo, cpufreq-info
- disk: hdparm -I /dev/sda
- video: lspci, nvclock -i, cat /var/log/xorg.o.log, tree /proc/driver/nvidia
- ethernet: lspci, modinfo e100
- wifi: lspci, modinfo ipw2200
- bluetooth: modinfo, grep Blue, hciconfig
- sound: Intel High Definition Audio ICH6, Alsa Module: snd-hda-intel
- touchpad: ALPS Touchpad /cat /proc/bus/input/devices
- notebook control: grep sonypi, nvclock -i
- cd/dvd: []
- usb: []
- firewire: []
- memory stick: []
- modem: []
[edit] Kernel
- As of 2006-05-09 in my experience (Andrei) the most stable / fast kernel for Sony VGN S580 is suspend2-sources 2.6.15-r8
| Code: cat /proc/version |
Linux version 2.6.15-suspend2-r8 (root@localhost) (gcc version 3.4.4 (Gentoo 3.4.4-r1, ssp-3.4.4-1.0, pie-8.7.8)) #1 Sun Apr 30 22:21:38 EEST 2006 |
- here is complete working config: kernel-config-x86-2.6.15-suspend2-r8
- you can put it in /etc/kernels/
- and use genkernel to build your version
- here is /etc/genkernel.conf and little build script for genkernel
- as you can see it is all highly modularized, this was required for better suspend2 stability.
[edit] Xorg
[edit] Networking
Interaction of componens - ifplugd, udevd, wpa_supplicat, etc - depends on version of baselayout. For stable results I recommend 1.12.* such as baselayout-1.12.0_pre19-r2
[edit] Ethernet
Detailed hardware information for Intel PRO/100 Ethernet Controller.
I am using:
- kernel-provided modules e100, mii
- with ifconfig for auto management of ethernet connections
- with iftab for renaming interfaces
- and ifplugd for ethernet link detection.
Reading:
- gentoo Network Management
- Lennart Poettering ifplugd
- gentoo forums renaming interfaces
[edit] Wireless
Detailed hardware information for Intel PRO/Wireless 2915ABG.
I am using:
- separately-built module ipw2200
- with iftab for renaming interfaces
- with wpa_supplicant for auto management of wifi connections
- with wpa_gui for wifi connections configuration
- and kwifimanager as connection strength indicatior
Reading:
- gentoo Wireless Networking
- gentoo forums renaming interfaces
[edit] Bluetooth
Detailed hardware information for Cambridge Silicon Radio (10).
I am using S580 with K750:
- kenel-provided modules: bluetooth,rfcomm,hidp,l2cap,hci_usb
- bluez tools
- kdebluetooth with minor fix
Reading:
- Gentoo Bluetooth Guide
[edit] Sound
[edit] Power Management
Various loosely - dependent power management components must be co-configured:
- kacpid - kernel-space, kernel-provided patch, that:
- can be controlled with boot parameters
- provides /proc/acpi/event socket
- ac, battery, button, processor - kernel provided acpi modules that
- extend kacpid event functions
- acpid - user-space daemon, that:
- listens to kacpid
- can process own events as configured in /etc/acpi/*
- provides event socket for powersaved, hald, Xorg, etc to listen to
- powersave - daemon that:
- listens to acpid
- can control cpufreq, laptop_mode, hibernate (suspend2), etc
- is suse-centric, and can be configured via /etc/powersave/*
- kpowersave - KDE daemon & gui that:
- controls powersave
- is integrated in KDE notebook control (kmilo suspend to disk, sonypi Fn-F12)
- cpufreq_* - kernel provided modules that:
- permits to get/set specific cpu frequency mode (governor)
- can be controlled by powersave
- can be controlled by cpufrequtils to setup default governor on boot
- laptop_mode - kernel provided patch that:
- permits to get/set disk usage patterns
- can be controlled by powersave via laptop-mode-tools
- nvclock - notebook control utility that
- permits to control LCD brightness
- is integrated in kvaio hack (kmilo, sonypi Fn-F5, Fn-F6, Fn-F7)
I use all these components in the following way:
- acpid /etc/acpi/* events are not used
- powersave /etc/powersave/* functions that are duplicates of hibernate (suspend2) are not used
- cpufrequtils sets on boot ondemand cpufreq governor
- kpowersave is configured for dpms to turn off LCD instead of screen saver
Reading:
[edit] Sleep (Suspend to Ram)
[edit] Hibernate (Suspend to Disk)
To make suspend2 work you esentially have to go through bunch of trial and error combinations of various versions of kernels, drivers, config parameters. My working combination is listed in Software Summary.
Recommended reading:
As of 2006-05-09 suspend2 almost works:
- here is working hibernate-disk.conf
Currently unresolved issues:
- suspend and resume works only on AC
- screen turns off during both suspend and resume
- loud clicking sound twice during suspend and once on resume
As of 2006-06-03 - funny result: I did a parallel istall of Suse 10.1 and hibernate 100% works out of the box, on AC, on battery, from terminal, from X/KDE.
This Suse uses:
- swsusp instead of suspend2
- nv driver instead of binary nvidia driver
[edit] Video
[edit] Card
Detailed hardware information for nVidia GeForce Go 6400.
[edit] Driver
Recommended reading:
I suggest you use nVidia driver version 1.0.8756:
Remember you need "emerge nvidia-kernel" after each kernel build.
[edit] AGP
Recommended reading:
For suspend2 to work with nvidia
- disable modules agpgart, intel_agp in kernel (shows disabled)
- use Option AGP=1 in Xorg.conf
- check that nvidia registry shows 1 or 3 for NvAGP
[edit] Notebook Control
[edit] KDE & Sony Laptops
Kde took some steps to better integrate with various laptops FN keys, special keys, LCD controls, etc; this includes for sony in general:
- kernel-provided sonypi driver that knows about
- FN keys, SN keys
- wireless on/off swich
- some 60+ various events in total
- kvaio plugin for kmilo which processes sonypi events
- kmilo kded service that dispatches kvaio events
- corresponding contol applet:
KDE Control Center -> System Administration -> Sony Vaio Laptop
[edit] Proprietary S580
Predictibly, in Sony Vaio VGN S580 hardware, there are few gotchas:
- LCD brightness control is done via nvidia smartdimmer which requires nvclock 0.8 beta which in turn is not currently integrated in sonypi
- most current version of alsa intel-hda sound driver maps speaker control to channel 7, not 0, that is expected by kmilo
- wireless swich, s1 key is not mapped to anything, etc.
- so above points result in your inability to control sound, brightness, etc - with FN, s1, wifi keys
[edit] Solution
To work around all this I recommend:
- kvaio.cpp hack inspired by Gregg
- it is using system calls to nvclock for LCD control, dcop calls to kmix for Sound control, dcop calls to kpowersave for Hibernate control, etc.
- to apply, follow these steps.
- please feel free to extend this hack, and post changes here.
[edit] Unresolved
- S1 & S2 buttons are detected as same event by sonypi (this seems difficult to fix)
- LCD smartdimmer feature is not controlled by sonypi (worked around by hack above)
[edit] Software Summary
This is my (Andrei) working configuration as of 2006-05-09:
Note: "kernel provided ..." below means that if you use recommended kernel source and kernel config, the modules will be created by genkernel build process.
[edit] config
portage
kernel
hibernate
net
[edit] system
- kernel: suspend2-sources-2.6.15-r8
- baselayout: baselayout-1.12.0_pre19-r2
- udev: udev-087
- ivman: ivman-0.6.11
- dbus: dbus-0.61-r1
[edit] power
- kacpid: kernel-proveded module
- acpid: acpid-1.0.4-r3
- powersaved: powersave-0.13.1
- kpowersaved: kpowersave-0.6.0
- suspend2: kernel provided patch
- hibernate: hibernate-script-1.12-r1
- cpufreq: kernel provided modules
- cpufrequtils: cpufrequtils-0.4
- laptop-mode: kernel provided patch
- laptop-mode-tools: laptop-mode-tools-1.30
[edit] ethernet
- e100: kernel provided module
- ifplugd: ifplugd-0.28-r5
[edit] wifi
- ipw2200: ipw2200-1.1.2-r1
- ipw2200: ipw2200-firmware-3.0
- wpa_supplicant: wpa_supplicant-0.4.8
- kwifimanager: kwifimanager-3.5.2
[edit] bluetooth
- bluetooth: kernel provided modules
- bluez: bluez-libs-2.25
- bluez: bluez-utils-2.25
- kdebluetooth: kdebluetooth-1.0_beta1-r2
- bugfix: kdebluetooth 1.0_beta1-r2 installs...
[edit] notebook control
- sonypi: kernel provided module
- nvclock: NVClock 0.8 (Beta)
- kde kmilo fix: kvaio.cpp hack
[edit] video
- nvidia: nvidia-kernel-1.0.8756
- nvidia: nvidia-glx-1.0.8756
- nvidia: nvidia-settings-1.0.20051122-r3
- vesa-fb: kernel provided module
[edit] sound
- alsasound: alsa-driver-1.0.11
- alsasound: alsa-utils-1.0.11
- kmix: kmix-3.5.2
[edit] desktop
- Xorg: xorg-x11-6.8.2-r7
- KDE: kde-meta-3.5.2
- video: see above
- touchpad: []
[edit] firewall
- iptables: kernel provided modules
- kmyfirewall: kmyfirewall-1.0.1

