VAIOLOGY

Debian GNU/Linux on SONY VAIO PCG-C1XE

Japanese version is here.

I have been using an IBM ThinkPad 600 with Linux more than a year. It is a good machine: enough speed and memory, a large LCD, a usable keyboard, and mostly, enough information for installing and using Linux. My only regret is its weight; too heavy as a simple mail reader on a business trip.

I have tried a SHARP Zaurus, but the display was too small for me. Furthermore, its input interface was not satisfactory since I am a heavy Emacs user.

So I selected the Sony VAIO PCG-C1XE (I do not know whether this model is available outside Japan). 1024x480 LCD and 17mm keys are not wide enough, but tolerable when you consider its weight (1kg).

I then selected Debian-2.1 (Slink) as the Linux package. I am planning to give a try to 2.2 (Potato) in the future. My primary requirements with this small toy are:

  1. reading/writing email with Emacs,
  2. performing presentation with magicpoint, and
  3. Web browing.


Table of Contents


Giving a name

Taking after the famous Daniel Keyes' novel, I named my PCG-C1XE algernon because it is small and smart (and will be dull as the time goes by).


Partitioning the disk

[Warning: all messages were given in Japanese. The messages below are my translation, not Sony's nor Microsoft's.]

To the C1XE, I connected a SONY PCGA-CDR51 (CD-R drive) with its switch on the bottom set to "Recovery". Then I set the "Product recovery CD-ROM Vol.1 of 3" and powered on.

First I selected

change partition size
followed by
3GB for drive C, rest for drive D.
After a while the machine prompted me to insert the CD-ROM Vol.2 of 3. When finished, I had a fresh Windows98 in drive C.

I booted Windows and did the initial configuration, then invoked Windows' FDISK to perform the followings:

  1. "Delete partition or logical MS-DOS drive"
  2. "Delete logical MS-DOS drive in extended MS-DOS partition"
  3. "Drive to delete?" : D
  4. "Input volume lable" : Enter
  5. "Are you sure?" : Y

The Debian installer failed to recognise the partition table when I did not delete the logical drive at this point. You can, however, skip this step if you are not going to use the hibernation.

Then I finished FDISK and rebooted Windows.


Hibernation area

I created the directory C:\slink and inserted the "Product recovery CD-ROM Vol.3 of 3" in the drive, then copied Q:\VAIO\TOOLS\Phdisk\PHDISK.EXE to C:\slink.

Then I rebooted the Windows in MS-DOS mode and moved to C:\slink. There I typed

phdisk /create /partition /ram128
to create a separate hibernation partition of 128MB.


Preparing files

I did not have Debian-2.1 CD-ROMs at hand, but there was a mirror FTP server on the LAN. So I decided to go with the "loadlin + FTP" method.

I rebooted Windows (in Windows mode) and inserted an ethernet card to the PCMCIA slot. Windows recognised the card and created the driver information database, then asked me whether I want to reboot the system immediately. I was already tired of rebooting Windows at that time, but there was no other choice.

I connected to the FTP server from Windows, moved to debian/stable/main/disks-i386/current and copied the following seven files to C:\slink in binary mode.

  1. resc1440.bin
  2. root.bin
  3. drv1440.bin
  4. linux
  5. base2_1.tgz
  6. install.bat
  7. loadlin.exe


Installing Debian

Again, I rebooted Window in MS-DOS mode. Then typed "us" to switch to the English console mode (it starts in the Japanese console mode by default). Then I moved to C:\slink and started the installation by simply typing install.

Here are the parameters I selected.

At this point, LILO booted Linux. Good.

Attention when configuring gpm: the mouse device is /dev/psaux and not /dev/ttyS0. Otherwise everything should be straightforward. Then I created a user account for myself with the same UID on other machines, and added the packages I want to have with dselect.

Hereafter, I describe topic by topic.


PCMCIA ethernet card

Making PCMCIA cards work is known as the first gate of installing Linux on a laptop, but I had no trouble in using the 3Com Etherlink III 3C589C card with Debian-2.1. Many installation guides suggest to configure PCMCIA (by editing the files under /etc/pcmcia) after the basic system have been installed and not during the installation time. In my case, however, configuring PCMCIA at the installation time went smoothly and the necessary files for ethernet connection via PCMCIA were set up perfectly.

For PCMCIA modem cards, see below.


XF86

XF86 is known to be another gate for Linux on laptops.

Unfortunately, the SVGA X server (/usr/X11R6/bin/XF86_SVGA) in the Debian-2.1 package is version 3.3.2 and it does not support the NeoMagic NM2200 chipset, which is used in the PCG-C1XE. Anyway, I installed this useless version only for package management.

After having installed X programs, I replaced the executable file /usr/X11R6/bin/XF86_SVGA with XF86_SVGA version 3.3.3. I did not have to update client programs nor libraries; they are running fine.

