Installing Debian 3.1 on a Sony VAIO VGN-S170

This page documents my installation of Debian GNU/Linux on my Sony VAIO VGN-S170 (PCG-6C2L). I suspect that much of this information is equally useful to those with the Sony VAIO VGN-S150, and the newer VGN-S2xx, but I cannot be certain.

Last modified: Tue Oct 19 16:09:15 EDT 2004

Contents

Preface

The information herein is believed to be accurate, but I make no guarantees. Use this guide at your own risk. You have been warned. Your mileage may vary, etc.

Many of my experiences with the Sony VAIO VGN S170 were guided by Daniel Malea's experiences installing Gentoo on a VGN S150 at: http://gentoosonys.tripod.com/. So many thanks to Daniel, and be sure to check his page out for more ideas/options/configurations.

Thanks to Mike Hommey for his helpful contributions and suggestions.

Thanks to Peter Osterlund for helping me find his patch for the Alps Glidepoint.

Change Log

19-Oct-2004:

21-Sept-2004:

Back to the top

Basic Hardware Specs/Status:

Hardware Components

Status Under Linux

Notes

Pentium®M (Dothan) Processor, 1.7 GHz

Works

No special procedure required during installation.

13.3 inch WXGA TFT Display with XBRITE (1280x800)

Works

No special procedure required during installation.

ATI Radeon Mobility 9700 Video w/ 64 MB

Works

More info

512 MB DDR-SDRAM, 333 MHz, 256 MBx2

Works

No special procedure required during installation

60 GB, 4200 RPM, Ultra ATA Hard Drive (TOSHIBA MK6025GAS)

Works

No special procedure required during installation

Intel Pro/100 Network Card

Works

More Info

56 kbps Modem

Untested

 

24X DVD/CDRW (Matsushita UJDA755)

Works

No special procedure required during installation

Intel Pro/2200BG Wireless Networking (rev 05)

Works

More Info

Lithium-Ion Battery (VGP-BPS2, standard capacity)

Works

No special procedure required during installation

Intel 810 Sound

Works

More Info

Back to the top

Installation Steps

Update 2004-Oct-19:These steps are most likely now obsolete. See the installation notes for more information.

