Linux on the Sony FX501 notebook

last updated: Feb 14 2004
update focus: USB mouse (again), TV out with Fn-F8 key

BREAKING NEWS (Sep 12 2003): Now the licensing policy of the Modem Driver at Linuxant has changed and the free version only supports 14.4kbps connections. I personally do not agree with Marc Boucher that it is a good idea to change the license and let the people pay for a driver that works meaningfully (no 14.4kbps in the free version is NOT meaningful in my opinion). But the problem itself is not Linxuant but Conexant, they have to ensure that there are free of charge drivers for their products! I downgrade the modem in the chart to "partly supported". If you use an older version of the driver, keep it. It works at full speed and there is nothing wrong with it. Maybe, it is also possible to find an old version of the driver somewhere in the web.

There is also a German version of this page available. The German version is more often updated and contains more information sometimes. I'm sorry that I have not enough time to keep both pages always in sync.

Topic

It is difficult to find a good notebook if you are going to use Linux on it. So I decided to make a homepage on this issue. I own the notebook since 01 March 2002 and meanwhile I have tested most things.

System Configuration

Now I use Mandrake 9.1. I comiled Kernel 2.4.21 myself with the following patches: acpi-20030619, cpufreq-2.4.21-2, swsusp-1.0-2.4.21.

Other Sony Notebooks

There are some other models in the FX50x series and additionally, the newer model series FX60x, FX70x and FX80x (and maybe FX90x) are available. It seems that all models with AMD Duron or Athlon CPU have very similar hardware than the FX501 and so the information given here are valid for them, too. The models with Intel CPUs are quite different, however!

updatedOverview Chart

ComponentModellStatusDriverRemarks
Processor mobile AMD Duron 1 GHz with PowerNow fully supported for using PowerNow: RTDVS (module), alternative Driver: cpufreq (kernel patch) PowerNow feature now available
Screen TFT 14.1", 1024x768 fully supported    
RAM 256 MB SDRAM fully supported    
Hard Disk 20 GB fully supported    
Floppy Disk Drive 3.5", removable fully supported   instead of the floppy, a 2nd battery can be used
DVD Drive DVD: 8x, CDROM: 24x fully supported Kernel Playing Video DVDs possible
Battery LiOn, 3000 mAh fully supported    
System Watching ACPI nearly fully supported ACPI-Patch (kernel patch) almost everything OK, if battery state is read the system freezes for some 1/10 sec. ACPI-Patch is integrated in some new distributions.
Suspend/Sleep possibilities ACPI, Software Suspend nearly fully supported ACPI-Patch (kernel patch) and swsusp-Patch (kernel patch) ACPI suspend modes do not work, Software suspend works in general but with some problems, CPU cooling with ACPI and PowerNow works, fan control works
Graphics ATI 3D Rage Mobility-M1, 8 MB RAM fully supported Dri/Xv (Retinal Burn), alternative Drivers: GATOS or ati (shipped with XFree86) 3D+XVideo(accelerated video playing) with Retinal Burn Driver, only XVideo with GATOS driver or no special features with the driver shipped with XFree86
Sound VIA686 AC97-Sound fully supported alsa (kernel module), alternative Driver: via82cxxx_audio (shipped with kernel)  
TV-Out   fully supported atitvout (Software) Switching with atitvout
PC Cards PCMCIA, 2 of type 1 or 2 or one of type 3 fully supported Drivers shipped with kernel, alternative Driver: pcmcia-cs (kernel modules)  
Firewire Interface   fully supported ohci1394 (shipped with kernel) not tested by me (see remark 1)
Internal Modem Conexant HSF AC97 SoftModem partly supported HSF drivers only 14.4kbps in the free version, for old versions see remark 2
Network   fully supported 8139too (shipped with kernel)  
USB Interface 2 VIA USB (UHCI) fully supported usb-uhci or uhci (both shipped with kernel)  
Parallel port &nbso; fully supported    
Serial port       not yet tested

Remarks:

  1. I have not tested these components by myself but I have got e-mails from various people that use these components without problems. Thanks to them for the mails!
  2. Some people (including me) have noticed IRQ problems which can cause sound problems or random reboots. These problems do not occur if you use the kernel parameter "pci=biosirq"

What's good? What's bad?

Good Bad
  • solid, good quality
  • very low noise (when using ACPI)
  • Graphics chip has its own memory
  • good TV Out
  • smooth DVD playback possible
  • 20 GB hard disk drive
  • 256MB RAM
  • no IrDA port, no PS2 port
  • Power Management only works partly: no suspend-to-ram, software suspend with problems
  • For distribution that do not use ACPI it's STRONGLY RECOMMENDED to recompile the kernel (see here)

