Debian GNU/Linux on a Sony Vaio PCG-VX71P

This is a living document which contains my own notes on how to install Debian GNU/Linux on a Sony Vaio PCG-VX71P. If you plan to buy this machine or another Sony Vaio, or already have one, it might be useful for you to read this document. Please note, there might be errors and misleading text here, which may lead to problems for you. In any case I am not responsible for anything at all.

Author: Alfred E. Heggestad <aeh@db.org>

Things remaining

Current configration

This section contains the latest configuration on my machine.

Specifications

      Machine:		Sony Vaio PCG-VX71P
      CPU:		Intel Pentium III Mobile CPU (850 MHz)
      Memory:		256 Mb
      Disk:		30Gb IC25N030ATCS04-0
      Gfx:		Intel 82815 Chipset Graphics Controller with AGP port
      Bus:		Firewire, USB
      PCMCIA:		One type I socket
      NICs:		One 100Mb Ethernet RJ45 connector
            		One Lucent Wireless LAN card
      Audio:		Intel 82801BA-ICH2 AC97 compatible controller
      Modem:		Builtin Win-modem.
      Memory stick:	One Magic-Gate adaptor via USB
      

Installing from CD-rom

Used the image 'bootbf2.4.iso' available from here:

http://people.debian.org/~dwhedon/boot-floppies/

The CD-rom is connected via IEEE 1394 and the Firewire drivers are also located on the CD-rom. The bf24 image does not have the eepro100 network driver, but the vanilla image does. Hence booting the 2.2.x kernel works and configures the network nicely. Note that 2.2.x kernel does not have ext3 support so we need to install with ext2 first and then upgrade to ext3 later (root file system only) - this is done by doing:

      $ tune2fs -j /dev/hda2
      
and changing/adding the following line in /etc/fstab
      /dev/hda2       /               ext3    errors=remount-ro       0       1
      
(the tuning can be done even with the device mounted)

Updated 12. Mar 2006:

It is much easier to use the Debian Installer instead: http://www.debian.org/devel/debian-installer/

Grab the netinst CD image and you should be up and running in less than half an hour..

Updated 7. May 2006:

I had some trouble installing Debian 4.0 (etch) from netinst CD-rom. Basically it will boot from CD-rom during boot, and start the Debian installer. But after a couple of menus, it cannot find the CD-rom... It is trying to mount /cdrom on /dev/scd0 which does not exist. My trick was to make a symlink from /dev/cdrom to /dev/sr0

	    $ ln -s /dev/sr0 /dev/cdrom
	  
Please note that this must be done before the step "Detect and install ... from CD-rom"

Upgrading to Debian unstable

At this point we have Debian 3.0 (woody) installed and we want to upgrade to the latest version (SID/unstable). I changed the /etc/apt/sources.list file to:
      #
      # /etc/apt/sources.list
      #

      deb http://ftp.no.debian.org/debian/ unstable main non-free contrib
      deb http://security.debian.org/ stable/updates main contrib non-free
      
and then did:
      $ apt-get -u dist-upgrade
      
This will download and upgrade the system to the latest version of Debian. Approximately 22 Mb was fetched. Surprisingly, during the upgrade process the kernel crashed seriously and was printing millions of strange characters to the screen... But after rebooting once and doing 'dpkg --configure -a' the system was still working OK.

Upgrading the linux kernel

Updated 31. Jan 2003

Updated 12. Mar 2006

2.4.x

You can fetch the vanilla kernel from www.kernel.org or the Debian version using apt:
	# apt-get install kernel-source-2.4.20
	
Go to your kernel directory and do:
	# cd /usr/src/kernel-source-2.4.0
	# make menuconfig
	# make dep && make bzImage && make modules
	# make modules_install && make install
	

2.6.x

You can fetch the vanilla kernel from www.kernel.org or the Debian version using apt:
	# apt-get install linux-source-2.6.18
	
With the 2.6 kernel series the build system is tremendously improved, and there is no need to do make dep anymore.
	# cd /usr/src/linux-source-2.6.18
	# make menuconfig
	# make && make modules
	# make modules_install && make install
	

Installing my preferred packages

Normally when I install Debian I only install the base-system and then install packages depending on what I need. The following packages was *removed* after complete upgrade:
      nvi
      
The following new packages was *installed* after complete upgrade:
      vim
      less
      ssh
      make
      gcc
      ncurses-dev
      

Hardware

      Serial port:   There are no serial ports on this machine. (use USB-adapters)
      Parallel port: There are no parallel ports on this machine. (use USB-adapters)
      Infrared port: There are no infrared ports on this machine. (use a dongle)
      

