HARDWARE Sony Vaio VGN-TX3

From Gentoo Linux Wiki

Jump to: navigation, search
This article is part of the Hardware series.
Laptops TV Tuner Cards Wireless Servers Storage Other Hardware Motherboards Related

Contents

[edit] Hardware

(for the VGN-TX3XP Variant)

  • Intel Core Solo U1400 Processor ultra low voltage (1,20 GHz, 533 MHz FSB)
  • Intel Centrino Chipset, Intel PRO/Wireless 802.11b/g
  • HDD: 80 GB (Ultra-ATA, 4200 RPM)
  • DDR2-SDRAM: 1 GB (512 MB On-Board, 1 x 512 MB), max. 1,5 GB
  • 11,1"-WXGA-LC-Display (1366 x 768) X-black with LED-back-light (ultra thin)
  • Intel Graphics Media Accelerator 950, up to 128 MB shared memory
  • ultra thin double layer DVD±RW drive
  • Fingerprint Sensor
  • extremely light weight (1.25 kg)
  • up to 6.5 hours on battery (owners experience confirms)

[edit] Installing Gentoo

[edit] Geting started

The 2006.1 install disc does not fully work: the automatic X-server configuration fails and both network devices are not recognised automatically. Wireless from the live CD is hopeless, but the ethernet works after loading the module e100.

Code: loading network driver module
modprobe e100

After that you can use net-setup, see Installation handbooks for more info on network config.

Once the network work you're ready to use the dialog based installer.

Code: starting the dialog based installer
installer

That allows you to do a basic installation, partitioning the disc etc.

[edit] Configuration

[edit] Kernel

Here is my (partly genkernel) kernel config for the vaio (gentoo-sources-2.6.19-r5, you may have to use "make oldconfig").

The only non-kernel driver module that is really required is for the WLAN adapter:

Code: installing the WLAN driver
emerge ipw3945

For more info on seting up WLAN, see handbooks.

[edit] Xorg

See this HowTo.

[edit] Battery saving setup

Most information on the Xorg-setup and battery saving is from [1].

First install the brightness control module.

Code: Installing the brightness control module
mkdir sony
cd sony/
wget -c http://download.berlios.de/fsfn/sony_acpi.tar.gz
tar -xzf sony_acpi.tar.gz 
cd sony_acpi
make && make install
modprobe sony_acpi

This should give you a file /proc/acpi/sony/brightness with which you can control the brightness of the display by writing a number between 1 and 8 to that file. Lower values allow to save energy. Thus we'll have a script bellow to set this to 4 when on battery and to 8 when on wire.

Code: Testing the brightness control module
echo 1 > /proc/acpi/sony/brightness
echo 4 > /proc/acpi/sony/brightness
echo 8 > /proc/acpi/sony/brightness

Then emerge a few laptop packages which allow automatic switching of the energy saving features of the laptop (frequency switch, brightness and more).

Code: Installing laptop packages
emerge cpufreqd
emerge app-laptop/laptop-mode-tools kde-base/klaptopdaemon
rc-update add laptop_mode default
rc-update add acpid default

The laptop-mode daemon allows to ad scripts in a simple way to react to events. We use this to switch the brightness. Save this file as /etc/laptop-mode/batt-start/brightness.sh. The frequency scaling worked out of the box.

Now make sure all required modules are auto-loaded, save this file as /etc/modules.autoload.d/kernel-2.6 and edit according to your own needs.

If you load all these modules and start these services (or after the next reboot of the system) your display should turn darker and the CPU switch to slower when you unplug the mains. Now you really have the 6.5 hours of battery life.  ;-)

[edit] General Laptop Useful Stuff

[edit] Touchpad

The touchpad reacting when I was typing on the keyboard really annoyed me, so I was looking for a way to switch it off. I could not get the Vaios touchpad to work with the synaptics driver, which allows to switch it of while typing on the keyboard. So I wrote a script that runs at start of the system to check if an external mouse is present. If a mouse is present, a symbolic link to the mouse device is created, which is used in the xorg.conf see above. When no mouse is present, the symbolic link is created to point to a device file collecting all pointer devices, including the touchpad.

Put these files in place:

Starting the service "/etc/init.d/touchpad_select start" will make the choice. Add this to the default runlevel as well:

Code: Automatically switch on/off touchpad on startup
rc-update add touchpad_select default

[edit] LAN/WLAN

Like many I use a ethernet connection at work and WLAN at home. Waiting for the LAN to connect when you're already hooked up to WLAN and there is no cable connected is just as annoying as the other way arround. To avoid this I wrote a script that checks if a cable is connected to the ethernet interface, and if so it brings up eth0, the LAN interface, if not it brings up eth1, the WLAN interface.

To get this functionality, you first have to make sure that the devices get the appropriate name and are not started automatically. Edit your /etc/udev/rules.d/70-persistent-net.rules like below (using your own MAC addresses)

File: /etc/udev/rules.d/70-persistent-net.rules
# PCI device 0x8086:0x4222 (ipw3945)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:18:de:0a:c8:bb", NAME="eth1"

# PCI device 0x8086:0x1093 (e100)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="00:13:a9:40:25:7b", NAME="eth0"

# Firewire device 080046030226bdc2)
SUBSYSTEM=="net", DRIVERS=="?*", ATTRS{address}=="08:00:46:03:02:26:bd:c2", NAME="eth2_
firewire_foo"

and put the following in your /etc/conf.d/rc

File: /etc/conf.d/rc
RC_PLUG_SERVICES="!net.*"

Then save this file in the place as specified:

Note that the module unloading and reloading is to get the driver back into pristine state if it was previously in use. For some reason it was not possible to get eth1 started again otherwise, once it had been up and down once.

Add this script to the default runlevel.

Code: Automatically decide between LAN and WLAN on startup
rc-update add net_select default

Then the decission is always taken at boot time which network to use. You can allways bring up the other one by hand of course, e.g.:

Code: Switch on LAN by hand
/etc/init.d/net.eth0 start

Hope these instructions help someone.

Personal tools