Conclusion

Having this notebook for more than one year I can say that it works very good with Linux. It produces very low noise (when using ACPI), works stable and provides smooth DVD playback, even on TV. Further more, it has a very good equipment for its price. Now the 3D acceleration of the graphic chip is supported, too. The remaining problems are concerning the suspend modes.

Tips And Tricks

Kernel Configuration

The problem

Some distributions are using a kernel featuring APM instead of ACPI. If this is the case for your distribution, you will have to recompile the kernel with ACPI turned on (or use a pre compiled new kernel with this feature) because APM does not cool the CPU effectivly and so the fan is always on. Further more, the keys to control the brightness of the screen and the TV out and external VGA out don't work with APM. If you see a directory /proc/acpi and the fan of your laptop is always on when needed, you probably have ACPI already. If not, you have to turn it on in your distribution or - if ACPI is not included in your distribution - to recompile. Please refer to this section to see if your distrubution already includes ACPI support.

Kernel patches

Some distributions already include the kernel patches described below. See this chart. If your distribution includes all patches you are interested in, you do not need to recompile the kernel!

This is not the place to tell how to patch and compile a kernel. Please have a look at the Kernel-HOWTO.

Please use the following kernel parameters (by modifying the append line in /etc/lilo.conf and restarting lilo) in addition to the parameters set by your distribution:

To suppress the reboot problem, configure your kernel not to use SMP support and not to use APIC on uni-processors.

Here is a short overview about patches that you might want to use.

PatchDescriptionImportance
ACPI-Patch This patch ensures that the ACPI fuctions for system watching and power saving work. It controls the fan! Additionally, it is needed to use the special keys (brightness, LCD/VGA, LCD/TV). At the moment, the suspend modes suspend-to-ram and suspend-to-disk don't work. This patch is already included in some distributions (see here). essential!!!
Software Suspend Adds the function suspend-to-disk (sleep and store system state to hard disk) to the kernel. Further information. useful
cpufreq Adds the fuction "PowerNow" (automatically rule processor voltage and frequency) to the kernel. Because of a faulty BIOS this does not work with my FX501. Further more, there is an older RTDVS module that does bypass the BIOS. For the RTDVS module it is not needed to patch the kernel. Further information. only if you want to test and debug

Pre-compiled kernels

On Markus Gaugusch's homepage there are precompiled kernels in RPM format available.

Power Management

APM: crashes when switching to stand-by or suspend. Fan is always on and very loud! NOT RECOMMENDED!

ACPI (APCI-Patch): works better. Very low noise because fan only on if needed. Battery display (/proc/acpi/battery/BAT1/state) works but freezes the laptop for some 1/10 sec. Temperature can be watched (/proc/acpi/thermal_zone). Events can be handled by acpid. Sleep doesn't work out-of-the box (but with Software Suspend). Special keys work.

CAUTION: If you try ACPI support, be carefull that the fan really is started, if needed. To see the temperature of the system, you can use the software lmsensors or the information in /proc/acpi/thermal_zone. If the notebook gets too hot, it should shut down automatically, but you never know...

Software Suspend

There is a kernel patch named swsusp which enables you to use suspend-to-disk. The only problem with Software Suspend is, that you have to reset the sound drivers and so, all apps playing sound at the moment of suspending are killed.

Problems with Software Suspend

PowerNow

Now it's possible to use PowerNow. There are two possibilities to use this feature

RTDVS powernowK7 (recommended)

This possibility is not maintained any more and maybe not the future but it has the advantage that it works with the FX501 and that you do not have to patch/recompile the kernel. I have used this method since July 21 2003 and have not seen any problems yet.

A ready-to-use solution

CAUTION: I am not sure if these methods are OK. Maybe they can damage your computer. Maybe the voltages are wrong! Use at own risk!

