Sony VAIO PCG-FX301 and UNIX

Sony VAIO PCG-FX301 is a low-end laptop mostly sold in Europe (France, UK, Germany, ...). You can find a ZDnet UK review about it here. Its components are :

You can find here the output of an lcpci -v command, listing all the PCI devices available.

Except for its bad autonomy when using the default battery delivered with it, the VAIO PCG-FX301 is a nice, powerful, and cheap laptop, which has also the advantage of being really usable with free Unices around.

I have related on this page my experience with this machine, and given indications on how to get the different components working as good as possible. If you're using a distribution such as Mandrake, all the hardware might be recognized at install-time, just like that. It might also be not the case.

I have been using at this time two different operating systems on my FX301 : FreeBSD, and Debian GNU/Linux. I will try to remember the FreeBSD stuff, and give explicitely the Linux one. Naturally, Linux works better.

The FreeBSD versions used during the tests were 4.4-STABLE at first, then 5.0-CURRENT. The Debian GNU/Linux (unstable version) ran 2.2.20, then various 2.4 kernels, 2.4.17 at the present time.

You can find other pages about this VAIO here and there :

Networking

PCG-FX301 is equipped with an integrated 10/100Mbps RJ-45 Ethernet board, using the Realtek 8139 chip. As this is a really poor man's chip for 100 Mbps Ethernet, it is supported on Linux as well as any Unix around.
The Linux driver (2.4 kernel module) is called 8139too. The corresponding kernel configuration option is CONFIG_8139TOO. The FreeBSD driver is known as rl, and it uses the miibus common code too. Be aware that speed auto-negociation under FreeBSD is really buggy with this driver; you might have to force media and mediaopt with ifconfig.

There's a Winmodem in the VAIO, and some people say that some day these people will release a Linux driver for it.

XFree86

I have had comments from an OpenBSD user that XFree wasn't obvious to configure. I'm using XFree 4.1.0.1 of December 21 2001 at the present time, and I'm always tracking latest releases because it's fancy (greets to Branden Robinson for making this possible). I have had no trouble whatsoever having X working, on BSD as well as Linux, even with XFree3 (Mach64 is universal). This is my dexconf-generated X config file, for running at 1024x768, 24 bit-color.

Now, you can get some elite stuff going if you've got XFree4 running. I'm talking about the XVideo extension. Basically, it's something that can make DVDs and AVIs run better :-). Released versions of XFree4 do not yet include XVideo support for Mach64 chipsets, so you have to use the LiViD ATI enhanced drivers. You can either get them from CVS in source form, integrate this into an XFree86 source tree, and recompile the whole stuff, or get them in binary form, from http://gatos.sourceforge.net/ati.2.php. There are Linux binaries for various XFree4 versions. I have no idea whether LiViD drivers work on BSDs or not, I guess they will be integrated into 4.3.

Once you've got the tarball (something like ATI-4.1.0.i386.tar.gz), which contains the X modules from a X11R6/ directory, you can extract that in /usr (take care to backup your existing modules first) with tar xvzf ATI-4.1.0.i386.tar.gz -C /usr. Naturally, each time you upgrade XFree (I'm thinking "apt-get"), you have to do that again.

The next step would probably be to have hardware-3D acceleration running. I did not try this yet, as I am no gamer. This document seems a good sum up of the necessary steps.

DVD player

DVD player works perfectly, out of the box. You may have to make a symbolic link from the block IDE device to /dev/dvd.
Under Unix, the best software to play videos is probably MPlayer, but you might want to try vlc or Xine to play DVDs. You might need to use Ogle for DVD with interactive menus.

USB interface

The USB interface is run through UHCI, you just need to activate that support in your kernel, or to load the corresponding module. In Linux 2.4, the kernel configuration option is CONFIG_USB_UHCI_ALT (usb-uhci.o module), and in FreeBSD, you need usb and uhci devices (included in GENERIC).

Sound support

The sound chip is known as AC97. In FreeBSD, recompiling a kernel with device pcm included or even (not sure) using the GENERIC kernel might get sound working. In Linux, you will have to recompile your kernel or use precompiled binaries, namely : sound support (CONFIG_SOUND), and the VIA AC97 audio option (CONFIG_SOUND_VIA82CXXX), as well as its MIDI interface (CONFIG_MIDI_VIA82CXXX). This should be enough. The module to load would be via82cxxx_audio.

i-Link interface

I don't have any IEEE1394 device, so, I can't really proof-test the link. However, the correponding module loads perfectly :

ohci1394: $Revision: 1.9 $ Ben Collins 
PCI: Found IRQ 9 for device 00:0e.0
PCI: Sharing IRQ 9 with 00:07.2
PCI: Sharing IRQ 9 with 00:07.3
PCI: Setting latency timer of device 00:0e.0 to 64
ohci1394_0: OHCI-1394 1.0 (PCI): IRQ=[9]  MMIO=[f4004000-f4004800]  Max Packet=[2048]

Maybe some information later if I can get a device ...

Don't hesitate to contact me (Thomas Seyrat) if you have any question.

TuxMobil - Linux on Laptops, Notebooks, PDAs and
Mobile Phones
This report is listed at TuxMobil - Linux on laptops, notebooks, PDAs, mobile phones. Please consider visiting TuxMobil to find an up-to-date documentation regarding the laptop discussed here.


$Id: pcg-fx301.html,v 1.9 2008-01-03 12:34:42 thomas Exp $