Debian GNU/Linux on Sony Vaio VGN-SZ230P

Contents

1. Intro
2. Current state
3. Howto

Intro

I was in doubt when I had to choose notebook to buy. nVidia card and little weight of this Sony Vaio model helped me to make my choice. Most of the important things work fine, I have network access almost anywhere, it is really fast and stable. I’ve experienced some problems with suspend, but I hope they could be fixed soon.
I think this page will be useful for other Sony Vaio models users. If you have any ideas about how to improve this document or know how to make one of this devices work, please e-mail me: ekutuev^AT^gmail^DOT^com.

Current state

device status
nVidia graphics card Works
Intel graphics card Not tested
Keyboard Partially works
Touch Pad Works
LAN Works
Wifi Works
WWAN (GPRS/EDGE) Works
Bluetooth Works
Modem Not tested, but seems to be ok
Sound Card Works
Camera Works
PCMCIA Works
USB Works
Firewire Works
ACPI Works
LCD brightness Works
Suspend to RAM Doesn’t work
Suspend to Disk Doesn’t work
Fingerprint sensor Doesn’t work
Card reader Works
Memory Stick Duo reader Doesn’t work

Setup howto

Install base system

I think you have already installed debian system, so I’ll just give a brief overview here. Feel free to skip this instruction’s parts.

Partitions & Installing

First, you probably want to keep pre-installed Windows XP for some reasons. It seems like you wouldn’t be able to install this version without killing all partitions on HDD. Additionally, disribution, drivers and some software are on hidden 6Gb NTFS partition in first sectors of HDD. If you want to kill it and use this space for something more useful, use Vaio Recovery CD/DVD Creation Tool from Windows. There’s a Sony OEM version and it’s Product key doesn’t seem to work with other XP distributions I tested.
I used Norton Partition Magic for Windows to resize second and largest partition. After all, you should have enough non-partitioned space on Hard Disk drive for Debian GNU/Linux (and maybe other systems?)

Boot from Debian Etch Install CD for x86 and follow install instructions. When prompted to create partitions, you may wish to auto-partition all free space as one big / partition (installer will automatically create swap partition in that case). After partitions creation, follow install instructions to complete setup. I prefer to install minimal system and install software later using apt-get.

After loggin in to your new system, update it to use latest software:

apt-get update
apt-get upgrade
Setting up system
LAN networking

Marvell Yukon fast ethernet controller was a pain for a long time, module hanged on upload buffer overflow. But everything’s perfect now with 2.6.18-3 kernel.

Modem

Driver from Linuxant seem to work. Use free 14400 baud version or buy full version if you need.

nVidia graphics card

If your laptop is up with Intel graphics card, switch to nvidia card (set stamina-speed switch to speed position) and reboot laptop.

Download propietary drivers package from official nVidia site. You should have already installed at gcc, xserver-xorg and linux-headers-2.6-686 packages to install it.

Next, edit /etc/X11/xorg.conf file’s Section “Device” part to look like this:

Section "Device"
        Identifier      "nVidia Geforce Go 7400"
        Driver          "nvidia"
        Option          "RenderAccel"           "true"
        Option          "AllowGLXWithComposite" "true"
        Option          "XAANoOffscreenPixmaps"
        Option          "AddARGBGLXVisuals"     "true"
        Option          "NoLogo"                "true"
EndSection

And Section “Screen”:

Section "Screen"
    Identifier     "Default Screen"
    Device         "nVidia Geforce Go 7400"
    Monitor        "Generic Monitor"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
        Modes      "1280x800" "1024x768" "800x600" "640x480"
    EndSubSection
EndSection
Sound Card

If you have one channel in the mixer and you can’t hear anything, modem driver installs fixed hda driver.
Or just install 2.6.18-3 kernel (yep, it’s a happy kernel version for vaio).

LCD backlight brightness control

Now it works using nvclock utility. I’ve contacted this problem was fixed. Version 0.8 beta 2 doesn’t support it, so we should build cvs version. Currently nvclock 0.8b2 is being shipped with debian, use next commands to build new .deb package (copy-paste line by line, some commands may require keyboard input):