powernowK7.tar.gz Source for the module powernowK7. Extract it and compile with make. You will hopefully get the file powernowK7.o which you should copy to /lib/modules/(kernel version)/misc. Then execute "depmod -a". From now on, load the module with "modprobe powernowK7". This version of powernowK7 supports the following AMD Mobile processors: Athlon 850/900/950/1000/1100/1200, Duron 800/850/900/950/1000. If the module does not load, the module does not compile or your AMD processor is not supported, see background how to solve your problem. It works at least with Mandrake 9.1, but there were problems with Mandrake 8.1.
powernow.cc This tool selects the best voltage and frequency according to the system load. It is possible to configure different strategies (MIX/MAX/DYNAMIC) for the cases that the laptop is on AC power or on battery. Compile with "gcc -o powernow powernow.cc". Before using, create two files, /etc/powernow-speed-min resp. -speed-max. They should contain the minimum resp. maximum frequency to be used in MHz, for example "500" resp. "1000". If you select too low or too high frequnecies the laptop will crash. The values above are OK for the FX501.
/etc/init.d/powernowd This file is not really needed but useful to configure powernow as system service. Copy it to /etc/init.d and make it executable (chmod +x /etc/init.d/powernow). You can activate it for the single runlevels with the tool of your distribution (drakconf, yast2) or by making symbolic links (Debian). The configuration of this file is: Use full power when AC online and dynamic scaling when on battery. The feature "minimal power when getting hot" is not activated.
Background
The basis is the RTDVS software from
Energy Aware. The problem is, that this software is for the old kernel 2.2.x, so you need the following kernel patch: http://people.debian.org/~dwhedon/rtdvs.diff. This patch just adapts the module for AMD Athlon/Duron, not the whole RTDVS with dynamic scaling and more features. After that, I had to add the following values to the processors[] array in powernowK7.c:
  { DURON,  { 1000,  900,  850,  800,  700, 0 },
		  { 1400, 1350, 1300, 1250, 1200, 0 },
		  "300 700 800 850 900 1000" },
These values are from the page http://www.amd.com.ua/reference/content/40/. There are also values for other AMD processor which you might want to consider if you have such a processor. Further more, I had to replace the case selection in the return statement of the function module_startup() by its result DURON (for my laptop), as the method call to get this result automatically has not worked for me.

Now the module can be compiled:

make powernowK7.o
and loaded:
insmod ./powernowK7.o
laden.

If this has worked, you can use

cat /proc/powernow
to view the current settings while
echo "800" >/proc/powernow
does alter this settings, i.e. it tells the processor to work with 800 MHz. IMPORTANT: Not all speeds work. At my computer, any value between 450 and 1000 MHz seems to work okay, but other values cause the laptop to crash!

Use the tool powernow.cc to dynamically adjust the voltage and frequency according to the system load. This tool is based on cpufreq.cc by Carl Thompson but I have ported it to powernowK7. Additionally, I added the feature to support different scaling strategies based on if you are on AC or on battery. See the source code for a short introduction.

Use the script powernowd to configure powernow as system service.

cpufreq (for advanced users)

Meanwhile, there exists a module called powernow-k7.o made by the cpufreq people. In future, it will surely be better to use this module because it is actively developped. I have recently tried to use this modul, but I had no success (module loads but every process that accesses this module locks up). This is probably due to a BIOS bug - the BIOS does not tell the supported modes on which cpufreq relies. However, there are also success reports on the cpufreq mailing list for other notebooks of the FX series.

For further information on this topic, see cpufreq and the mailing list.

Graphics

Graphics is based on the ATI Mach64 chipset. The standard XFree86 drivers worlks but is slow in video playback (no XVideo support) and does not support hardware-accelerated 3D. For XFree86 4.2 and later both functions can be activated using the Retinal Burn Linux Pages. Caution: With Mandrake 8.1 I was not able to get this driver to work (the whole graphical system did not work anymore). But with Mandrake 9.1 everything works as aspected.

3D hardware acceleration is possible with the older XFree 3.3.6 using an experimental driver which is shipped with Mandrake and possibly the most other distributions. I have tested that and it works.

If you only want XVideo support for playing DVDs smoothly but don't need 3D (or you have problems with the Retinal Burn driver) have a look on the drivers of the GATOS project.

Sound

Works fine. Mandrake installs the kernel driver via82cxxx_audio. As I'm using alsa on my desktop computer with great success, I replaced the kernel driver with alsa 0.9. Note: You should use a rather new version (by example alsa0.9rc6), as in old versions the card is not every time detected or produces noise in some applications (I saw that problem with rc2 and rc3). The needed driver is called snd-via82xx (or snd-via686a, snd-via686 or snd-card-via686a in older versions which I do not recommend to use).

I'm not sure, if the sound chip supports midi sequencing. But using a software called timidity, you can emulate this function in software.

DVD Drive

Look above for graphics configuration. A good media playing software which supports DVD playback is xine (maybe you also want the dvdnav plugin). Put a symbolic link from /dev/dvd to /dev/hdc, so that xine can find the right device.

updatedTV Out

Works very well. There are two options to activate it:

newNotes concerning specific distributions

Chart

