Linux on the Sony Vaio PCG-Z600NEK

Sony Vaio PCG-Z600NEK This page documents the constantly refined process of getting the Linux Operationg System running on the Sony Vaio PCG-Z600NEK laptop. While this page does not claim to be a guide on how to install Linux in general, it hopefully should explain how to solve the problems that appear as a result of the hardware found in these machines.

Throughout this page, I'll assume that the reader has a basic understanding of Linux, and its associated practices and terminology.

The model that I personally own has the following specifications:

I've replaced the wimpy PCGA-BPZ51 standard battery with the much beefier (and heavier) PCGA-BPZ52 extended battery. I also have the following accessories:

Installation

I have currently installed Fedora Core 1 on the machine.

To boot from the external CDROM drive, it is best to insert it before powering the machine up, the BIOS will then include it as a possible boot medium. Pressing <Esc> while the "Sony" logo is displayed will bring up a menu of available boot media, selecting "ATAPI CD-ROM Drive" will hopefully start booting from your install CD.

I'd also recommend ACPI "OS Control" and "Plug & Play O/S" are turned on in the BIOS if they're not already.

If you're given an opportunity to add extra parameters to the kernel, then I'd recommend the following:

boot: linux ide2=0x180,0x386 pci=off

…which will force the kernel to include the CDROM drive as a regular connected IDE device, (most often /dev/hde), which is enough connectivity to install directly from the CD without having to resort to loading PCMCIA modules as well.

Power Manglement

The APM BIOS is broken on this model in that the battery status is misreported, because the status bytes are in the wrong order or some such reason. 2.4.17-pre8 and later kernels however, have this model blacklisted and it's worked around manually to report the battery status correctly.

ACPI can be enabled instead under Fedora by appending acpi=force to the kernel arguments in /boot/grub/grub.conf (needs to be "force" rather than just "on", because the ACPI BIOS is older than Linux will normally accept, but it appears to work fine).

APM seems to be recommended if you want a better software suspend, but I've gone for ACPI as I rarely suspend.

Pointing Device

The built-in ALPS Glidepoint works as a standard PS/2 device, which behaves as a standard mouse, no extra features.

The Synaptics Touchpad driver for XFree86 now supports ALPS Glidepoint devices under the 2.4.x kernel, which allows you to use all of the touchpad features.

I've packaged up the driver suitable for Fedora, and it's available at the bottom of this page. You will need to alter the following section in /etc/X11/XF86Config:

Section "InputDevice"
        Identifier  "Mouse0"
        #Driver      "mouse"
        Driver      "synaptics"
        #Option      "Protocol" "GlidePointPS/2"
        Option      "Protocol" "alps"
        Option      "Device" "/dev/psaux"
        #Option      "ZAxisMapping" "4 5"
        Option      "Emulate3Buttons" "yes"
        Option      "LeftEdge" "60"
        Option      "RightEdge" "830"
        Option      "TopEdge" "70"
        Option      "BottomEdge" "650"
        Option      "FingerLow" "25"
        Option      "FingerHigh" "30"
        Option      "MaxTapTime" "180"
        Option      "MaxTapMove" "110"
        Option      "EmulateMidButtonTime" "75"
        Option      "VertScrollDelta" "50"
        Option      "HorizScrollDelta" "50"
        Option      "MinSpeed" "0.2"
        Option      "MaxSpeed" "0.5"
        Option      "AccelFactor" "0.01"
        Option      "EdgeMotionSpeed" "40"
        Option      "UpDownScrolling" "1"
        Option      "TouchpadOff" "0"
EndSection

This should allow most of the features to work, including vertical and horizontal scroll areas, most handy.

Extra USB mice such as the PCGA-UMS1 can be plugged in and work automatically under X Windows.

Onboard LAN

The built-in 100BaseTX Ethernet port is an Intel EtherExpress Pro 100 device and so works with either the e100 or eepro100 module.

There appears to be an issue with warm-booting after using the port, the next time the driver is loaded the machine locks up. Powering down and back up again works fine.

PCMCIA

The Ricoh PCMCIA controller is fully supported. The PCGA-CD51 16x CDROM Drive works and is identified as a "Toshiba XM-1902B/Ninja ATA". I've also used a variety of Bluetooth, SCSI, and (Wireless) Ethernet cards with no obvious problems.

X Windows

The NeoMagic NM2380 chipset works although running at 24-bit colour depth produces some slight corruption on the screen, so 16-bit is the best to use (Fedora uses this by default it would seem).

If you wish to use the VESA framebuffer console, it doesn't seem to clash at all with X Windows, so you can run both simultaneously no problem.

Audio

Although the Yamaha DS-XG chip may be supported by the built-in kernel drivers, I am using the ALSA drivers as packaged by freshrpms.net project instead.

The snd-ymfpci ALSA driver is used and audio works as well as the crap integrated speakers allow.

USB

