Linux on the Sony VAIO R505JL

Author: Jordan Ritter <jpr5@darkridge.com>
Last updated: December 13, 2002

Hardware Summary

CPU Intel Pentium III 750MHz
RAM 128M (384M max)
Hard disk Toshiba MK1517GAP 15G, UDMA(100) (PIIX4)
Display 12.1" XGA TFT (4M)
Display Chipset Intel 82815 CGC
Audio Chipset Intel 82820 (Camino 2)
Ethernet Chipset Intel 82820 (ICH2)
Modem Chipset Intel 82820 (Camino 2)
USB Chipset Intel 82820 (Camino 2)
IEEE 1394 Texas Instruments
Cardbus Bridge Ricoh Co Ltd RL5c475
IrDA N/A

Linux Compatibility Summary

Software
Kernel 2.4.19
Distribution RedHat Linux 7.2
Hardware
Video Yes SVGA driver
Ethernet Yes eepro100 (becker), e100 (intel)
Sound Yes kernel i8xx driver
APM No ACPI BIOS
ACPI Somewhat Immature ACPI support
Suspend to DISK No ACPI BIOS
Suspend to RAM No ACPI BIOS, missing function key
USB Yes UHCI
IEEE 1394 Yes OHCI1394, RAW1394, SBP2
Jog-Dial Yes /dev/sonypi
Memory Stick Yes /dev/sda
Modem Yes HSF modem
IrDA No No IR Device present
Slimdock Floppy Yes /dev/fd0
Slimdock DVD-ROM Yes /dev/sr0

Foreword

This document describes Linux support for the Sony VAIO PCG-R505JL. Other variants of the R505J* series may or may not be equivalent to the information provided herein. Besides differing CPU speeds/Disk capacities, I imagine that the variants 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

All in all, I like the R505JL. I also own a Z505HS, and compared to that the R505JL is a beautiful design, and the slimdock is pretty slick. This time around, Sony seems to be opting for the multi-function chipsets Intel has been producing for mainboards these days -- apparently one chipset, the Intel ICH (I/O Controller Hub), can now handle modem, audio, video, USB, ethernet, and IDE services. Neat.

Right off the bat, pluses:

Minuses:

The biggest disappointment by far, one that I note is really hidden from prospective buyers, is the lack of a linux-supported hardware suspend-to-memory feature. This comes from the complete drop of APM support, in favor of ACPI. Besides the missing functionality, previous Sony VAIO owners will note that the "Suspend-to-Memory" symbol is conspicuously missing from the Esc key (while the "Suspend-to-Disk" key isn't), casting doubt as to whether the feature was even intended to exist (though the hard-copy manual claims Fn-Esc will suspend the laptop).

So, beware: if you're a user who absolutely must be able to suspend your system, don't buy this model of laptop.

Distribution

In terms of installing Linux, doing an FTP install of RedHat Linux 7.2 went off without a hitch. Download the bootnet.img image, dd it to a floppy, and boot your system from the slimdock floppy. The installation didn't seem comfortable using the GUI (X11) installer, but text mode sufficed just fine.

See the online RedHat documentation for more information.

XFree86

Fortunately, from RHL7.2 the XFree86 installation also went off without a hitch. Anaconda correctly detected all the right settings and output the proper XF86Config-4 file (note the filename). The only modification I had to make was to switch the caps lock with the control key:

      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

Floppy Drive

The floppy drive works normally, as it should, but with two caveats: you must start up while docked in order to use the floppy, and if you undock and re-dock, support for the floppy drive will be lost until you reboot.

Networking

The ethernet chipset bundled with the R505JL is supported by the Donald Becker's Intel EtherExpress Pro/100 driver (the slimdock is just a passthru, not another ethernet device). 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.

If you experience these problems, you can try using the latest Intel e100 driver (version 2.1.6 at the time of this writing), which is available in source form and is a loadable kernel module.

Modem

Much to my surprise, I came across a post on the Linux-Sony mailing list claiming that a modem driver had arrived. Now, all /proc information and linux kernel output would indicate that the modem functionality is being handled by a different chipset, but I decided to try anyway.

And, well, it works. A softmodem in Linux, imagine that. :-)

The link provided is not always up, so try this locally cached copy instead. It may not be the most recent version, but it does work.

Audio

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