FeatureMandrakeSuSE
ACPI patch included 9.1, 9.2: yes, activate in control center, but Fn keys don't work/lock up computer 8.1, 8.2: yes
Software Suspend included 9.2: yes, add suspend parameter to boot configuration unknown
Modem driver included no, available as Mandrake Club download unknown
cpufreq included (for powernow) 9.1, 9.2: yes, but didn't manage to get it to work 8.2: yes, see comments below
RTDVS powernow driver included no, but can easily be added no, but can easily be added
3D accelerated graphics (Retinal Burn driver) included 9.1, 9.2: no, but installing Retinal Burn driver works no, and I have feedback that Retinal Burn driver does not work

Comments

Mandrake 9.2: In jont work with Fernandino Esposito (thank you very much) I explored the FX501 with Mandrake 9.2. Fernandino had some problems with the alsa sound drivers (system hang when rebooting), using the kernel driver helped. Power management with ACPI works quite good out-of-the-box because Mandrake has integrated the ACPI patches, but for some reasons the FN keys lock up the computer. Compiling an own kernel (do not forget the ACPI patch) helps to cure that. Fernandino also tested printing on a Windows server which works fine.

SuSE 8.2: Frerk Meyer wrote me an e-mail (thank you!) that he has got an FX501 and uses SuSE 8.2. He found out that SuSE 8.2 ships with a kernel that is optimized for Athlon/Duron and supports ACPI. Furthermore, the kernel includes the modules cpufreq and powernow. These modules are not loaded by default. To load them automatically at boot-time, add

modprobe cpufreq

modprobe powernow

to the acpid startskript (in /etc/init.d). Then you will see a file /proc/cpufreq. The command
cat /proc/cpufreq
gives you status information about powernow and tells that in 'performance' mode the speed is between 50 % and 100 %. To switch to 'powersave' mode, type
echo "0%50%100%powersave" >/proc/cpufreq
Then the laptop only consumes about 10.5 watts instead of about 14 watts. This makes a difference in battery time, especially with older and weaker batteries. Further more, the upcoming SuSE 9.0 is said to have support for many winmodems (not sure if this means support for the one in the Sony laptops!) and a profile manager for notebooks to switch between different network environments.

Installation

Distributions

Mandrake 9.1: Installation was smooth. No problems with ACPI but the reboot problem is there. Neither the Retinal Burn nor the GATOS graphics driver is included, so you have to download it if you want better graphics.

I installed Mandrake Linux 8.1. The installation was not a problem. You are asked, what version of XFree86 you want. If you would like to watch DVDs, XFree86 4.1 is the best choice because this release is supported by the GATOS drivers which are essential for DVD playback. After installation there was a problem with starting linux. Instead of starting, the notebook rebooted... The solution is to provide the parameter "nobiospnp" at the boot prompt. This is due a bug in the kernel used by Mandrake. I compiled and installed kernel 2.4.17 and the problem is gone. It's probably a good idea to compile a new kernel, because the Mandrake kernel only supports APM and not ACPI. That's why the fan is always on and loud...

Additional Hardware

updatedUSB Mouse

An USB mouse can easily be added. Add the following sections to your file /etc/X11/XF86Config-4:

  Section "InputDevice"
    Identifier "Mouse2"
    Driver "mouse"
    Option "Protocol" "IMPS/2"
    Option "Device" "/dev/usbmouse"
    Option "ZAxisMapping" "4 5"
    EndSection

Furthermore, add to the following line to the section ServerLayout:
  InputDevice "Mouse2" "SendCoreEvents"

To ensure that the usbmouse module is loaded before the X server is started, add the "usbmouse" module to the file /etc/modules. If you skip this step you have to restart the X server if you plug-in your mouse while already working.

Feedback

If you have tips, corrections (for mistakes concerning my English or information given here) or ideas concerning problems addressed here, please write to p@p-weissgerber.de. Please only write in English or in German. If you own the same notebook, I'm intereted in your opinion.

Thanks

A big "Thank You!" goes to all people who have done work in their spare time to make this notebook work with Linux!

Links

Translations of this page

Drivers (Software or kernel modules, no recompilation of kernel needed)

Drivers (Kernel patches, you have to recompile the kernel)

Good software for this notebook

Linux in general

Pages about the Sony FX series (AMD processors only)


PLEASE HAVE A LOOK ON THE DISCLAIMER! FURTHER MORE, ALL INFORMATION ON THIS PAGE IS GIVEN WITHOUT WARRANTY! THESE ARE ONLY MY OBSERVATIONS AND I DON'T KNOW IF THEY ARE CORRECT OR IF THEY ARE VALID IN GENERAL!

back to index Valid HTML 4.01! Valid CSS!