Software

MPlayer (version 0.90pre9-2.95.4) works fine, also in fullscreen mode. Remember to enable the Real Time Clock (RTC) with CONFIG_RTC and /dev/rtc. I installed KDE 2.2 successfully using:

      $ apt-get install kde
      
Now I am just waiting for KDE 3.0 to go into Debian ;)

Updated 12. Mar 2006

Currenty KDE 3.5 is running..

X-WINDOWS

XFree86 4.2 was installed using the 'tasksel' program. Before you run 'XFree86 -configure' make a symlink for the mouse device:

      $ cd /dev
      $ ln -s psawx mouse
      
I only managed to get "1024x768" resolution... My XF86Config file is here

Updated 12. Mar 2006

XFree86 has been replaced by X.Org. Here is my configuration file: xorg.conf

Framebuffer

Updated 15. Jan 2003

I managed to get framebuffers working with the 2.5.58 kernel. Details for doing this are described in here:

      /usr/src/linux/Documentation/fb/intel810.txt
      
Select framebuffer support and console framebuffer support, and add this to /etc/lilo.conf
	append="video=i810fb:vram:2,xres:1024,yres:768,bpp:8,hsync1:30,hsync2:55, \
        vsync1:50,vsync2:85,accel,mtrr"
	
When rebooting the console is using the whole screen including printing the cute penguin at the top left corner. Have not tried X on top fb yet.

External VGA monitor

Updated 31. Jan 2003

When I first tried an external VGA monitor it did not work. However, when I was trying today it was all of a sudden working fine. I have in the time between done a few things, including using the 2.5 kernel, framebuffers, ACPI etc but I do not think should be related. The external monitor works for both 2.4 and 2.5 kernels, and both console mode and X works. The following startup sequence can be seen on both builtin LCD display and the external VGA monitor:

I have tried to enable/disable the internal/external display with the Fn+F7 key but nothing happens, perhaps not supported by ACPI?

Jogdial

To enable the jogdial, install the 'sjog' Debian package and create the device /dev/sonypi
      $ mknod /dev/sonypi c 10 63
      
The minor number (63) can be found in /proc/misc

Kernel config

My /etc/modules looks like this (2.4.x kernel):
      ac97_codec
      i810_audio
      eepro100
      
All necessary modules are statically linked in the running linux kernel version 2.5.44 except the Orinoco Wireless LAN drivers which are automatically loaded when the Wireless LAN PCMCIA card is inserted; which is always. For 2.5.x I use a statically compiled kernel with no modules.

Audio

The soundcard is Intel 82801BA-ICH2 AC'97 Audio and the following kernel modules work fine:
      i810_audio.o
      ac97_codec.o
      
I had a strange problem, but only once, where the clock rate was less than 48000 (approx 24000) but after reboot the problem was gone... However, after running the 2.5.44 kernel I use the ALSA sound system instead with no problems at all.

Firewire

NOTE with kernel 2.5.54 there are problem transferring large files.

This chipset is Texas Instruments TSB43AB22 which is supported by the linux1394.org project.

Please note that when the IEEE modules are loaded, the keyboard freezes completely during the 'scan' period - but the mouse and everything runs ok. I am not sure what causes this. (with 2.4.18 bf2.4 debian kernel)

With the 2.5.44 kernel I managed to compile the firewire modules but after loading them the machine locks up.

Firewire and external CD-rom now works with the 2.5.53 kernel. See my config file below for details. To mount the CD-rom append this line to your /etc/fstab file:
      /dev/sr0        /cdrom          iso9660 ro,user,noauto          0       0
      
and then do: $ mount /cdrom

Networking - Ethernet

There might be some problems with the network card or the driver, because now and then I get this message on the console:
      eepro100: cmd_wait for(0xffffff80) timedout with(0xffffff80)!
      
Doing an 'ifdown eth0 && ifup eth0' fixes the problem for a while... With the 2.5.44 kernel there are no problems when using the driver from Intel (CONFIG_E100)

Networking - Wireless LAN

Updated 15. Jan 2003

I did not manage to get the builtin Wireless LAN card working with 2.4.18 or 2.4.19 kernels, probably because of no support for ACPI (see [0]) Unlucky for me this card does not have a connector for external antennas, which is needed for my habits of nmap'ing the open network flying in the air. An external wireless LAN PCMCIA card solves this problem, but this does only work under kernel 2.4.x with no ACPI support. The error message when inserting the second card is "IRQ in use" or similar, perhaps because the manfid of both PCMCIA cards are the same?

