JC's Sony VAIO SZ110
Configuration Page 3/24/2006
Other Sony Laptops
Update History
3/24/2006: Original Document
3/25/2006: Updated Mplayer information.
3/25/2006: Added section concerning Suspend to Disk
Introduction
Distribution: Suse 10.0 with an updated (2.6.16) and modified kernel.
Hardware: Standard SZ110 configuration - Intel Core Duo T2400, 1 GB DDR2 Ram, nVidia GeForce Go 7400 w/ 128 MB, 100 GB SATA drive @ 5400 RPM, Combo CD/DVD burner/reader, Wireless 802.11a/b/g using the Intel IPW3945ABG chip, 10/100 MB Ethernet, Native LCD resolution of 1280x800, MotionEye camera and microphone, Intel 82801G Audio based on the STAC7611, Bluetooth, FireWire
Things working: Dual core CPU, Ethernet, Wireless, Sound, X with the X.org nv driver (i.e. 2-D works, 3-D does not), USB, Bluetooth, audio CD playing, CD burning, DVD playback
Things not working: Sony Function Keys (I have made no serious attempts to make these functional as of 3/24/2006.)
Things not yet tested: MotionEye Camera, FireWire, DVD Burning
General Comments
The VAIO SZ110 is a small, very portable laptop. It weighs just a bit over 4 lbs with a 13.3 inch display. The Intel Core Duo CPU provides excellent performance: this machine is fast. Given the performance it is very surprising to me that the machine is also very quiet and very cool: the fan is rarely operational during normal use though it will kick in during a kernel compile. As one would expect from Sony, the display is very crisp with very good colors. My only real complaint, and it is a small complaint, lies with the keyboard. It has a rather cheap, plasticy feel though the keys are full sized and typing presents no problems. All in all, this is one very nice machine.
Base Installation
Ubuntu:
I tried Ubuntu first simply because I had never run it. Ubuntu installed cleanly, including resizing the manufacturer's default NTFS partition. Note that as shipped the hard drive contains a 6GB partition that is used for recovering Windows. As the SZ110 does not ship with recovery/install CDs I chose to leave this partition intact. Sadly, X would only work with the fbdev driver which limited screen resolution to 1024x768. I did not play with this much, so there may be ways around this.
Stock SuSE 10.0:
The stock SuSE 10.0 installation proceeded with no issues. Resizing of NTFS was tested and worked well; remember to defrag Windows before attempting a resize of NTFS. Note that as shipped the hard drive contains a 6GB partition that is used for recovering Windows. As the SZ110 does not ship with recovery/install CDs I chose to leave this partition intact.
The stock installation provides a single CPU kernel; an SMP kernel is required to take advantage of the dual core CPU. The use of dual CPUs can be checked by looking at /proc/cpuinfo. Either roll your own SMP kernel, or use one of the SuSE provided SMP kernels. Note that the install will not detect that the Core Duo is a dual CPU machine.
The following devices worked following the stock installation (the SuSE 2.6.13-15.6 kernel, both single CPU and SMP versions)
Video:
SuSE installed the fbdev X.org driver (SuSE version 6.8.2-100 of X.org). This translated to a 1024x768 resolution, smaller than the native 1280x800
nVidia Binary drivers (version 1.0-8178, the latest available for Linux as of 3/24/2006) almost worked. The GeForce Go 7400 is not supported by this version; hopefully support will be available shortly. Nevertheless, this driver almost works: the display is crisp, though it comes up at a 1280x1024 resolution and I was unable to change this. This resolution causes the bottom 224 pixels to be truncated and scrolling did not appear to be possible. This renders this driver unusable for the time being.
The X.org nv driver works well. It automagically recognizes the display at the native 1280x800 resolution; remember that the nv driver does not provide 3-d acceleration. My xorg.conf file is here: xorg.conf
Ethernet:
The SuSE 10.0 installation incorrectly recognizes the Ethernet chip as a 10/100/1000 MB chip and uses the sk98lin driver. This does not work. Interestingly, both the installation process and Yast2 correctly recognize the chip and use the correct sky2 driver. Replacing sk98lin with sky2 in the appropriate /etc/sysconfig/hardware/hwcfg-bus-??????? file corrects the problem and Ethernet is recognized at boot.
Wireless:
The Intel IPW3945ABG chip is not recognized by the SuSE installation and is not part of the kernel source tree as of yet. Intel does provide a working Linux driver: IPW3945ABG
Sound:
The sound chip is not recognized by the ALSA drivers in this kernel version so sound is not available.
Others:
USB and Bluetooth work without any modifications.
Updates to stock SuSE 10.0 installation
Part of the SuSE installation process is obtaining updates from the Internet for any packages that have changed since the distribution media was locked down. This process updated about 100 packages, including a kernel upgrade to SuSE version 2.6.13-15.8. Installing the updates and the new kernel did not alter the behavior described for the stock install.
Updating and Modifying the Kernel: Making sound work
Warning: The instructions below assume that you are comfortable building a kernel from source. In addition, you will be running some code from the ALSA CVS tree: this CVS code has NOT been rigorously tested. If either of these things makes you uncomfortable, you will likely be better off running without sound. Caveat emptor.
The SZ110 uses an Intel 945GM chipset with the Intel 82801G Audio controller. This audio controller is not supported by the current stable release of ALSA. Sound can be made functional by the installation of two source files from the current (as of 3/22/2006) CVS branch of ALSA:
Download the 2.6.16 kernel source from kernel.org
Download version 1.20 version of patch_sigmatel.c from the ALSA sound CVS archive: patch_sigmatel.c
Download version 1.41 of hda_codec.c from the ALSA sound CVS archive: hda_codec.c
Backup the files hda_codec.c and patch_sigmatel.c (found in sound/pci/hda in your kernel source tree).
Copy the newly downloaded hda_codec.c and patch_sigmatel.c to the sound/pci/hda directory in your kernel source tree.
Build the modified 2.6.16 kernel; my kernel configuration is here: config.jc. This is not a completely optimized configuration as it includes some devices that the machine does not have.
Install the kernel and modules as per usual and modify your boot loader.
Reboot, and use a mixer (alsamixer, for example) to unmute and adjust volume.
At this point playing sounds from your hard disk (ogg, mp3, wav) should function; tested with the KDE sound programs and XMMS.
Sound, CDs, Arts, XMMS, and Mplayer
Arts, CDs, and XMMS
I run KDE which, by default, uses the Arts daemon to multiplex sounds. Neither XMMS nor KsCD could play CDs when Arts was running: the CD would spin, equalizers would dance, but no sound. Disabling Arts in the KDE control panel and reconfiguring XMMS to use libalsa for output solved this problem. Remember to enable Digital Audio Extraction in the XMMS Audio CD plugin (I forgot at first). I have not tested KsCD as I prefer XMMS.
Mplayer
The stable distribution of Mplayer will not build with the gcc version (4.0.2) that is standard on SuSE 10.0. However, the version available in the Mplayer CVS tree does build using gcc 4.0.2.
The resulting Mplayer will play mpeg video and Windows Media Format files from the hard drive; others have not been tested.
DVD playback is more problematic. My single attempt resulted in the machine locking up TIGHT. Unlocking the machine required disconnecting the AC power and pulling out the battery pack. The power button had no effect.
UPDATE 3/25/2006: An RPM package of Mplayer availble from this site (Packman Suse RPMs) provides full functionality including DVD playback. Thanks guys.
ACPI, Sony Function Keys, Power Management, CPU Throttling
I have not yet attempted to customize ACPI so what follows is a description of the standard behavior with the 2.6.16 kernel.
CPU throttling appears to be working as judged by both the KDE laptop tools and the information in /proc. During a kernel compile both CPUs run at 1.83 GHz. When the machine is idling the CPUs run at 1.0 GHz.
Fan control is working: during kernel compiles the fan kicks in, while during more light use the fan is off; this machine does run very very cool and very very quiet.
VAIO specific ACPI support is provided by the sonypi module. I am not sure that this is working at all as the VAIO specific function keys do not work.
This section will be updated as I have time.
Added 3/25/2006: Suspend to Disk
Software Suspend (base swsusp, not swsusp2) is a bit flaky. At times it works perfectly, at others ethernet will not re-initialize. Unloading and reloading the driver has no effect, nor does reconfiguring the network using Yast2. A reboot restores ethernet function.
Because of this flakiness I do not trust the suspend to disk functionality: ethernet functionality is the visible symptom, but that does not mean that everything else is working normally.