Debian GNU/Linux on Sony Vaio PCG-Z1SP


Last updated $Date: 2004/03/19 09:47:49 $

You may find useful information on the Linux on Centrino Laptop page at tuxmobil.org.

You may find PCG-Z1A related information on Mark's page. Most of it apply to the Z1SP as well.

Hardware and installation

My old Vaio PCG N505SN was a bit too old, so I upgraded to a PCG-Z1SP. It comes with:

Of course it is way bigger than the old one, but the better resolution was really appealing. It has Windows XP pre-installed, and comes with 5 rescue CD-ROMs, it may be useful, and they are well done, as they won't erase your linux partition and will reinstall Windows on whatever space you leave for it. I chose to have 20G for Windows and 40G for Linux.

Here is the lspci -tv output:

-[00]-+-00.0  Intel Corp.: Unknown device 3340
      +-01.0-[01]----00.0  ATI Technologies Inc Radeon Mobility M6 LY
      +-1d.0  Intel Corp. 82801DB USB (Hub #1)
      +-1d.1  Intel Corp. 82801DB USB (Hub #2)
      +-1d.2  Intel Corp. 82801DB USB (Hub #3)
      +-1d.7  Intel Corp. 82801DB USB EHCI Controller
      +-1e.0-[02]--+-05.0  Ricoh Co Ltd RL5c475
      |            +-05.1  Ricoh Co Ltd R5C551 IEEE 1394 Controller
      |            +-08.0  Intel Corp. 82801BD PRO/100 VE (MOB) Ethernet Controller
      |            \-0b.0  Intel Corp. PRO/Wireless LAN 2100 3B Mini PCI Adapter
      +-1f.0  Intel Corp. 82801DBM LPC Interface Controller
      +-1f.1  Intel Corp. 82801DBM Ultra ATA Storage Controller
      +-1f.3  Intel Corp. 82801DB SMBus
      +-1f.5  Intel Corp. 82801DB AC'97 Audio
      \-1f.6  Intel Corp. 82801DB AC'97 Modem
      

I first tried with with the "testing netinst" CD-ROM. It seemed to work fine until I installed LILO... At that time, it was impossible to boot Linux, nor Windows, I then reinstalled Windows. I then decided to try with the good old Woody CDs. I used Windows to write Ian Eure's woody netinst image and rebooted on the CD.

Here is the partition I used:

Disk /dev/hda: 60.0 GB, 60011642880 bytes
255 heads, 63 sectors/track, 7296 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

   Device Boot    Start       End    Blocks   Id  System
/dev/hda1   *         1      2432  19535008+   7  HPFS/NTFS
/dev/hda2          2433      2556    996030   a0  IBM Thinkpad hibernation
/dev/hda3          2557      2680    996030   82  Linux swap
/dev/hda4          2681      7296  37078020   83  Linux
      

If the hibernation partition is not used, it will give me some more swap later. I avoided to add a partition for /var or /home as I will be the only one on this laptop, and then the "safe" setup of regular servers is not needed. (Update, I might transform the hibernation partition into a swap one and use swsusp, more on this later)

The installation went just fine. I installed the base system, LILO (with both Linux and Windows), removed the CD, rebooted, installed woody, then sarge, got kernel sources as well as pcmcia ones, and the machine was (almost) usable.

Kernel configuration

I compiled a 2.4.22 kernel with the following options:

You can access the complete 2.4 .config kernel configuration. Use make oldconfig for more recent 2.4 kernels, like 2.4.24.

The configuration for 2.6 kernels is pretty much the same. I changed the sound driver to use the alsa one, as it works now (and it is in the kernel tree). My main issue is that the sonypi module won't autoload (I have this configred: alias char-major-10-63 sonypi and options sonypi minor=63). I need to find time to solve this!

The framebuffer was not right, I found this patch on the linux-kernel mailing list. Apply it and enjoy a working console and framebuffer!

You can access the complete 2.6 .config kernel configuration. Use make oldconfig for more recent 2.6 kernels, like 2.6.4.

Elements and Status

CPU & ACPI

It works (of course!) and the 2.4.22 kernel I use allow me to use throttling (the performance states are not working, I get "acpi_processor-1095 [32] acpi_processor_set_per: Transition failed" instead of the expected behaviour).

I tried earlier to use Intel's processor.o (see their ACPI download page), but failed by omitting the -f option of insmod. I now use it, and it works perfectly.

With the processor.o from the kernel sources:

ACPI: AC Adapter [ACAD] (on-line)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Lid Switch [LID0]
ACPI: Power Button (CM) [PWRB]
ACPI: Processor [CPU0] (supports C1 C2, 6 performance states, 8 throttling states)
ACPI: Thermal Zone [ATF0] (37 C)
	

With Intel's processor.o:

ACPI: AC Adapter [ACAD] (on-line)
ACPI: Battery Slot [BAT1] (battery present)
ACPI: Lid Switch [LID0]
ACPI: Power Button (CM) [PWRB]
ACPI: Processor [CPU0] (supports C1 C2, 6 performance states (Native), 8 throttling states)
ACPI: Thermal Zone [ATF0] (39 C)
	

I use acpid to power off and on the screen backlight, I added /etc/acpi/events/lid, created the /etc/acpi/lid.sh script, compiled and installed radeontool.

The main issue I have is that the computer stay awake after a shutdown, the screen is powered off, but I have to press a few seconds on the power button to power down the whole machine. I modified /etc/init.d/halt to force the S5 sleep mode in ACPI, but a fix will be in 2.4.22-pre9, so I applied the proposed patch and revert /etc/init.d/halt to its original version.

Update, 2.4.22 is out but for older kernels, here is the patch Willy Tarreau sent to linux-kernel.

Update again. Nils sent me an email pointing me to a post on linux.kernel. Unsetting CONFIG_X86_UP_APIC in the kernel configuration cause the system to shutdown properly. I suspect that the ACPI_DISABLE_IRQS(); call in acpi_power_off is just hanging and prevent the kernel to enter sleep state S5 (power off).

Another note: Depending on the power source, the bogomips value reported at boot vary from 1186.20 on battery to 2968.70 on AC. Is this behaviour caused by the BIOS or the DSDT?

Status: ok (see above)

Built-in ethernet port

Works well with the e100 module. As it works and I don't use it very often, it's enough.

Status: ok

Built-in 802-11b

Intel just released a driver. It is under development, so more functionalities are expected (like Ad-Hoc mode),and it is not mean to be stable.

However, I tried it with kernel 2.6.4 (external build, with "legacy" firmware loading mode) and it works pretty well. Version 0.30 was not working in closed WiFi networks, but 0.34 if ok with that.

I will need to polish some scripts for that, as I manually start dhcp and set some parameters for now.

I still carry my old Orinoco PCMCIA card, just in case something goes wrong (it happened one time with 0.30)

Status: Partially ok

USB

With the ehci-hcd module, I can access my external disk, and with the usb-uhci module, I can see (and use) the memory stick and bluetooth. See below the output of lsusb:

Bus 004 Device 001: ID 0000:0000  
Bus 004 Device 002: ID 054c:0069 Sony Corp. Memorystick MSC-U03 Reader
Bus 004 Device 003: ID 044e:3003 Alps Electric Co., Ltd 
Bus 003 Device 001: ID 0000:0000  
Bus 002 Device 001: ID 0000:0000  
Bus 001 Device 001: ID 0000:0000  
	

Status: ok

Memory Stick

I have a Sony camera, so I will not have to carry the USB cable on my next trips. The reader is seen when the usb-uhci is loaded, with usb-storage, the /dev/sda disk is available, and I just had to create an entry in /etc/fstab to mount it user,noauto as a msdos file system.

Status: ok

Bluetooth

It works well also, I was able to use my cellphone as a remote control, using bluexmms. See the kernel .config above. Using Debian Sarge (testing), I was unable to locate the bluez-utils package, so I downloaded it from the BlueZ Debian download page. Useful to debug and test.

Status: ok

PCMCIA

It is a yenta socket bridge, so be sure to have PCIC="yenta_socket" in your /etc/default/pcmcia.

Status: ok

X11

It works well with Xfree 4.2 using the radeon driver, but the backlight is always on. I tried Xfree 4.3 to see if this was solved with no luck. I then decided to patch the driver myself "the hard way", and it works perfectly now. you can download and replace your /usr/X11R6/lib/modules/drivers/radeon_drv.o (built from Debian sources xfree86_4.2.1-6, from Sarge, 29/Jul/2003, here is the diff). The latest diff is dated 10 Sep 2003, in previous versions, a bug was preventing external display to work as expected.

Also, I was unable to have direct rendering working. If someone has the solution...

Update: Nils got it right, he gave me his XF86Config-4, but apparently it will work only when Debian will move from 4.2.1.1 to 4.3.0...

Also I have to remove xfstt, as it was preventing me to start X (endless loop, or extremely time and cpu consuming startup).

You can read my XF86Config-4.

I am currently working (when I can find some spare time) on a tool to use the function keys. I am using the sonypi driver to intercept the events, and libxosd for the display part. Here is a binary snapshot that only sets the brightness. (I wrote the code in ten minutes, it is too ugly to publish it yet :) ).

Status: almost ok

Sound

I tried ALSA, but it failed in 2.4 , so I am using the OSS i810_audio module. Here is the entry in /etc/modules.conf (in fact, in /etc/moduils/oss, as /etc/modules.conf is generated with update-modules or update-modules.modutils).

alias sound-slot-0 i810_audio 
options i810_audio clocking=48000
post-install sound-slot-0 /usr/bin/aumix -L >/dev/null 2>&1 || :
pre-remove sound-slot-0 /usr/bin/aumix -S >/dev/null 2>&1 || :
	

David reported to me that the sound was cutting sometime, this behaviour is linked to X activity. It turned out that the new O(1) schedulers were the cause, so a quick fix was to fix the nice level of X from -10 to 0 in /etc/X11/Xwrapper.config.

Status: ok

Modem

lspci reports a Intel Corp. 82801DB AC'97 Modem (rev 03). I installed the source version of the HSF linmodem from Linuxant. Everything went ok, it auto-detected the modem. I did not test it yet, as I usually connect via Wireless anyway, or bluetooth now that I have it working.

Status: ok (I hope)

Conclusion

Debian installation was quite easy, there are lots of things to improve to be able to use all the functionalities, like suspend to disk (it was working perfectly on my previous Vaio N505SN, handled by the BIOS), and screen blanking. The wireless card got support only in march 2004, better late than nothing!

Please do give me feedback to yves@raubacapeu.net.


(c) 2003 Yves Lafon
Last edited: $Id: vaioz1sp.html,v 1.23 2004/03/19 09:47:49 ylafon Exp $