The configuration file /etc/X11/XF86Config for the C1XE was found easily on the net, but I still have trouble in using the builtin LCD and an external display at the same time.

Here is my configuration. If the X server is invoked without option, it works fine for the builtin LCD (1024x480 pixels, 24-bit colour); when invoked with 16-bit colour mode (e.g., xinit -- -bpp 16), it works fine for the external display (1024x768 pixels, 16-bit colour).

Each time the key combination "Fn + F7" is hit, the output signal is redirected to "builtin + external" --> "external only" --> "builtin only" --> "builin + external" and so on. When the output is redirected to both displays, the image on the external shrinks horizontally and looks ugly.


Be careful with /dev/ttyS2

At the boot time, the kernel detects the following device.

tty02 at 0x03e8 (irq = 4) is a 8250
I am not sure what it is, but the irq will be changed to 10 when you invoke the command
# setserial /dev/ttyS2 auto_irq skip_test autoconfig
as root. Thus it may be the infrared port.

But, be careful here. If you invoke the above command several minutes (five? ten?) after the boot, you will get a screenful error messages. When this happens, forget about ttyS2 immediately; if you repeat the setserial command several times, the kernel might hang up.

This problem disappeared after I updated the kernel to 2.2.x. Good works, guys.


Updating the kernel

After having successfully configured ethernet and X, I updated the kernel. First, I made a backup of the running kernel.

  # cd /
  # cp System.map System.stable
  # cp vmlinuz vmlinuz.stable
Then I modified /etc/lilo.conf
like this to make it accessible at the lilo prompt.

Second, I installed the kernel-source-2.2.1 with dselect, configured to taste with make config, then did make dep ; make clean ; make zlilo to install the newly created kernel.

Since I configured some functions as modules, I also did make modules ; make modules_install to install them.

Then I rebooted the system for testing.

When you update the kernel, you also need to update pcmcia-cs. Unfortunately, the pcmcia package included in Debian-2.1 is a little bit old and does not work with kernel-2.2.x. So I dowloaded pcmcia-cs-3.1.3, which was the latest version at that time, from the FTP site.

I extracted pcmcia-cs-3.1.3.tar.gz under /usr/src, moved to /usr/src/pcmcia-cs-3.1.3 and did make config ; make all ; make install.

Then I gave the system another reboot and the new kernel and pcmcia become available.


Internal modem

I checked the information on the internal modem with Windows and found the letters "HCF". That means, unlike other PCG-C1 models, it must be a WinModem and there is virtually no possibility to make it work under Linux. I gave up.


PCMCIA modem card

I tried two PCMCIA modem cards and both worked fine.

Since we have no access to the internal modem, irq 4 must be available. So I commented out the line

  #exclude irq 4
in /etc/pcmcia/config.opt.

On the contrary, I uncommented the line

  exclude irq 3
to avoid irq 3. (Actually, this is not necessary at all. I just prefer to have ttyS0 with irq 4.)

I inserted a modem card and confirmed that ttyS0 had irq 4 by checking /var/log/syslog.

An example of PPP configuration with Debian-2.1 is as follows.

  1. su.
  2. Invoke "pppconfig" and answer to the questions. The default peer will be named provider. Specify /dev/ttyS0 as the port.
  3. The configuration is stored in the files under /etc/ppp/peers and /etc/chatscripts with the peer name. You can edit these files later.
  4. Include the users permitted to make PPP connection to the group "dip".
"pon" starts connection. The first argument is the peer name (defaults to "provider"). "poff" terminates the connection.

Sound

Sony says that C1XE's sound system is compatible with Sound Blaster. I tried to check the required resources using Windows' facility (my computer -> control panel -> system -> device manager -> sound, video, game controllers) but could not find something usable as a SB emulator. So I gave up and just copied the resources for othe VAIO C1* systems (see the links below). Here they are:

  CONFIG_SOUND_SB=y
  CONFIG_SB_BASE=220
  CONFIG_SB_IRQ=5
  CONFIG_SB_DMA=1
  CONFIG_SB_DMA2=3
  CONFIG_SB_MPU_BASE=320
  CONFIG_SB_MPU_IRQ=-1
Then I installed the package "saytime" and gave it a run. It spoke. Good. Though it behaves only as an 8-bit SB (dmesg says so), /dev/audio seems to work.

Neither MIDI nor FM synthesizer has been tested seriously.


Infrared

Now trying.


Miscellaneous


links

Here are some useful information sources.

hardware software title language
PCG-C1X RedHat-5.2 Linux on the Sony Vaio PCG-C1X English
PCG-C1F
Linux Projects: Vaio PCG-C1F English
PCG-C1 Debian-2.1 Linux on VAIO C1 seiikuki (kashou) Japanese
PCG-C1R Vine VAIO PCG-C1R de Linux Japanese


Last modified : 14 August 2006