Linux on Sony VAIO PCG-SRX51P

 Kernel | USB | FireWire | Network | Sound | Mouse | Display | Bluetooth | References

I created a bootable DVD-RW from the CD images (just as described for Red Hat 8.0 in [1]). This time it was possible to boot and install from the external drive. The mouse pointer is a bit difficult to use during the installation, as it is strangely shifted (this was also reported by [2]), but in most cases the keyboard can be used instead. I chose the ALPS Glide Point mouse and a generic laptop display with a resolution of 1024x768. After first boot the mouse was okay, sound was enabled, but WLAN and the USB/Memorystick device were not detected.

top
Kernel 2.4.23

Patching and compiling the included kernel 2.4.20 gave me WLAN and Memorystick, but for whatever reason (probably because I did not use a standard kernel) the system crashed quiet often when logging off from KDE, and it froze whenever I tried to modprobe eth1394 to (try to) use ethernet over firewire. These problems were finally solved by installing kernel 2.4.23 from [3] and applying the ACPI patch from [4]. My kernel configuration is based on the one provided by [2], minor changes include the modules i810_audio, eth1394, and usbcore. You can find my config here. Compiling the kernel and modules was done as described in the Customization Guide [5]. After booting the new kernel, the root device (in my case /dev/hda8) was not detected, so I had to edit /boot/grub/grub.conf and replace root=LABEL=/ with root=/dev/hda8.

top
USB / MemoryStick

Kernel 2.4.20 needed a patch for the usb device, in 2.4.23 it is already included. For mounting Memorystick and USB Stick my /etc/fstab contains the following lines.

/dev/sda1  /mst  vfat  noauto,user  0 0 
/dev/sdb1  /usb  vfat  noauto,user  0 0 

I can also use USB mouse and printer. However, attaching my (non-Sony) digicam always causes immediate crashes (which is not really a problem, because the cam contains a Memorystick.)

I had to compile usbcore as a module when I used kernel 2.4.20, because the usb device was not detected when USB support was compiled into the kernel. I didn't change this when upgrading to kernel 2.4.23, so I don't know if it's necessary.

top
DVD-ROM

To mount the external Firewire DVD-ROM /etc/fstab needs a line like this

/dev/scd0  /dvd  iso9660 noauto,user,ro  0 0

However, the device is not detected after attaching unless the SCSI bus is updated manually:

# echo "scsi add-single-device 1 0 0 0" > /proc/scsi/scsi

After that it can be mounted. To get rid of this I enabled hotplugging as described in [6]. As a result the script 'rescan-scsi.sh' is run whenever a device is plugged in.

top
Ethernet over Firewire

I added the following line to /etc/modules.conf

alias eth1 eth1394

After loading the module ('modprobe eth1394') the ethernet device can be started by

# ifconfig eth1 192.168.0.1 up

I did the same (with a different IP of course) on a Debian Linux (Sarge) PC containing a PCI firewire card and was able to use the firewire connection just like ethernet, speed was also the same (although it could be faster than Fast Ethernet I think).

top
Ethernet / WLAN

Works both. The orinoco wireless device is detected by 'kudzu' as new hardware on every boot until you chose "ignore" once. Configuration can be done with redhat-config-network, I use it in Ad-hoc mode.

top
Sound

Requires the kernel module i810_audio mentioned above.

top
Fn Keys / Mouse

Fn keys for basic functions are enabled. To activate the scroll wheel I've been using sjog [7] for a while. It requires a character device for the sonypi driver, which is created as follows:

# mknod /dev/sonypi c 10 63

Later I switched to rsjog [8], which is written in 'ruby'. It gave me a middle mouse button as an extra (the small 'back' button) and adds more functionality to the Fn keys. I had to compile ruby-gtk (version 0.31), as I couldn't find an usable rpm. To adjust brightness you need write access for /dev/sonypi.

top
External Display

The included VGA adapter provides a dual display. There is a utility to switch between LCD & VGA [9] which I didn't test with Red Hat, but it works fine on Fedora Core2.

top
Bluetooth

I finally managed to connect the laptop to my new mobile phone via Bluetooth and use the phone as a modem to provide internet access via GPRS. Most of the information below was collected from [2] and various sites listed in [10].

You will need to install these packages from [12]

bluez-bluefw-1.0-1.i386.rpm
bluez-hcidump-1.5-1.i386.rpm
bluez-libs-2.4-1.i386.rpm
bluez-pan-1.1-1.i386.rpm
bluez-sdp-1.1-1.i386.rpm
bluez-utils-2.3-1.i386.rpm

Add the following lines to /etc/modules.conf :

alias net-pf-31 bluez
alias char-major-10-250 hci_vhci
alias tty-ldisc-15 hci_uart
alias bt-proto-0 l2cap
alias bt-proto-2 sco
alias bt-proto-3 rfcomm
alias bt-proto-4 bnep
alias bt-proto-5 cmtp
post-install bluez modprobe hci_usb

Create a device for the phone

# mknod -m 666 /dev/rfcomm0 c 216 0

Create a pin helper script /etc/bluetooth/givepin:

#!/bin/sh
echo "PIN:1234"

and make it executable. Now edit /etc/bluetooth/hcid.conf and change the path to the pin helper script:

# PIN helper
pin_helper /etc/bluetooth/givepin;

You may also change the local device name in hcid.conf, which is "Bluez (%d)" by default. To connect to the Internet I use the scripts gprs and chat-gprs I took from a page that has now moved to [11] They have to be placed in the /etc/ppp/peers directory. You might need to change the APN in chat-gprs (here: "internet"), ask your provider

Now after all this preparation turn bluetooth hardware and service on:

# spicctrl -l 1
# /etc/init.d/bluetooth start

Bring up the Bluetooth device and scan for your phone:

# hciconfig hci0 up
# hcitool scan

Your phone's hardware address should be displayed like this:

 Scanning ...
        00:0E:07:43:3C:0F       T610

Bind the laptop to it:

# rfcomm bind 0 00:0E:07:43:3C:0F 1

To dial in just type

# pppd call gprs

This should make your phone ask for the PIN. A few seconds later you should have internet access. Otherwise take a look at your recent kernel messages in /var/log/messages , they should look like this.

top
References

[1] http://www.mjmwired.net/resources/redhat8-dvd.html
[2] http://www.keithmitchell.co.uk/vaio/srx51.html
[3] http://www.kernel.org/
[4] http://acpi.sourceforge.net/
[5] https://www.redhat.com/docs/manuals/linux/RHL-9-Manual/custom-guide/ch-custom-kernel.html
[6] http://www.linux1394.org/faq.php#hotplug
[7] http://sjog.sourceforge.net/
[8] http://linuxbrit.co.uk/rsjog/
[9] http://vorlon.cwru.edu/~ames/i810switch/
[10] http://www.holtmann.org/linux/bluetooth/
[11] http://www.andybotting.com/mediawiki/
[12] http://bluez.sourceforge.net/download/redhat/

Author: Olaf Bauer
e-mail: obauer at freenet dot de

Last modified: July 2004