Please note that this installation is a bit unorthodox, as I used an Orinoco wireless card to actually complete the installation. These means that this process may not work for you (sorry). Please see the notes at the end of this section as well. These steps are not meant to be exhaustive. If you need help installing Debian, check out the Debian installation manual at: http://www.debian.org/doc/user-manuals#install.
  1. Boot the Windows that comes pre-installed. (It's icky, I know.)
  2. Download the Debian Netboot ISO from http://cdimage.debian.org/pub/cdimage-testing/sarge_d-i/i386/rc1/sarge-i386-netinst.iso.
  3. Burn the Debian Netboot ISO with Alex Feiman's ISO Recorder (or your choice of burning software).
  4. Boot off of the Debian Netboot ISO CD-ROM. Select the bf24 kernel image for installation. The trick here was that the bf24 kernel shipping at the time (Aug 30th, 2004), did not include any ethernet drivers that support the built-in ethernet devices. I suspect that this will change in the near future. Be sure to read the installation notes as well.
  5. Since the machine comes with an ~36GB partition that is empty, I decided to partition that space for Linux to use.
  6. Once the base system is installed, boot it.
  7. Insert the Orinoco card. Make sure the necessary modules get loaded.
  8. Since I didn't have iwconfig tools to setup WEP, I had to temporarily set my WAP to broadcast its SSID, and disable WEP.
  9. Once the Orinoco wireless interface is up, associated and has an IP address, I edited my /etc/apt/sources.list to point to the unstable sources.
  10. apt-get update
  11. apt-get dist-upgrade
  12. apt-get install <all sorts of pacakges here> Notably: wireless-tools, kernel-image-2.6-686, hotplug and sudo.
  13. Reboot to the 2.6 kernel.

At this point you have a working system.

Installation Notes

Update 19-Oct-2004:I have since used a newer version of the Debian Netinst ISO on a different (desktop) machine, and it worked like a charm, so I suspect the problems I orignally had with the Debian Netinst ISO no longer apply.

Update 21-Sept-2004: Mike Hommey <mh at glandium dot org> noted that he was able to use the linux26 kernel from the Debian Sarge CD-ROM Disc 1. He said it worked like a charm. I tried the linux26 install on the Debian Netinst ISO (which was still in beta, to be fair), but the version I had seemed to be lacking IDE drivers. This was of course a significant problem. Hopefully they've been added back in, and simply using the linux26 kernel will get you around most of the tricky stuff above.

Back to the top

Wireless Ethernet

You can get the Open Source Intel Pro Wireless 2200 drivers from http://ipw2200.sf.net/. Follow the instructions to build and install them. Don't forget to get the firmware as well! I had no issues with this step. The drivers are fairly functional as of 21-Sept-2004. They support 802.11b/g speeds, WEP, and non-broadcasting SSIDs. I personally have had the 0.4, 0.5 and 0.7 drivers working fine. Once you have these installed, make sure you check out waproamd.

Update 19-Oct-2004: I've since tried the 0.11 drivers as well, and had a few problems associating with my Linksys WRT54G Wireless Router. I suspect my problems are do to my having the SSID Broadcast disabled. I've reverted to the 0.7 drivers and things are still running just fine there.

Back to the top

ATI Radeon Mobility 9700

FGLRX Drivers

Strictly speaking, this step is optional, as the default X ATI drivers are fully adequate and fast for normal use. However, if you intend to use any 3D apps, or are anxiously awaiting the Doom 3 Linux port, you'll want to install these. If you're using a Debian kernel, head over to http://xoomer.virgilio.it/flavio.stanchina/debian/fglrx-installer.html and get the Debian packages. Even if you're not using a Debian kernel, that is probably the easiest way to get all the pieces. Read and follow the instructions on that site carefully. I mean it. I'm dumb, and so I screwed this step up many many times.

Radeon FB

This device works well, and will give you the full 1280x800 resolution that the built-in LCD is capable of. However, the Radeon FB device and the FGLRX drivers don't work well together, and you may experience lockups when switching from X to console or vice-versa.

VGA16 FB

One workaround to the FGLRX/Radeon FB problem is to use the VGA16 framebuffer device. The VGA16 FB device is undoubtedly a bit slower than the Radeon FB, but if you're like me, you're in X most of the time anyway. Using the VGA16 FB, I also added a “vga=0x318” line to my kernel command line, so I have 1024x768 resolution for my consoles.

VESA FB

Since 14-Oct-2004, I've been using the VESA FB device. I've added “video=vesafb:nomtrr” to my kernel command line, which helps the VESA FB stay off of the FGLRX drivers' toes. I've looked into the vesafb-tng project
(http://dev.gentoo.org/~spock/projects/vesafb-tng/), I was hoping to get the full 1280x800 resolution, but I was unable to do so. I have not spent a lot of time on it however, perhaps in the future I'll get it to work.

Update 21-Sept-2004: As it turns out, the FGLRX drivers do not work well with Software Suspend. I'm back to using the radeon framebuffer, and the XFree86 built-in ATI drivers. I keep an XF86Config-4 file ready to go with FGLRX in case I need to play Unreal Tournament or something else.

Update 19-Oct-2004: I've also found that once I start X using the FGLRX drivers, even if I then stop X and remove the module, you'll almost certainly lock up when entering X using the built-in ati driver.

Back to the top

ACPI

The ACPI support in the S170 isn't too bad. The following devices are present:

I had to turn off APIC control in my kernel in order to get the machine to turn off (i.e. shutdown -h) properly. I think this also might have been part of my early failures in using software suspend. Try passing the “nolapic” kernel option at boot, or build a custom kernel. I have also added the latest ACPI patch, available at: http://acpi.sf.net/.

Be sure to check out http://acpi.sourceforge.net/documentation/index.html for information on how to throttle your CPU, or react to ACPI events. Also be sure to install the Debian acpi package, and poke around in /etc/acpi. There you'll find example scripts for various things. If you're like me, you might want to setup some ACPI scripts to dim the LCD and throttle the CPU when running on battery, and return to their previous values when the AC is plugged back in.

Also, I was unable to get the S3 state (suspend to RAM, or standby) to function properly. By removing the ehci-hcd module, the system would enter the S3 state, however, when I press a key to awaken the system, it seems to hang. The screen doesn't come back, though with some configurations I could still manipulate the keyboard (and so properly reboot). As far as I can tell, this is unfortunately not uncommon with VAIO laptops under Linux. We can only hope that the master hackers working on Linux ACPI will figure this out. This is one of the biggest bummers about Linux on this system in my opinion. At least S4 (suspend to disk) can be implemented.

Back to the top

Built-in Ethernet

The built-in ethernet is supported by the e100 kernel module. I believe the eepro100 driver (by Donald Becker) also works, though I haven't tried it yet.

Back to the top

Sound

Sound is handled well by the snd-intel8x0 drivers in the current ALSA. If you're using a Debian kernel, all you have to do is “apt-get install alsa”, then “modprobe snd-intel8x0”. Be sure to unmute the master and PCM channels. Then mute the “External Amplifier” channel.

Back to the top

Software Suspend (S4, Suspend to Disk)

If you feel like building a custom kernel, you might check out http://softwaresuspend.berlios.de/. I started with the ACPI patches mentioned above and turning off APIC in my kernel. Then I followed the instructions on the software suspend site, and it worked like a charm. Before I had the ACPI patched kernel and the APIC disabled, I could hibernate the system, but it refused to unhibernate.

Here's a copy of my hibernate.conf as of Sep 8th, 2004. If you copy this file, make sure you edit it to match your system!

After installing a software suspend enabled kernel, I edited my ACPI scripts to hibernate when the power button was pressed. You could also have it do so when the lid is closed. Using SonyPID, you can hibernate when the S1 or S2 buttons are pressed.

Update 21-Sept-2004: Please note that at this time, I have not gotten software suspend to work with the ATI FGLRX driver.

Back to the top

Sony Programmable Interface Daemon

There's a little IO chip in most VAIOs that allows one to control the screen brightness as well as react to the function key combinations and the S1 and S2 buttons on the S170. There are three pieces you're likely to be interested in:

  1. spicctrl
  2. sonypid
  3. sonypid (the kernel config option)

Information on all three is available at http://popies.net/sonypi/. You might also note that there is a Debian package for spicctrl, so you can apt-get that one if you want. I wrote myself a little custom sonypid. I recommend that you grab the example package, and take a look at it. Its pretty simple to roll your own if you so choose.

Back to the top

Alps Touchpad (Glidepoint) Enhanced Driver

If you've used this laptop under Windows much at all, you know that the touchpad has some interesting features that are not there by default in Linux. The good news is that if you want them, they can be added. First you have to get and install the Synaptics touchpad drivers for XFree86/Xorg available here: http://w1.894.telia.com/~u89404340/touchpad/index.html. Now, before you go off and recompile your kernel, you'll need this patch as well: http://marc.theaimsgroup.com/?l=linux-kernel&m=109104309904873&w=2. With both of these patches applied, and the recommended X settings from the README.alps file distributed with the synaptics drivers, I have a scrolling, gesturing touchpad, just like in Windows. If you're not used to this behavior, it can take a while to get used to, and you might not even want to bother. Peter Osterlund, who wrote the patches above, has informed me that he plans to have them merged together, so you'll only have to apply one patch in the future.

Back to the top

Contact Info

Have questions or comments? Let me know: <ericw at xmtp dot net>. I can't promise a response, but I'll do my best.

Back to the top