I have a Sony Vaio PCG-C1XF running Redhat 7.2 Linux with a 2.4.16 kernel. Also called the "Picturebook", the PCG-C1XF is the Japanese keyboard version of Sony's half-height screen laptop. There is a camera built into the top of the tft, 56k Winmodem, 12gig disk and memory that maxes out at 128 megs.

Internet access is via ADSL attached to a Sony PCWA-A100 access point and PCWA-C100 wireless pcmcia card. The card is essentially a rebranded lucent implementation of 802.11 so the standard wvlan_cs.o driver works fine.

Following are working notes kept while I sorted my preferred configuration. The main technical details should be relevant to configuring your "Picturebook" but note that some things are simply personal preference.

Install Base OS

After burning a rh-7.2 iso and installed. Did misc. customizations including:

Kernel

        fixed kernel
        	fresh untar latest kernel linux-2.4.16  
        	grab .config from previous
        	make xconfig
        	make depend
        	make install
        	make modules
        	make modules_install
        

PCMCIA and Wireless

While the 2.4.X series kernels now integrate more of the PCMCIA support into the kernel, quite a few drivers remain (and likely will continue to do so) in the pcmcia-cs package. For my configuration, the key driver I need was the wvlan_cs for Lucent Chipset 802.11 wireless cards.

So far wireless support, the first step was to compile and install the lastest pcmcia package, pcmcia-cs-3.1.29 as of this writing. Untar pcmcia package into /usr/src/linux and then:

                cd /usr/src/linux/pcmcia-cs-3.1.29
        	make configure
        	make all
        	make install
        	cd clients
        	make
        	make install
        	cd ../wireless
        	make
        	make install
        	depmod -a
        	/etc/rc.d/init.d/pcmcia stop
        	/etc/rc.d/init.d/pcmcia start
        
to install the driver for my PCWA-C100 (among other things).

Then, make certain that /etc/pcmcia/config contains a clause similar to:

        card "Intersil PRISM2 11 Mbps Wireless Adapter"
          manfid 0x0156, 0x0002
          bind "wvlan_cs"
        
and then configure /etc/pcmcia/wireless.opts with the following script, substituting your access point's password for yourpasswordhere:
        case "$ADDRESS" in
            # Sony Branded Lucent Wavelan
            # Note : wvlan_cs driver only, and version 1.0.4+ for encryption support
            *,*,*,08:00:46:*)
            INFO="VAIO Wavelan Clone"
        
            # ESSID (extended network name) : My Network, any
            ESSID="any"
            # NWID/Domain (cell identifier) : 89AB, 100, off
            NWID=""
            # Operation mode : Ad-Hoc, Managed, Master, Repeater, Secondary, auto
            MODE="Managed"
            # Frequency or channel : 1, 2, 3 (channel) ; 2.422G, 2.46G (frequency)
            FREQ=""
            CHANNEL=""
            # Sensitivity (cell size + roaming speed) : 1, 2, 3 ; -70 (dBm)
            SENS=""
            # Bit rate : auto, 1M, 11M
            RATE="auto"
            # Encryption key : 4567-89AB-CD, s:password
            KEY="s:yourpasswordhere"
            # RTS threshold : off, 500
            RTS=""
            # Fragmentation threshold : off, 1000
            FRAG=""
            # Other iwconfig parameters : power off, ap 01:23:45:67:89:AB
            IWCONFIG=""
            # iwspy parameters : + 01:23:45:67:89:AB
            IWSPY=""
            # iwpriv parameters : set_port 2, set_histo 50 60
            IWPRIV=""
            ;;
        esac
        

GPM

If you want both the built in "knob" mouse as well as any USB mouse that happen to be attached to work with gpm, your /etc/sysconfig/gpm should look something like this:

           # Additional options for gpm (e.g. acceleration), device
           OPTIONS="-tps2 -m/dev/input/mice -M"
           DEVICE="/dev/mouse"
        

Sound

Last time I looked closely, the standard kernel did not have the necessary driver support for sound on the pcg-c1xf. For that and other reasons, I turned to the " Advanced Linux Sound Architecture" project for the necessary drivers and support utilities. FYI, since I installed this package, the ALSA folks have subsequently declared version 0.5.12a to be the latest stable release:

        	fresh untar latest alsa alsa-driver-0.5.9c.tar into /usr/src/linux
        	cd /usr/src/linux/alsa-driver-0.5.9c
        	./configure
        	make install
        	add to /etc/conf.modules (if not already there):
        	   --- clip here ---
        	   # ALSA portion
        	   alias char-major-116 snd
        	   alias snd-card-0 snd-card-ymfpci
        	   # OSS/Free portion
        	   alias char-major-14 soundcore
        	   alias sound-slot-0 snd-card-0
        	   alias sound-service-0-0 snd-mixer-oss
        	   alias sound-service-0-1 snd-seq-oss
        	   alias sound-service-0-3 snd-pcm-oss
        	   alias sound-service-0-12 snd-pcm-oss
        	   --- clip here ---
        

Note that at the time, after compile, depmod -a complained about missing symbols in the following:

In the name of expediency, I simply removed these files by hand since I don't use them but there was probably some option turned on the the ALSA tree or perhaps the kernel sources themselves that was triggering this. Need to see if latest release has this problem.

To set default volume, added following to /etc/rc.d/rc.local:

        	/sbin/modprobe snd-pcm-oss
        	
        	/usr/bin/amixer set Master on
        	/usr/bin/amixer set PCM on
        	
        	/usr/bin/amixer set Master 20
        	/usr/bin/amixer set PCM 20
        

Since I was already mucking with rc.local anyways and plenty tired of the harddrive constantly running, I also dropped in the following:

        	echo Optimzing /dev/hda
        	/sbin/hdparm -S 5 /dev/hda
        

The alsa sound drivers don't handle laptop suspension; device state gets lost after the first suspension and since they don't notice the suspension, sound silently falls silent. Fortunately, all we have to do is make a /etc/sysconfig/apm-scripts script like the following:

        	#!/bin/bash
        	/usr/bin/logger APMCONT: $*
        	
        	case $* in
        	        resume)
        	                /etc/rc.d/init.d/alsasound restart
        	                /sbin/hdparm -S 5 /dev/hda
        	                ;;
        	esac
        

Note that hdparm and ide drives suffer the same sort of loss of settings during suspension, so I also added the same hdparm command used in rc.local

IEEE1394 support

The code in the default 2.4.0 release is broken; you can update the sources by:

        	su
        	cd /usr/src/linux/drivers
        	mv ieee1394 ieee1394.old
        	cvs -d:pserver:anonymous@cvs.linux1394.sourceforge.net:/cvsroot/linux1394 login
        	(nb: press Enter when prompted for a password)
        	cvs -z3 -d:pserver:anonymous@cvs.linux1394.sourceforge.net:/cvsroot/linux1394 co ieee1394
        	cd /usr/src/linux
        	make xconfig
        

Turn on ieee1394 support, compile ohci as a module. This module of vaio uses the CXD3222 chip which is ohci compliant:

        	make modules;make modules_install
        	mknod -m 666 /dev/video1394 c 172 0
        	for i in raw1394 ohci1394 ieee1394; do rmmod $i;done
        	for i in ohci1394 raw1394; do modprobe $i;done
        

/dev/sonypi

Support for the Sony jogdial, camera and other Vaio specific features was quite primitive until the folks at Alcove Labs reverse engineered Sony's driver to produce a Linux driver. This driver provides a /dev/sonypi device file interface to the Sony Programmable I/O Control Device which manages a variety of functions on Vaio laptops including the "jogdial" and the "motion eye" built-in camera. This driver has been integrated into the official linux kernel since 2.4.7.

Detailed instructions on how to use this device along with pointers to some utilities are available by clicking on /dev/sonypi.

JOG dial

The above device having been installed, utilities are available that will allow you to make use of it:

Useful links for jogdial:

Camera

As with the sonypi driver, changes to video4linux driver were integrated into the official since 2.4.7. Information on configuration may be found on the video4linux driver page.

Alternatively, there is a user mode camera capture program available called capture which works with my pcg-c1xf and several other models of pcg-c1.

Suspend to Disk

You can use lphdisk to set up a suspend-to-disk partition. Alternatively, if you like playing russian roulette with you partition tables, there is the phdisk.exe utility from Phoenix Technologies, makers of the NoteBIOS used on this VAIO.