Linux on the Sony Vaio PCG-C1XS and the Sony Vaio PCG-F680
Last updated on May 16, 2002 to include information on the Conexant
modem driver. Stay tuned for an update of this page to include more new
information about the camera, the Fn key, the Capture button, and the Jog
Dial.
This document is somewhat Red Hat
centric. Many of the tips contained herein may be useful for all laptops and
will most certainly be useful for other Sony laptop models.
The Kernel
You can install Linux on either of these machines without any kernel work
whatsoever, but the best part of the Linux system is the ability to compile
your own kernel with exactly those features you're interested in. You
will have to compile your own kernel if you're interested in getting
the C1XS's USB floppy drive to work, because distributions have not yet caught
up with this new feature.
On my C1XS, I am running 2.2.18 with the following patch:
I have not yet tried this patch with 2.2.18:
Here is my 2.2.18 .config (tested unmodified on my
C1XS and tested on my F680 with CONFIG_PCI_OLD_PROC and CONFIG_USB_STORAGE
turned off) and my 2.4.1 .config (tested only on my
F680). As far as I know, the C1XS and the F680 are identical where they share
hardware. You can use the same .config on both machines, except that you don't
need to enable CONFIG_USB_STORAGE for the F680 unless you purchase a USB
storage device for it. I suppose you could leave out the serial and parallel
drivers on the C1XS, though you might wind up purchasing PCMCIA cards and/or
USB components that will use them. (I left the serial driver enabled on the
C1XS because I use a PCMCIA modem).
2.2.x logs this warning on my C1XS, but not my F680:
Uhhuh. NMI received for unknown reason 20.
Dazed and confused, but trying to continue
Do you have a strange power saving mode enabled?
It does not appear to affect system stability. I have also enabled
CONFIG_APM_REAL_MODE_POWER_OFF because occasionally I get freezes just as the
machines halt/reboot. This appears to neither help nor cause any harm with
either machine with 2.2.18 or with the F680 with 2.4.1.
Plug & Play O/S
If you're running 2.2.x, you must boot with this BIOS option turned off.
Windows must have it turned on or else the software modem won't work (among
other things). Leaving this option on can cause USB, ALSA, and/or PCMCIA to
not work under Linux. You may also need to completely halt the machine when
going between Windows and Linux (presumably to reset Plug & Play settings).
You don't have to turn off Plug & Play O/S with 2.4.1 anymore. I still have to
halt the F680 when switching between Windows ME and Linux. There does appear
to be a strange interaction in 2.4.1 between ALSA and the in-kernel PCMCIA
drivers. My F680 crashes unless I comment out the following lines from
/etc/rc.d/rc.sysinit and insure that the alsasound service is started
after pcmcia:
alias=`egrep -s "^alias[[:space:]]+sound-slot-0[[:space:]]+" /etc/modules.conf | awk '{ print $3 }'`
if [ -n "$alias" -a "$alias" != "off" ] ; then
action "Loading sound module ($alias): " modprobe $alias
RETURN=$?
fi
You don't need any of the sound driver setup routines in rc.sysinit anyway,
since the alsasound script takes care of all of this for you. It's pretty safe
just to remove the entire "over-engineered" sound module handling section.
i.Link
According to the Linux IEEE 1394
Project, the CXD3222 controller present in both machines should be
supported, but I do not yet have any i.Link devices to try out. It should be
possible to connect two i.Link equipped laptops for things like high-speed
FTP. See above for more information.
IrDA
First, be sure you haven't modified the default IrDA settings (io=0x3e8,
irq=10, dma=0). Then, add the following to your /etc/conf.modules or
/etc/modules.conf:
alias irda0 nsc-ircc
alias char-major-160 irda0
alias char-major-161 ircomm-tty
options nsc-ircc dongle_id=0x09 io=0x3e8,0x3e8,0x3e8,0x3e8 irq=10,10,10,10
You will need to add the following to your /etc/rc.d/rc.local:
setserial /dev/ttyS2 uart none
You should probably add
exclude irq 10
to /etc/pcmcia/config.opts to be on the safe side. (I had IRQ conflicts on the
F680 but not on the C1XS.)
To start communicating with a device, run the following:
irattach irda0 -s
I don't recommend running this all the time because it will constantly send out
infrared pulses, wasting power.
To perform an infrared HotSync with the Handspring Visor or the Visor Deluxe
you will need to obtain IrLink from IS/Complete. Be sure to carefully follow
the installation instructions. (If you own a newer model such as the Visor
Pro, you do not need to install IrLink.) Next you must create a symlink from
/dev/pilot to /dev/ircomm0. (Use "mknod -m 666 /dev/ircomm0 c 161 0" if you're
missing /dev/ircomm0). Now you can use pilot-link or any of its associated
front ends.
USB
So far I've gotten the USB floppy drive (both tested), a USB scroll mouse (both
tested), a USB keyboard (both tested), and the USB Handspring Visor cradle
(C1XS tested) to work. (To perform a HotSync, make sure /dev/pilot is a
symlink to /dev/ttyUSB1. You can create /dev/ttyUSB1 with "mknod -m 666
/dev/ttyUSB1 c 188 1".)
Here are my C1XS's XFree86 3.x XF86Config and my
F680's XFree86 3.x XF86Config configured for
the laptops' respective built-in pointing devices and an external USB scroll
mouse. (The external mouse need not be connected. It will automagically work
when attached). If you choose to use a USB scroll mouse, be sure that
/dev/input/mice exists (already present in Red Hat 7.0). To create it, run:
cd /dev
mkdir input
chmod 755 input
cd input
mknod -m 666 mice c 13 63
I just switched to XFree86 4.0.2 on my F680 because 3.3.6 performed like a real
turkey. (I was unable to get XFree86 4.0.1 to work). If you're using Red Hat
7.0, you can grab XFree86 4.0.2 from Rawhide. If you don't know what I'm
talking about, you should probably stick with XFree86 3.3.6. In any case, here
is my XF86Config. It was generated by Xconfigurator
and modified by me after considerable research.
Also, gpm is supposed to be able to multiplex the two devices but it doesn't
so you can either configure it in the standard way to use the built-in PS/2 two
or three button device or remove /etc/rc.d/rc?.d/S??gpm and add the following
to your /etc/rc.d/rc.local to only enable the external mouse:
gpm -t imps2 -m /dev/input/mice
Depending upon which USB devices you actually want to use, you can add the
following to your /etc/rc.d/rc.local:
# USB driver.
modprobe usb-uhci
# USB keyboard driver.
modprobe keybdev
modprobe usbkbd
# USB mouse driver.
modprobe mousedev
modprobe usbmouse
# USB storage driver (for the USB floppy).
modprobe usb-storage
Here is the entry you will need to add to /etc/fstab for the USB floppy:
/dev/sda /mnt/floppy vfat noauto 0 0
Now you can mount /mnt/floppy as usual. Of note is that the USB floppy behaves
like a SCSI hard disk, so you have to make sure you've enabled both SCSI and
SCSI hard disks.
You will need this Netscape application defaults file
for the scroll mouse to work under Netscape 4.x and earlier. Normally you
will need to set XUSERFILESEARCHPATH to $HOME/lib/app-defaults/%N and copy this
file to that location. Mozilla and Netscape 6.x work correctly with the scroll
mouse as shipped.
Sound
I recommend ALSA for sound support,
though there are one commercial and two in-kernel alternatives.
Here is the relevant snippet of my /etc/conf.modules:
alias char-major-116 snd
alias char-major-14 soundcore
alias snd-card-0 snd-card-ymfpci
alias snd-card-1 off
alias snd-card-2 off
alias snd-card-3 off
alias snd-card-4 off
alias snd-card-5 off
alias snd-card-6 off
alias snd-card-7 off
alias sound-slot-0 snd-card-0
alias sound-slot-0 off
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-8 snd-seq-oss
alias sound-service-0-12 snd-pcm-oss
alias sound-service-1-0 off
Both laptops have the same sound chip, though the sound quality of the F680's
internal speakers is orders of magnitude better.
Be sure to set your mixer levels some time between when the machine boots and
when you need to use sound, since the ALSA drivers reset the mixer levels to
zero when they're first loaded. You can add gmix --initonly to your GNOME
startup applications list to correct this problem.
Power Management (APM/ACPI)
I haven't played around much with power management, because I use both machines
as mobile desktops. See below for utilities to dim the backlight.
Conexant Software Modem
Drivers are now available from Conexant.
When prompted, select linux_hsf.inf. I have only tested my F680 with the
2.4.18 kernel.
PCMCIA
You may want to install the latest version of the PCMCIA driver if you have trouble
with your PCMCIA card(s). I recommend the Linksys PCMLM56 combo card for the
C1XS. Installed in my F680 I have a US Robotics 28.8 Sportster modem and a
LinkSys Network Everywhere NP100 10/100 Ethernet card. Both the Ethernet card
and the modem work fine with the 2.4.1 in-kernel driver. Some bugs still
remain, however, because removing the modem hangs 2.4.1. Attempting to stop
and restart the pcmcia service hangs 2.4.1. Also, the NetGear FA510 CardBus
Ethernet adapter I tried which worked with 2.2.x does not work with 2.4.1. For
now, I recommend sticking with the standalone driver.
Sony Programmable I/O Controller
If you're running 2.4.x, I recommend enabling the CONFIG_SONYPI option and
obtaining these utilites to control
the the backlight, among other things.
Backlight
You can dim the backlight on both laptops to reduce battery consumption using
this utility.
C1XS Jog Dial
Takaya Kinjo has written a utility
to use the Jog Dial under Linux. It includes a device driver for 2.2.x and a
simple Gtk+ user interface. It might be possible to use the Jog Dial as a
mouse wheel in XFree86, though Takaya's utility emulates the Jog Dial's
behavior in Windows.
C1XS Motion Eye Camera
Also of interest is the camera
driver for the C1XS. The camera driver utilizes the Capture button and the
Jog Dial.
F680 ALPS Glidepad/Stickpointer
You can turn off "tap mode" using this utility.
F680 DVD-ROM
xine works very well. You
will also need this plugin to actually play
DVD's. GATOS provides Xv
support for the video card. Xv can speed up DVD playback. I strongly
recommend XFree86 4.2 if you decide to use GATOS.
Installing Red Hat Linux 7.x on the F680
Note that you can install Red Hat Linux 7.x on the empty extended partition
without making any changes to your Windows ME partition. (You didn't pay extra
for Windows 2000, did you?) For simplicity's sake, I recommend splitting the
partition into two parts. I created an approximately 400 MB swap partition and
I devoted the rest to ext2fs. During the installation process, you will need
to make a boot floppy to boot Linux for the first time. Once you have the
system up and running, you just need to add the "lba32" option to your
/etc/lilo.conf and rerun lilo. From now on, you will be able to boot Linux
without a floppy.
Links
- Linux on
Laptops - Be sure to read all of the Vaio links, because these
laptops share a lot of components in common.
Please direct any questions or comments to jgotts@linuxsavvy.com.
[Home]