The USB controller is of the UHCI variety and works perfectly. I've used the PCGA-UFD5 3½" floppy drive as well as numerous flash storage devices without problems.

IrDA

The IR chip found in the Vaio appears to be supported by the National Semiconductor NSC PC87108/PC87338 driver. A bit of trial & error is needed to get the correct dongle.

Make sure /etc/sysconfig/irda is as follows:

IRDA=yes
DEVICE=irda0
DISCOVERY=yes

And add to /etc/modules.conf:

alias irda0 nsc-ircc
options nsc-ircc dongle_id=0x09
pre-install nsc-ircc setserial /dev/ttyS2 uart none

This chooses the "IBM31T1100 or Temic TFDS6000/TFDS6500" dongle which seems to work best. The kernel serial driver picks up the IR hardware as a simple serial device on boot, so you need to turn it off again with setserial(8) otherwise it blocks the proper driver from loading.

Jogwheel

The Jogwheel found on practically all Sony Vaio Laptops and PDAs, can be put to use under Linux too, thanks to the sonypi driver, which provides a /dev/(misc/)sonypi device for us to interface with this piece of proprietary hardware.

The latest releases of the driver as found in the Fedora kernel can use the Linux Input layer, so just loading the sonypi module alone gives you a scroll wheel and a middle mouse button automatically.

Alternatively you can use one of the numerous projects such as S-Jog which works under X to provide the same scroll wheel functionality as well as a small customisable menu on pressing the Jogwheel, including access to both the screen brightness and volume control.

On Fedora, you will need to make the necessary device node:

$ mknod /dev/sonypi c 10 63

…and make sure the Linux Input layer is disabled, by adding the following to /etc/modules.conf:

options sonypi useinput=0

…otherwise you'll get the scroll wheel events from both the Linux Input layer and S-Jog.

i.Link/FireWire/IEEE1394

The i.Link hardware appears to be supported using the ohci1394 drivers. I've used the eth1394 "Ethernet-over-Firewire" driver for a simple 400Mbps network link to my desktop Linux box, nice and fast. A LaCie d2 160GB disk also worked when I tested it.

Modem

The Conexant Modem is a softmodem. Before you get all gloomy, thanks to Linuxant, it's a linmodem too!

Sadly since I last tried the driver, they've altered their business model and started charging for the driver.

I was never that happy with the performance when it was free, so I'm not really bothered with pursuing this much more, I include this for informational reasons only, the driver should work fine.

Memory Stick

There appears to be two main groups of Memory Stick controller used by Sony, a PCI one, and a USB one. The USB-based controller should automagically appear as a device on the USB bus when some media is inserted, and to all intents is working fine under Linux using the SCSI and USB storage drivers. The PCI-based controller isn't supported yet, and as the below output confirms, that's what this laptop has:

-[00]-+-00.0  Intel Corp. 440BX/ZX/DX - 82443BX/ZX/DX Host bridge
      +-01.0-[01]----00.0  Neomagic Corporation NM2380 [MagicMedia 256XL+]
      +-07.0  Intel Corp. 82371AB/EB/MB PIIX4 ISA
      +-07.1  Intel Corp. 82371AB/EB/MB PIIX4 IDE
      +-07.2  Intel Corp. 82371AB/EB/MB PIIX4 USB
      +-07.3  Intel Corp. 82371AB/EB/MB PIIX4 ACPI
      +-08.0  Sony Corporation CXD3222 i.LINK Controller
      +-09.0  Yamaha Corporation YMF-744B [DS-1S Audio Controller]
      +-0a.0  Conexant HSF 56k Data/Fax Modem (Mob WorldW SmartDAA)
      +-0b.0  Intel Corp. 82557/8/9 [Ethernet Pro 100]
      +-0c.0  Ricoh Co Ltd RL5c475
      \-0d.0  Sony Corporation Memory Stick Controller

Bugger.

Conclusions

Overall I'm happy that everything is working fine. Apart from the Memory Stick, I'm satisfied that all the hardware is supported and working (with the exception of the Modem) with OSS drivers.

The suspend-to-disk functionality sadly doesn't seem to exist under the BIOS even though the F12 key quite clearly shows a disk icon and some Zz's! I think Sony scrimped on some cash and didn't bother to get two different keycaps made…

Battery performance used to be a problem with old standard battery, but since forking out a small fortune for the extended battery, it's now pretty good, I can get a good few hours out of it.

Resources

Here are some useful links for PCG-Z600NEK owners:

Files

Fedora Core 1 package of the Synaptics Touchpad driver for XFree86:

(The XFree86-sdk package is missing the /usr/X11R6/lib/Server/include/xisb.h header file. I've added this file back into the XFree86-sdk package to enable the build to work)


© 2006 Matt Dainty
matt@bodgit-n-scarper.com (Public Key: 0x1F97D933)
Valid XHTML 1.1! Valid CSS!