apt-get source nvclock
cvs -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock login
cvs -z3 -d:pserver:anonymous@nvclock.cvs.sourceforge.net:/cvsroot/nvclock co -P nvclock
cd nvclock
sudo apt-get install autoconf automake
./autogen.sh
zcat ../nvclock_0.8b2-1.diff.gz | patch -N -p 1
chmod 755 debian/rules
sudo apt-get build-dep nvclock
sudo dpkg-buildpackage
sudo dpkg -i ../nvclock_0.8b2-1_i386.deb

Don’t care about sign failed warnings. Now nvclock -S <value> should adjust backlight brightness.

To prevent nvclock from being upgraded, add something like this to /etc/apt/preferences:

Explanation: Custom_nvclock
Package: nvclock
Pin: version custom
Pin-Priority: 1001
Intel graphics card

I didn’t tested it yet. People say there’s a problem with docking station DVI output when using Intel graphics chip.

Keyboard

It seems like Kmilo correctly gets all events from Fn buttons and other devices (wireless on/off hardware and switches, etc.), but doesn’t know what to do with most of them. Exceptions are S1 and S2 buttons, they are returning the same event code. Hope to solve this problem soon.

Touch Pad

Worked out of the box. Synaptics section of my xorg.conf:

Section "InputDevice"
    Identifier     "Synaptics Touchpad"
    Driver         "synaptics"
    Option         "SendCoreEvents" "true"
    Option         "Device" "/dev/psaux"
    Option         "Protocol" "auto-dev"
    Option         "HorizScrollDelta" "50"
    Option         "VertScrollDelta" "50"
    Option         "LeftEdge" "55"
    Option         "RightEdge" "725"
    Option         "TopEdge" "55"
    Option         "BottomEdge" "725"
    Option         "MinSpeed" "0.35"
    Option         "MaxSpeed" "0.40"
    Option         "AccelFactor" "0.0015"
    Option         "TouchpadOff" "2"
    Option         "SHMConfig" "on"
EndSection
Wifi

Intel ipw3945 drivers and firmware are available here.

Debian users can simply type

apt-get install ipw3945-modules-2.6-686 firmware-ipw3945 ipw3945d

and add ipw3945 to /etc/modules if it doesn’t load automatically.

WWAN EDGE/GPRS

It works. Thanks to Sergio “&ergio” Nemirovski for his sony_acpi, sonypi and spicctrl patches. Recognised as a usual USB modem and can work as a regular PPP dial-up connection.

Bluetooth

Worked out of the box. Install bluez and, for example, kdebluetooth package and connect!
I use spicctrl utility to enable/disable it – use spicctrl -l 255 to enable it and spicctrl -l 0 to disable.

Camera

Finally it works! Get a driver from http://lsb.blogdns.net/ry5u870, unpack and compile it. You must have build-essential and linux-headers installed. Example for version 0.10.0:

wget http://lsb.blogdns.net/files/r5u870-0.10.0.tgz
tar zxvf r5u870-0.10.0.tgz
cd r5u870-0.10.0/
make
sudo make install

Then just add “r5u870” to /etc/modules using your favorite editor.

PCMCIA

Works out of the box as expected.

Firewire

Worked out of the box.

ACPI

Power button, Lid button, Battery and AC Power Adapter detected and controlled well.

Suspend to RAM

Doesn’t work yet.

Suspend to Disk

Doesn’t work yet.

Fingerprint sensor

Dosn’t work yet. There’s biometrics sensors driver on the net, but currently it doesn’t work with this sensor’s chip.

Card reader

Works fine out of the box.

Memory Stick Duo reader

Doesn’t work. I have found no solution yet. You can use Memory Stick Duo – Memory Stick (big ones) adapter with card reader on the right side if you need it (e.g. Sony MSAC-M2).

TuxMobil - Linux on Laptops, Notebooks, PDAs and Mobile Phones

%d bloggers like this: