Linux on the Sony VAIO VGN-S170

Author: Jordan Ritter <jpr5@darkridge.com>
Last updated: May 7, 2005

Hardware Summary

CPU Intel Pentium-M 2.00GHz
RAM 1GB (1GB max)
Hard disk Toshiba MK6025GAS, UDMA(5)
CD/DVD-ROM UJDA755 DVD/CDRW, UDMA(2)
Display 13.3" Sony WXGA TFT (1280x800)
Display Chipset Radeon Mobility 9200 M9+ (RV250)
AGP Chipset Intel 82855PM (855PM)
Audio Chipset Intel 82801 DB/L/M (ICH4/-L/-M)
Ethernet Chipset Intel PRO/100 VE (82801BD)
Wireless Chipset Intel PRO/Wireless 2200BG (rev 5).
Modem Chipset Intel 82801 DB/L/M (ICH4/-L/-M)
USB Chipset Intel 82801 DB/L/M (ICH4/-L/-M)
IEEE 1394 Texas Instruments PCI7x20 1394a-2000
Cardbus Bridge Texas Instruments PCI7420

Linux Compatibility Summary

Software
Kernel 2.4.19
Distribution RedHat Linux 7.2
Hardware
Video Yes fb:radeonfb, x11:radeon
Ethernet Yes e100 (intel)
Wireless Yes ipw2200
Sound Yes ALSA [Intel AC97 Controller]
APM No ACPI BIOS
ACPI Somewhat Immature ACPI support
USB Yes UHCI, EHCI
IEEE 1394 Yes OHCI1394, RAW1394, SBP2
Memory Stick No Unable to enable
Modem Yes HSF modem
CD/DVD-ROM Yes /dev/hdc

Foreword

This document describes Linux support for the Sony VAIO VGN-S170, which is an early CTO (Configured-To-Order) version of the S series laptop. Other variants of the VGN-S* series may or may not be equivalent to the information provided herein, and in fact I already know that newer versions of this series of laptop are different because they have better ACPI support (i.e. they can suspend to memory). However, I imagine the basic chipsets and drivers to have pretty much the same configuration. Please note: this document is not an installation FAQ; if you are seeking help with installing Linux, first think twice, then get thee to a standard Linux distribution and accompanying installation documents.

Notes

I love the S170. The extra-wide screen is great, and despite completely missing the XBRITE CTO option the display is still crisp and brite and almost usable outside. The layout and form of everything, including plugs and jacks are all excellent, and I especially like the cooling system design - air in one side, out the other.

Good things:

Suckage:

My biggest disappointment is still not being able to suspend to RAM. However, I've heard that later models are able to do this now, so maybe there is a BIOS update out there somewhere.....

Distribution

I use Gentoo Linux now. Gentoo is not the most simple or easy Linux Distribution to use, but if you follow its instructions there should be no out-of-the-ordinary difficulties.

See the online Gentoo documentation for more information.

Xorg X11

Configuring the Xorg version of the X11 system is pretty simple and straightforward. The auto-generated Xorg.conf configuration file worked out of the box, but doesn't take advantage of some of the video drivers better features. Check out my [xorg.conf] settings for comparison.

As a general rule, I always point out that you can manipulate the caps lock key to do other things (such as acting like a Control key, like Sun Type5 keyboards). You can swap the capslock with the lower-left control key with the following:

      Section "Input Device"
           ...
           Option "XkbOptions" "ctrl:swapcaps"
           ...
      EndSection

Or just simply get rid of the useless caps lock altogether:

      Section "Input Device"
           ...
           Option "XkbOptions" "ctrl:nocaps"
           ...
      EndSection

Networking

The ethernet chipset bundled with the S170 is supported by the Donald Becker's Intel EtherExpress Pro/100 driver. However, Becker's eepro100 driver does appear to have timeout issues when connected directly to certain switches and hubs (3Com OfficeConnect 10bt hub is one of them, while the LinkSys 10/100bt hub is not). I believe these issues may be related to N-Way autonegotiation, but I'm not sure.

In any case, I recommend just using Intel's e100 driver. It's Intel's chipset, and it's Intel's driver, so you should expect it to work.

Modem

As with older VAIO laptops, the built-in modem is a softmodem and is supported by ___. If you're using Gentoo, just ``emerge hsfmodem'' and follow the instructions. Otherwise, visit the main website at:

http://www.linuxant.com/drivers/hsf/index.php

After that, minicom or another terminal program should suffice.

Audio

FOO If you enable the in-kernel "Intel ICH (i8xx)" driver, you'll have sound. The default sound-level for the laptop is almost inaudible, though, and contrary to the accompanying hard-copy documentation raising the volume does NOT appear to work using the combination Fn-Vol and the Up and Down arrow keys. In other words, use CLI software like aumix, or one of the gnome applets to fix.

As a side note, artsd (sound daemon) under stock KDE 2.x seems to have serious issues with the sound device -- basically, artsd just dies after pegging the CPU at 100%. I haven't figured out why yet.

However, this problem is gone with KDE 3.x. If you're a KDE user, I highly recommend upgrading anyway, since KDE 3.x has a ton of cool new features.

Memory Stick

Finally, the Sony Memory Stick is fully supported by a stock Linux kernel. Enable USB Mass Storage support and SCSI generic support, and voila, working Memory Stick adaptor.

Harddisk Tuning

I've read a lot of other Sony VAIO Linux Installation sites about tuning the hard disk with hdparm. Quite obviously, by default certain features one would expect to impact performance don't appear to be turned on.

However, if "hdparm -tT" is any valid indication of the performance you can expect from changes, don't bother screwing with it -- there was no perceptible difference in performance between default settings and fully optimized settings.

In other words, changing performance settings with hdparm in this case is a farce.

Jog Dial

The jog dial works like a charm, and I think that its new location between the two mouse buttons is really well-placed.

Be aware though, the kernel driver itself is a little flaky -- sometimes during boot it outputs warnings about failed API calls, which should be your indication that it's not going to work unless you reboot. Furthermore, this behaviour seems to be mostly linked to the laptop being docked vs. undocked, and doesn't appear consistent, either. Oh well.

S-Jog is by far the coolest jog utility I've seen yet.

USB

Well, USB detected and fully supported the Sony Memory Stick, so I think it's a good bet that at least the HID support, which worked beforehand, still works. It might be useful to check my dmesg output and scan for USB messages.

I have in fact used my system with both a USB keyboard and mouse, so it verifiably works.

Slimdock DVD-ROM

After a lot of patient waiting, Linux 2.4.19 finally has enough of the IEEE1394 + SBP-2 stuff sorted out to support a functional DVD-ROM.

It gets installed as a SCSI device named sr0 (mknod /dev/sr0 b 11 0), and appears to work before and after the laptop has been undocked/re-docked (unlike the floppy). Both DVD's and CD-ROM's work just fine.

A few caveats:

Visit the software section of the IEEE 1394 for Linux website for some cool tools to play around with.

APM vs. ACPI

So Sony dumped APM for ACPI in this laptop, and it's a major bummer since it isn't obvious to first time buyers (or even third-time buyers like me) that you're being trapped into a Windows-centric world.

Basic ACPI support in Linux does appear to work, but it's not clear what to do with it. To set it up, first enable it in your kernel ("General Setup/ACPI Support"), and make sure to enable the "ACPI Bus Manager" or else it won't work at all. For the VAIO R505JL, enable all sub-modules ("System", "Processor", "Button", "AC Adapter", "Embedded Controller", "Control Method Battery", and "Thermal"). You can turn on "ACPI Debug Statements", but they're rather annoying and I'll tell you now what the debug statements will show -- ACPI support on Linux is still extremely lacking.

Oh, BTW, if you have APM enabled anyway, don't type apm -s; your system will suspend, but it won't wake up without a cold (no power) reboot. She's dead, Jim.

You also need to download acpid, the ACPI apmd equivalent. Familiarize yourself with the (sparse) docs. In a nutshell, acpid appears to catch two events -- "power button" and "lid close". If someone knows how to tell Linux to go to sleep (ala "apmd -s"-type functionality), then it should be a rather simple endeavour to enable suspend. There's probably a way to do it, but I haven't figured it out yet.

References

Linux 2.4.19 kernel configuration /usr/src/linux/.config
Linux 2.4.19 dmesg /var/log/dmesg
XFree86 4.1.0 configuration /etc/X11/XF86Config-4
XFree86 4.1.0 debug output /var/log/XFree86.0.log
CPU information /proc/cpuinfo
PCI information /proc/pci
Linux Laptops homepage http://www.linux-laptop.net
Linux-Sony mailing list http://returntonature.com/mailman/listinfo/linux-sony