After recompiling kernel 2.5.44 with ACPI it was working out of the box (had to make IEEE1394 into modules instead of static linking which caused a BUG during boot...) - that is with the Orinoco modules:

      io:~# lsmod
      Module                  Size  Used by    Not tainted
      orinoco_cs              5108   0 
      orinoco                34988   0  [orinoco_cs]
      hermes                  5156   0  [orinoco_cs orinoco]
    
Here is the output from `iwconfig`:
      eth1      IEEE 802.11-DS  ESSID:""  Nickname:"HERMES I"
                Mode:Managed  Frequency:2.457GHz  Access Point: 44:44:44:44:44:44  
                Bit Rate:11Mb/s   Tx-Power=15 dBm   Sensitivity:1/3  
                Retry limit:4   RTS thr:off   Fragment thr:off
                Encryption key:off
                Power Management:off
                Link Quality:0/92  Signal level:134/153  Noise level:134/153
                Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
                Tx excessive retries:0  Invalid misc:0   Missed beacon:0
      

Bluetooth

I have a Bluetooth PCMCIA card 3Com 3CRWB6096 which I managed to get working with kernel 2.4.20 and Debian. The following kernel configurations are related:
#
# Bluetooth support
#
CONFIG_BLUEZ=y
CONFIG_BLUEZ_L2CAP=y
# CONFIG_BLUEZ_SCO is not set
# CONFIG_BLUEZ_BNEP is not set

#
# Bluetooth device drivers
#
# CONFIG_BLUEZ_HCIUSB is not set
# CONFIG_BLUEZ_HCIUART is not set
# CONFIG_BLUEZ_HCIUART_H4 is not set
CONFIG_BLUEZ_HCIDTL1=m
CONFIG_BLUEZ_HCIBT3C=m
# CONFIG_BLUEZ_HCIBLUECARD is not set
# CONFIG_BLUEZ_HCIVHCI is not set
I added an module alias for the HCI device but I am not sure if this is required.
/etc/modutils/bluez:
alias net-pf-31 hci
Then do:
io:~# update-modules
The following Debian packages for the BlueZ stack was installed:
io:~# dpkg -l | grep blue
ii  bluez-bluefw   0.8-1          Firmware and loader for BCM2033-based Blueto
ii  bluez-hcidump  1.5-2          Analyses Bluetooth HCI packets
ii  bluez-pcmcia-s 2.2-1          PCMCIA support files for BlueZ 2.0 Bluetooth
ii  bluez-sdp      0.8-2          BlueZ Bluetooth SDP daemon and tool
ii  bluez-utils    2.2-1          Utilities for controlling Bluetooth devices
ii  libbluetooth1  2.3-1          Library to use the BlueZ Linux Bluetooth sta
The bluez-bluefw package was not in sid so I fetched the .deb file from bluez home page (see below:) You also need the correct firmware bin file to be loaded into the PC Card, which should be on the CD-rom and the support pages of 3Com. Make sure you restart the PCMCIA subsystem and then do the following:
# /etc/init.d/pcmcia start
# /etc/init.d/bluez-utils start
# /etc/init.d/bluez-sdp start

For beaming files to a mobile phone like Nokia 7650 do:

io:~# rfcomm connect 1 00:02:EE:51:20:4B 9
io:~# ussp-push /dev/rfcomm1  
The number 9 means a Bluetooth channel which I found from doing
io:~# sdptool browse 00:02:EE:51:20:4B
Here is the output:
Service Name: OBEX Object Push
Service RecHandle: 0x10009
Service Class ID List:
  "Obex Object Push" (0x1105)
Protocol Descriptor List:
  "L2CAP" (0x0100)
  "RFCOMM" (0x0003)
    Channel/Port: 9
  "OBEX" (0x0008)
Profile Descriptor List:
  "Obex Object Push" (0x1105)
    Version: 0x0100
Connectivity to the Nokia 7650 also works like charm with the p3nfs program running over Bluetooth.

Here are some pointers that got me started:

http://www.holtmann.org/linux/bluetooth/bt3c.html
http://www-r2.u-strasbg.fr/~lorchat/howto-axis-ipaq.html
http://www.bgsdistribution.sk/support/download.asp?typ=1
http://bluez.sourceforge.net/
http://mobile.linux.pt/p800/

notekernel 2.4.20 does not have RFCOMM support

Software Suspend

Software suspend is working fine with kernel 2.6.18 and 2.6.20, and the Suspend 2 for linux patch - http://www.suspend2.net/ Download the patch and apply it to your linux source tree, recompile and reinstall. Just follow the instructions it should be quite easy.

Also you can install the hibernate package to aid with shutting down the machine:

      $ apt-get install hibernate
      

System configuration files

Reference