Linux installation on laptops is still not as easy as it should be, for the usual reasons that manufacturers (especially Sony) provide little help, and the latest hardware (especially Sony hardware) may not have Linux drivers available. So the best help is found by trawling the web looking for pages from other people that have managed something. The canonical starting point is Kenneth Harker's Linux on Laptops page.
This is a note of my attempts to get Linux working on a Sony Vaio Z600NE, starting in July 2000. I used advice on pages written by others on the slightly earlier model, the Z600RE (see the pages by: Thomas Renard, Andy Schofield, and H. Frahm, my thanks to them). The Z600NE is pretty similar except for a faster processor (maybe a slightly different display controller and modem). These Vaios are European models which are reputed to be variants of the Z505SX/HE, although again there probably are some minor differences.
Please send me any feedback or comments on these pages, particularly if you have success somewhere I failed, or news of new drivers, better configurations, etc.
Last modified: Wed Dec 18 14:25:47 GMT 2002
$Revision: 1.3 $
The machine I have has a Mobile PIII 650 SpeedStep with 256MB RAM (128MB upgrade) and 12GB hard-disk. Coming from a 500Mhz desktop, this seems quite a speedy machine but it does run hot --- whenever the CPU is doing something for more than half a second the fan comes on, something which was very rare on my previous machine (a 366Mhz Dell Inspiron). The fan speed is also ramped up and down, which is a bit distracting at first. I hope it's not going to get noiser as the machine ages. Probably as a result of all this heat generation, the battery life is a paltry 1-1.5hrs, which I'm pretty disappointed with. (Sony sell a triple capacity battery as an accessory, it's a shame that isn't supplied as the default kind; maybe it's three times as heavy too...). On the upside, the keyboard is better than I expected, I'm getting used to the smaller-than-usual size shift keys fairly well.
Here's Linux 2.4's view of the PCI peripherals:
[da@fraenkel /dev]$ lspci -vt --+-00.0 Intel Corporation 440BX/ZX - 82443BX/ZX Host bridge +-01.0-----00.0 Neomagic Corporation: Unknown device 0016 +-07.0 Intel Corporation 82371AB PIIX4 ISA +-07.1 Intel Corporation 82371AB PIIX4 IDE +-07.2 Intel Corporation 82371AB PIIX4 USB +-07.3 Intel Corporation 82371AB PIIX4 ACPI +-08.0 Sony Corporation CXD3222 i.LINK Controller +-09.0 Yamaha Corporation YMF-744B [DS-1S Audio Controller] +-0a.0 CONEXANT: Unknown device 2443 +-0b.0 Intel Corporation 82557 [Ethernet Pro 100] +-0c.0 Ricoh Co Ltd RL5c475 \-0d.0 Sony Corporation: Unknown device 808a
The display driver is a Neomagic 256ZX. The modem is a Conexant (Rockwell) winmodem device (inevitably). I'm using a PCMCIA modem instead.
I suspect the BIOS has been a bit crippled by Sony. Not many options are available, and several of the special Fn-keys have no effect.
One thing I missed is the ability to adjust the screen brightness, and I couldn't find out how to adjust it documented anywhere. In Windows, the Sony bloatware traps Fn-F5 and brings up a pretty on-screen display of a brightness bar which one can adjust using the arrow keys or jog-dial.
In fact, Fn-F5 does adjust the brightness in Linux -- but only in one direction, upwards! I've recently found out that Fn-Shift-F5 adjusts the brightness downwards (thanks to Kwok C Yeung for a note telling me this). Perhaps the other keys work with shift like this too, I haven't tested them yet.
I began with Mandrake 7.1 GPL. I couldn't find how to make the install procedure to recognize the CDROM after booting, so I did a network install using an NFS mount from my old laptop. This proceeded smoothly, I even used the Mandrake tools to resize my Windows partitions, and it worked! Kudos to Mandrake for that, it saved the hassle of figuring out fips.
I realised that it is possible to do the install without a network (or copying the CDROM to hard-drive): put the pcmcia.img onto a floppy, boot from the USB floppy, then insert the CD afterwards. This is also workable as a rescue mechanism for Mandrake, if you press F1 then type "rescue" when you see the logo. It would be a lot more pleasant to burn a CDROM which used the pcmcia.img as the boot code, though, to only use the one fast boot device! I plan to try this sometime.
Mandrake installed XFree86 3.3.6 running with the framebuffer device server by default. It worked but seemed slow, little if any acceleration. I switched to using the Neomagic driver in XF86_SVGA, and forcing the chipset to NM2200 with a Chipset "NM2200" line in the device section. I could only get 16 bit mode to work, but this is probably faster than the 24 bit mode anyway and good enough for most needs. Luckily
I tried the XFree 4 server that Mandrake supplies with the neomagic driver there, but that seemed a bit flaky one way or another.
In case it helps, here are my XF86Config files: XF86Config for 3.3.6, XF86Config-4 for 4, and the file which Mandrake configured, XF86Config.default.
Mandrake configured this automatically without trouble: the driver is the eepro100.
This works with the ALSA drivers as described by others; you need newer versions than the ones with Mandrake 7.1 (see references above). One problem to be aware of is that you do need to get the BIOS to initialise the sound chip, by setting PnP OS to No. As other people have noticed, this can cause Windows to hang when it's booting!
Unfortunately, I have a problem here in that sound will not work at the same time as the network card. Linux doesn't seem able to cope with the multiple usage of IRQ, resulting in errors from the ethernet driver. For now, I'm sacrificing sound...
No-go, it's a Winmodem without support at the moment AFAIK. Windows suggest the modem is a Conexant HCF PCI device, and lscpci lists the device id 2443. Conexant's modem page is particularly unhelpful. A bit more information mentioning chipsets and Windows drivers is here. The place to watch is Linmodems.
I was pleasantly surprised to see how well Linux support for USB has come on since its fledgling beginnings. I first tried the USB backports for the 2.2 series mentioned elsewhere, then I upgraded to 2.4 anyways. I installed the usbmgr program as well, although maybe you can do without that.
Sony Floppy This uses the usb-storage module, and SCSI emulation. The humble floppy appears as a SCSI hard drive to Linux! To get this to work I added the line:
alias block-major-8 sd
to modules.conf, and made a link /dev/floppy -> /dev/sda. (update: the module is called sd_mod in 2.4.x). Because I don't get on well with supermount (which Mandrake likes), I use autofs instead, and so I have this line in auto.misc:
floppy -fstype=auto :/dev/floppy
I can read and write floppies in DOS and ext2 formats fine. The only problem is formatting floppies, I'm not sure if that's possible with the USB driver (yet). Anyway, this is more than enough for me, I thought floppy disks were obsolete anyway...
Since the supplied battery lasts for only an hour or so, I investigated ways to conserve power as much as possible. The default Recommended BIOS setting for power management seems to be useful, since it uses the power saving modes of the CPU when operating from the battery, if ACPI is not active. See below for notes about ACPI (summary: don't enable it).
Look in in the Linux Battery-mini-HOWTO for other ideas. I reduced the frequency of update as suggested there.
Filesystems: I began with a reiserfs root partition, but changed it over (somewhat laboriously) to ext2. I suspect having any reiserfs partitions is a bad idea for power management, since there is a daemon process launched which (I'm guessing) does some rearranging of disk blocks when the disk is idle. The reiserfs web pages say "an idle disk is a wasted disk" but this isn't the angle you want for power management!
I've recently been trying to get the memory stick reader to work, but
no luck yet on this model.
Seems to be connected to PCI rather than USB (see this message).
Can anyone help?
The machine also has an infra red port, a "jog dial", and a 1394 adapter. I haven't tried to get any of these working under Linux. Probably the IR is possible, at least.
I tried to update to 2.4 because I believed it might help with managing the multiple devices on IRQ 9 problem I observed (I found problems with both sound and networking enabled). Kernel 2.4 also has some Plug-and-Pray support, so I hoped it would save me needing to change the BIOS setup when I boot to Windows. Unfortunately early 2.4 kernels were not so good: APM caused a lock-up with the 2.4.0 test versions. Meanwhile, later 2.2 kernels fixed the problem with the networking/sound combination. Since 2.4.5 (on Mandrake 8.0), things are better.
Warning: updating a 2.2 distribution to 2.4 is rather non-trivial. You need to upgrade several other packages, and adjust a bunch of configuration files. I began by using the Mandrake "hackkernel" package but even with that lots of tweaking is needed. It's easier to use a distribution which supports 2.4, of course. Otherwise, you undoubtedly will need to configure your own kernel. You can take a look at a config file of mine; I've trimmed out a lot of stuff I didn't need so you may need to edit it.
A general hint: ignore the cheerful suggestion in Configure.help to include both APM and ACPI support in the kernel, since ACPI for linux seems hardly ready for use yet: I couldn't even power off my machine after building this in, let alone examine the battery usage. (Please tell me if things are much better by now: I built releases of acpid and pmtools back in August 2000, some tests seemed to work but all I managed to do was to suspend the machine momentarily, and with 2.4.0-test3, like APM, this resulted in a lock-up. There were only basic command-line tools; I was hoping that ACPI support might emulate APM so the existing KDE laptop support would work, but it was no go.)
Mentioning the battery usage, you may find that APM doesn't find out the capacity of the Sony battery properly. Bob Dunlop tells me this is because of a BIOS fault, and has contributed a patch which may fix the problem by kernel 2.4.8.