TuxMobil - Linux on Laptops, PDAs and mobile Phones

Linux on Sony Vaio PCG-VX88P

Introduction

I have managed to get everything that I use to work, especially the suspend to disk feature (I do not use the modem and do not change the screen brightness.). However the installation is complicated by the fact that the external CD/DVD drive is connected to ieee1394 causing many CD installers to fail after loading initrd. Therefore, I expect that you already have some experience in administering and installing Linux as a newcomer is not likely to be able to install Linux on this laptop. I focus only on the tricky parts of Linux installation/configuration because you are an experienced admin, aren't you? There is also an excellent HowTo written by John Waymouth about Linux on VX88/VX89 laptops for further reference.

I have selected to install a source-based Linux distribution Sorcerer. Therefore, beware that your distribution of choice may have slightly different tools available, especially the installer and/or the configuration tools.

Specifications

  • CPU Intel Pentium III 850 MHz, drops to 500 MHz if booted without plugged-in AC adapter
  • 14.1" LCD screen with 1024x768 resolution
  • Intel 815EM graphics chip
  • RAM 384 MB
  • 30 GB hard disk
  • Battery: about 3 hours with normal-capacity battery or 5-6 hours with double-capacity battery (full speed CPU and LCD brightness on high so you should be able to extend these times if you try conserving some energy)
  • CD-RW/DVD combo external drive connected to the IEEE1394 port (i-link)
  • Memory stick slot
  • Built-in modem
  • Ethernet card 10/100 Mbps
  • Built-in (miniPCI) wireless 802.11b card with 128-bit WEP
  • PCMCIA slot
  • Integrated Intel 815 sound chip
  • PS/2 touch pad with jog dial which can be used as a scroll wheel
  • USB and IEEE1394 (i-link) controllers

Output of the lspci command:

