Disclaimer: this information is available on an "AS-IS" bases. Nor I nor anyone I'm related with (employer, friends, pets, etc) will be responsible if using this information you will burn your laptop off, or generate a mayor earthquake, and so on. Nevertheless, I hope it helps...
For what I know, this same information should be useful for the FX702 model and probably for all the FX models. I just tried it on my 701. If you find this page interesting, useful or simply if you like to read it because my english sounds so funny, please drop me a note, so that I'll feel happy and keep this page up-to-date.
Here you have a nice screenshot... (by the way: have you noticed the small terminal window reporting syslog messages on the upper right side of the screen? This is my little slogger program!)
Another thing you can notice from the screenshoot above is
the gkrell monitor, with the
gkacpi plugin to show temperature and battery
status (look for it on the plugin link of the gkrell page) and
the cpufreq plugin horribly hacked by me with this patch which add a
"throttling" status report (see below about overheating).
Before continuing, have a look at the very well-done Markus' page: Linux on the sony vaio FX/FXA serie. Surely the reference info for this laptop. Over there you can find a lot of info, so I will not repeat it.
This page is dedicated to run a 2.6 kernel on the Vaio. Basically: it works, and it works well. The first part of the page is dedicated to installation and 2.4 kernel issue, so if you want you can skip it and go to 2.6 kernel section
This page is listed on TuxMobil - Linux on laptops, PDAs and mobile phones. Thanks Werner!
Executive summary on 22 mar 2004:
Hardware:
| Subsystem | Specifications | Status | Notes | Status 2.6 |
| CPU | AMD k7 powernow! | OK | Load the module! | OK |
| Discs | HD20G,floppy,CD/DVD | OK | OK | |
| Video | ATI Rage Mobility M1 14.1" TFT LCD Screen | OK | Acceleration untested | OK |
| Sound | vt82C686 (Apollo Super AC97/audio) | OK | See description! | OK |
| LAN | RTL-8139 | OK | OK | |
| USB | 2 x VT82C586B | OK | OK | |
| Modem | Conexant | ? | Gave up | Gave up |
| PCMCIA Modem | 3Com Megahertz 3CXEM556B | ? | Works |
Software:
| Facility | Status 2.4 | Status 2.6 | Notes |
| Suspend | NO | YES |
The vaio just hangs with 2.4 kernels
With 2.6 PMdisk or swsusp option it works, with glitches |
| Fans | FUZZY | FUZZY | See text |
| CPUfreq | YES | YES |
If something isn't cited here, I have not (yet) tested it.
NOTE: this page is a very preliminary "work in progress". If it's of anybody interest, please drop me a note, it will help me to continue reporting success/failures here.
Installation
For the first time since a lot of years (but it was the first time I installed a laptop, mind you) it was NOT a "out of the box" experience.
I installed Mandrake 9.2 on the laptop:
- Boot from CD
- Wipe all traces of XP from the disk.
- I partitioned the disk into / (9G), swap (500M), /home. I will the move /usr/local to the /home partition with a symlink, and point /opt to /usr/local. That way, all the hand-compiled software, third party one (like crossover office) and the like will stay separated from the distribution. In that way I can reinstall a new distribution if I want without losing my home dir and personalizations.
- First problem: at the first boot, Linux hangs when
loading the sound module. To make a long story short:
- Either boot with interactive mode, skip sound, then configure the OSS module for sound with the Mandrake system configuration panel, reboot. It boots but sound didn't work, probably there is another step to do, but then I discovered that...
- Or change the boot parameter "
acpi=ht" to "acpi=on apm=off" and reboot. All goes well. RECOMMENDED.
- All the rest work out-of-the-box, although if you configure the network with DHCP and then you boots with no network attached it will wait ages before passing the "network" stage of boot (why it's not backgrounded? I think that with judicious backgrounding boot time could be reduced by an order of magnitude...). Well. I changed default configuration to be fixed IP.
Note however that I installed the thing
before discovering that a BIOS update was available
for the Vaio FX701. I applied it after the installation, so
probably is better if you make the upgrade as the first thing.
The upgrade is a windows (grrrr) executable named
R0121K5.exe; you can find it on the sony vaio page (login required,
with the serial no. of your laptop). It will prepare a boot
disk, easy to do. Read carefully the instruction.
Power control with standard kernel.
Mandrake's kernel 2.4.22-26 has the swsusp patch (it seems), but it doesn't work. The Vaio freezes, does not shut down, and doen not reboot.
The first time I booted I had to load manually the acpi
sub-modules (modprobe ac; modprobe thermal; modprobe fan;
modprobe button; modprobe battery), but from then they
got loaded auto-really-magically at boot. If someone explain
this to me, I will be grateful. I installed acpi
from the Mandrake disk and now acpi -V give the
expected information.
Next I loaded the cpufreq module (modprobe
powernow-k7) and started cpufreqd v1.1. I
do not know if I would have to reload the module next boot,
hoping in the above magic here. It seems that it works. Select
acpi_workaround=1 in the configuration file, and
all is well.
A little dissapointing thing is that I have discovered (and
I think it's a BIOS problem) is the following. The fan is
programmed to go on at 50ºC, but it seems it has no
hysteresis cycle: when the CPU reach the threshold temperature,
the fan goes on, and if the vaio is idle, it goes off in a
handful of seconds. To start again in a short time. And so on.
I do not think this is nice to the fan, really. There is no fan
control in /proc/acpi/.../fan/, so I do not know how to solve
the problem. If anyone knows it, write me. Another
problem is that under very high workload (i.e., compiling a
kernel, listen to a CD and browsing) the temperature goes very
hot. I arrived to 76 °C, which I do not like. There is some
kind of emergency action which I do not understand in the file
/proc/acpi/thermal_zone/THRM/trip_points:
critical (S5): 84 C
passive: 80 C: tc1=2 tc2=3 tsp=40
devices=0xcfec0be8
...but I would prefere something more under my control. Till
now I monitor the temperature with acpi -V and
when it seems too high I do a
echo -n 4 >
/proc/acpi/processor/CPU0/throttling
which seems to keep temperature under 70 C. I think I will arrange some Python script to do it automatically, although the perfect solution would be to implement temperature control in cpufreqd...
I was not able to make suspend/resume work, at least not with the standard kernel shipped with Mandrake (yes, I upgraded to the last version). And, more important: if you press one of the Display switch keys (Fn+F7 or Fn+F8) the vaio would lock solid --- I had a moment of panic before discovering that you can force a power-off pressing the power button for more than four-five seconds.
Using a 2.6 kernel.
From here on, I will relate how to run a 2.6.x kernel on the vaio. I am running 2.6.4 now, "vanilla" edition (I mean, the Linus' official tree). You can find my current .config file here. I have eliminated a lot of options and modules to shorten compilation time. Well, this is not the place where explain how to compile and install a kernel, so I will be really stringy. Remember to install the package module-init-tools from the standard Mandrake distribution, otherwise your modules will not work!
I have compiled it (make), installed
(make modules_install; cp arch/i386/boot/bzImage
/boot/bzImage-2.6.1; cp System.map
/boot/System.map-2.6.1) and prepared a couple of stanzas
in /etc/lilo.conf(here),one with the
"resume=/dev/hda5" option, and the other one with
"noresume" (in case of problems with the
resuming). Change accordingly to your configuration.
Sound.
Don't ask me why, but the Mandrake script /etc/rc.d/init.d/alsa would think that the sound modules are loaded (erroneously) and it will not load them. To not waste a lot of time, I horribly hacked that script (diff here) so that it will try to reload the driver everytime... no harm done if they are loaded.
Temperature control.
Kernel 2.6 does behave exactly like 2.4.x recent (see above) --- not too strange, they share a practically identical ACPI implementation.
I have wrote a little daemon, tempwatchd.py that monitors the temperature
and throttles down the CPU if needed. I launch it from
/etc/rc.d/rc.local like that:
/usr/local/sbin/tempwatchd.py &
Read the first comments in it to configure the thing. It will report through syslog. Notice that if the throttling is not able to lower the temperature, it will scream on syslog at level critical... I monitor it with the above mentioned slogger.
Suspending and resuming.
I tried all the three available mechanism, and at the moment
working ones are the in-kernel swsusp and
pmdisk facilities. Notice that it seems that
pmdisk will be dropped any time now. Swsusp 2 is not
working at the time, but its maintainer is very active and I'm
sure it will work any time soon. To go into suspend mode,
su to root and then do the following:
echo 4 > /proc/acpi/sleep
You can do it from a command line into X, graphics will be resumed OK. After resuming (boot the kernel with the pmdisk= your swap partition command line). The only problem is that neither the USB mouse nor the audio works after resume... but you can manage to have them back stopping them before suspending and then reloading them. I concocted a simple-and-dirty suspend script that works perfectly.Notice however that things changed in recent kernels; look at the main page
After a bit of playing, I managed the following: install and
start acpid and xenity (they come
with the distro) and drop a file named, for example,
suspend in the directory
/etc/acpi/events:
event=button/sleep.* action=/usr/local/sbin/really_suspendand add the
really_suspend script in
/usr/local/sbin. Now, if you put into your X11 start
script a xhost +localhost command, when you push the
suspend key (Fn+F12) a window will pop up asking confirmation for
suspend and then suspending the laptop. With a bit of work you
should be able to enable suspend when closing lid and/or pushing
the power button.
PROBLEM #1: you have to eliminate the sound volume applet
from gnome, it keeps the /dev/sound/mixer device
opened so that you could not unload the modules.
PROBLEM #2: if you suspend with the charger plugged in, and
then resume on batteries, linux will not notice the change;
cpufreqd will think AC is on, and so keep the
clock at full speed. Plug and unplug the adapter and all is ok
again. I forwarded the bug to linux-kernel and acpi-devel
list.
PROBLEM #3: never try to suspend with your USB pendrive mounted. USB will fail to unload, resume in bad state, and now to have your pendrive back you can only reboot.
CDROMs, supermount, fam and the
likes.
Mandrake uses the supermount filesystem patch to mount automagically cdrom, floppies etc. I think that it is more a source of problems than not. For example using the USB pendrive is a nightmare. You put it in and it gets mounted. An icon appears, all OK. Then you write to it and it is almost impossible to umount. Busy everytime, you do not know when you can extract it safely, etc...
I've done the following:
- I have not applied the supermount patch to the kernel.
- added the line
/dev/sda1 /mnt/usbdrive vfat users,noauto 0 0to
/etc/fstab; now I mount the drive by hand withmount /mnt/usbdriveand the correspondingumount. Old style, but safe. - I have installed autofs and edited
/etc/auto.masterand/etc/auto.remto automount cdrom and floppy; to keep happy the Mandrake tools I have added two simlink to mnt...rmdir cdrom floppy; ln -s /rem/cdrom /mnt/cdrom; ln -s /rem/floppy /mnt/floppy. No icons, but it will work. I am curious to try Mandrakelinux 10.0 and MagicDev...
Internal modem.
In summary, I gave up. Not enough time to spend on it. To resume, I downloaded the free version of the driver from the linuxant page, compiled and installed it. The module compiled and loaded well, although it gives a freightening kernel stack trace dump on unloading (probably it's due to the devfs poor state in 2.6.x, and not to the driver). I can speak to the modem all right with the kppp terminal window, but the connection with the ISP is very flaky (and slow...). I thought about buying the full version*, but then I discovered I can buy a supported PCMCIA modem in eBay for less than the license... without any problem of upgrade/new kernels/compatibility in the future.
PCMCIA modem
I bought a combo modem/ethernet card in eBay, a 3Com Megahertz 3CXEM556B. You may ask why, but the combo card is cheaper then the modem-only one and moreover it comes with a X10 connector, so that no dongle is needed. Worked like a charm; just enable the card manager and... that's all!
Now, you can go back to the main Sony vaio page.