00:00.0 Host bridge: Intel Corp. 82815 815 Chipset Host Bridge and Memory Controller Hub (rev 11)
00:02.0 VGA compatible controller: Intel Corp. 82815 CGC [Chipset Graphics Controller] (rev 11)
00:1e.0 PCI bridge: Intel Corp. 82801BAM/CAM PCI Bridge (rev 03)
00:1f.0 ISA bridge: Intel Corp. 82801BAM ISA Bridge (LPC) (rev 03)
00:1f.1 IDE interface: Intel Corp. 82801BAM IDE U100 (rev 03)
00:1f.2 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #1) (rev 03)
00:1f.3 SMBus: Intel Corp. 82801BA/BAM SMBus (rev 03)
00:1f.4 USB Controller: Intel Corp. 82801BA/BAM USB (Hub #2) (rev 03)
00:1f.5 Multimedia audio controller: Intel Corp. 82801BA/BAM AC'97 Audio (rev 03)
00:1f.6 Modem: Intel Corp. Intel 537 [82801BA/BAM AC'97 Modem] (rev 03)
01:00.0 FireWire (IEEE 1394): Texas Instruments TSB43AB22/A IEEE-1394a-2000 Controller (PHY/Link)
01:02.0 CardBus bridge: Ricoh Co Ltd RL5c475 (rev 80)
01:05.0 CardBus bridge: Texas Instruments PCI1410 PC card Cardbus Controller (rev 01)
01:08.0 Ethernet controller: Intel Corp. 82801BA/BAM/CA/CAM Ethernet Controller (rev 03)

Installation

The laptop comes with a 30GB hard drive partitioned in two 15GB partitions. Before the installation, you should repartition the disk to suit your needs. Im my case, I have shrunk the first partition to minimize space taken by MS Windows XP and used the rest for Linux. It is a good idea to prepare multiple Linux partitions from Windows if you have the tools available. I used Partition Magic to create a boot, swap, root and tmp partitions. The laptop is configured to dual boot Linux and Windows XP.

The laptop comes without a floppy drive and with an external CDRW/DVD drive connected to ieee1394. Therefore, most of the CDROM installers will stop after loading the initrd. What happens is that BIOS recognizes a CDROM drive connected to the computer with a bootable CD inside and boots from it. However, the installers usually do not expect a CDROM drive to be connected to the ieee1394 controller and thus they do not have the necessary drivers available so they cannot see the drive after taking over control from BIOS. This is exhibited by a frozen installer or an error messages about a missing device or path. Thus, boot from an installation CD and the installer either freezes/crashes before getting to the first configuration menus or it will continue even after loading the Linux kernel.

In case that you are not able to directly install from your CD, you can chose other methods to succeed as described by John Waymouth or you can try what worked for me. The Sorcerer installer allows you to specify the location of the sources which could also be a hard drive. Therefore, I copied the entire CD to the would-be tmp partition (/dev/hda6) and when booting from the CD, I specified that the sources were located on /dev/hda6. From this point on, the installation proceeds as smoothly as on any other computer.

Kernel

My 2.4.22 kernel configuration. I use a stock 2.4.22 kernel patched to enable software suspend to disk (2.0-rc1) and scsi hotplug ( the scsi hotplug patch for 2.4 kernels). The SCSI patch adds support for per device hotplugging into the SCSI subsystem and it can make your life much easier because the most common devices (CDRW/DVD, digital camera, external hard drive, etc.) that you plug into the ieee1394 port will be attached to the SCSI subsystem.

Notes:
  • Enable ACPI and almost every option under it. This is very important as ACPI is needed to regulate the CPU temperature. Without ACPI, your CPU will eventually get toasted.
  • Enable IEEE1394. You will need ohci1394, ieee1394 and sbp2 modules at least.
  • Wireless card needs the orinoco module, also referred to as "hermes". The built-in wireless card is controlled by pcmcia tools as a regular PCMCIA card.
  • ALSA driver 0.9.8 (and newer I guess) works fine with the laptops sound card. Note that the sound is muted after you install the driver.
  • Sonypi can be used to adjust screen brightness and to catch Fn-key events.

X11 Configuration

X11 configuration is quite straightforward. The jogdial can work as a scroll button, just make sure that you add the ZAxisMapping option to your mouse section of XF86Config-4. It may look like this:

Section "InputDevice"
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "PS/2"
Option "Device" "/dev/mouse"
Option "Emulate3Buttons" "on"
Option "ZAxisMapping" "4 5"
Option "Resolution" "1800"
EndSection

I have configured XFree86 (version 4.3.0.1) for 1074x768 resolution, touch pad and a USB mouse. Check my XF86Config-4. The DRI option is disabled because it interferes with the software suspend.

Software Suspend

Suspending the system to disk is a great convenience feature for the laptop users. If you need to turn off the laptop, suspend saves the memory content to the disk so it can be restored on the next boot in order to continue working exactly where you stopped. Software suspend (swsusp) stores the memory pages (including graphics pages) on the swap partition or in the swap file. Personally, I tend to have a dedicated partition for swapping. Swsusp is almost stable for the 2.4 kernels although some problems may still occur. You backup your data, don't you?

In order to install the software suspend feature, you need to download a kernel patch and an optional suspend script. I currently use the 2.0-rc1 version (my partitions are ext3) and the suspend script. Note:

  • Disable DRI/DRM in XFree86 or the computer will freeze on resume. Apparently the DRI/DRM modules for Intel 81x graphics cards cause the lock-up.
  • Do not initiate the hibernation from acpid or it will be impossible to unload/load some kernel modules (usb and ieee1394 related).
  • Before suspend:
    • Unmount NFS and external drives including memory stick.
    • Stop any network connections like ssh, ftp, etc.
    • Stop ALSA.
    • Unload (modprobe -r <module>) the following modules in the stated order: sbp2, ohci1394, usb-storage, hid, uhci.
    • Stop or suspend (cardctl suspend) PCMCIA.
  • On resume start/resume PCMCIA, load required modules, start ALSA.

This recipe works for me. It takes care of the wireless network connection and all usb/ieee1394 devices. Note that I do not stop the ethernet adapter although it is suggested. As a matter of convenient implementation of the recipe, I suggest using the swsusp script. Swsusp is a work in fast progress thanks to the excellent work of the project's main developer Niguel Cunningham. Therefore, my description is sketchy. Please do not hesitate to contact me if you need more information about swsusp.

Disclaimer

This HowTo is provided for your information only and whatever you do with your laptop is solely your discretion. The author is not liable for whatever happens to you, your laptop and any person at all (for example but not limited to: explosion, CPU speed increase, lottery win, drowning, etc.) if you follow these instructions.