Sony VAIO SZ6 and Ubuntu

Update Oct 28 2007:: The webcam now works!

Update Oct 18 2007:: Suspend/Resume works with the 2.6.23 linux kernel.

I purchased a Sony VGN-SZ650N/C in September 2007. Full specs are here. It’s a great laptop except for the fact that you have to pay the Microsoft Tax and that the preinstalled vista has a whole heap of junk preinstalled (I’ve never seen anything quite this bad before. Anyways, this is not a review, there’s plenty of those online already, but an attempt to document my efforts to make the GNU/Linux distribution: Ubuntu Gutsy Gibbon (32 bit)  run smoothly on this laptop and by extension, hopefully the rest in the VAIO SZ6xx series. Most of the stuff in here is more or less distribution independent and should work on recent version of Fedora/OpenSUSE/Gentoo/whatever as well. I have not had the time to spend too much time on all of the items below yet, this is very much a document “under construction”. If you happen to have something working which I have not mentioned/solved yet please write me and I will put it here (and give proper credit of course).

PCI Devices

Here is the output from lspci in stamina mode.

00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 0c)
00:02.0 VGA compatible controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)
00:02.1 Display controller: Intel Corporation Mobile Integrated Graphics Controller (rev 0c)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1c.3 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation Mobile IDE Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation Mobile SATA IDE Controller (rev 03)
00:1f.3 SMBus: Intel Corporation 82801H (ICH8 Family) SMBus Controller (rev 03)
06:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)
07:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 12)
09:04.0 CardBus bridge: Texas Instruments PCIxx12 Cardbus Controller
09:04.1 FireWire (IEEE 1394): Texas Instruments PCIxx12 OHCI Compliant IEEE 1394 Host Controller
09:04.2 Mass storage controller: Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)

USB Devices

Here is the output from lsusb:

Bus 006 Device 003: ID 05ca:183a Ricoh Co., Ltd
Bus 006 Device 001: ID 0000:0000
Bus 007 Device 001: ID 0000:0000
Bus 002 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 001 Device 002: ID 147e:2016
Bus 001 Device 001: ID 0000:0000
Bus 005 Device 002: ID 044e:300d Alps Electric Co., Ltd
Bus 005 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000

Installation

The installation worked without any problems (using Ubuntu Gubsy Gibbon Tribe 5), I used the “stamina” mode.

Sound

Worked partly out of the box. The sound works, but speakers are not independent from the head phone plug. This means that plugging in head phones does not mute the speakers, and the speakers cannot manually be muted without also muting the head phones. In general, alsa exports very few controls for the sound card (which is a Intel Corporation 82801H (ICH8 Family) ). Ubuntu is running Alsa version 1.0.14, and the changelog for 1.0.15rc1 lists a lot of changes to the snd-hda-intel driver, which is good. I have not tried installing any release canditate of 1.0.15, but will probably try it.

Update:
I installed alsa version 1.0.15rc2 and now the speakers are muted when the headphones are inserted. The microphone works as well after enabling it in the mixer. Using the GNOME alsa mixer, it looks like this:
screenshot-volume-control-hda-intel-alsa-mixer.png

Suspend/Hibernate

Suspend/Resume works with the 2.6.23 release of the linux kernel. See The Master Kernel Thread for help on compiling your own kernel. Note that you will have to install the wireless drivers for the Intel 4965 wlan card as well, which is a bit tricky. More information about that process can be found here.

Fingerprint Scanner

Not working yet.

Webcam

The webcam, identified by lsusb as:

Bus 005 Device 005: ID 05ca:183a Ricoh Co., Ltd

works by patching the Ricoh R5U870 linux driver as explained by Utz-Uwe Haus.

Brightness Controls

Not working yet.

Stamina vs. Speed mode

Not tested yet, should work out of the box. You need to use different xorg.conf files. This little script by Ariel Vardi copies the right xorg.conf file on startup depending on whether or not the nvidia card is activated or not.

VIDEO=`/usr/bin/lspci |grep -c nVidia`

if [ “$VIDEO” = 1 ]; then
cp -f /etc/X11/xorg.conf.speed /etc/X11/xorg.conf
else
cp -f /etc/X11/xorg.conf.stamina /etc/X11/xorg.conf
fi

The script should be placed in the /etc/init.d so it is run on startup (before gdm) and the two xorg configurations (speed and stamina) should exist, full details on Ariel Vardi’s excellent site.

73 thoughts on “Sony VAIO SZ6 and Ubuntu

  1. I certainly know about the tax. Vista came with my new laptop as well and yes, there was a whole pile of preinstalled junk, and I’m not joking when I say that half of the extra programs don’t actually do anything.

  2. Getting setup on this laptop also, would love to compare notes… My biggest issue at present is that I can’t get the dock’s DVI port to work in stamina (intel) mode. Nvidia dual head setups are working just fine as 2 DFP’s. I will get the xorg.conf files up at my site as soon as I get them finalized, any help is great!

  3. Hey shadowmite

    I remember the description for the dock specifically says the DVI port only works in Speed mode.

  4. As known, VAIO computers have AHCI and VT-x disabled by default. And VAIO’s BIOS setup utility has no option to enable these features. If anybody wants to enable these features, he can do this with symcmos.exe utility from DOS mode. For more information see http://www.wimsbios.com/phpBB2/topic9326-30.html. I posted there NVRAM registers for Sony VAIO SZ650N/C.
    P.S. Sorry for my English: it’s not my native language.

  5. Hi Thomas

    I have just bought an SZ650N and am really glad I’ve found your page. I’ve maintained a similar page for the Acer Aspire 3023 for a couple of years but it’s a bit of a pain. Never mind. If I find out anything useful for Ubuntu on the Vaio I’ll let you know so that you can publish it. Latest is that I’ve submitted a bug for the screen not dimming as it should:

    https://bugs.launchpad.net/bugs/173652

    And I’m having a bit of trouble with the dual graphics cards, but hopefully Ariel’s script will sort that out. Also, have you got compiz working on the Intel graphics card?

    Cheers

    Mike

  6. Hey Mike
    I will definitely be happy with any information you might stumble upon. My only big problem is the brightness keys not working. Yeah, the intel card can drive compiz, there’s two thing to worry about there:
    1) Standard Ubuntu does not support to parallel GLX installations, so if you install the proprietary nvidia driver the intel card will no longer work with OpenGL mode, and vise versa.
    2) Some versions of compiz fusion explicitly blacklists the Intel card due to problems with video playback (I think it’s technically the xv stuff that fails or something like that)

  7. @Mike (and anyone else who might need it)

    You can grab the drivers again yourself from Sony. Sonystyle UK has them here: http://support.vaio.sony.co.uk/downloads/info/info.asp?site=voe_en_GB_cons&url=Vaio/Original/SZ6_Drivers.zip (this contains the camera driver.)

    Utz-Uwe Haus’ patch works very well. The current version of the driver that Sony provides has a different md5sum than the one used by Haus but the extracted firmware’s checksum is fine and the firmware works without a hitch. Remember that you have to manually copy r5u870_183a.fw into your firmware directory manually (probably /lib/firmware).

  8. Has ANYONE got a working xorg.conf that can use the DVI port off the docking station and turn OFF the internal LCD? It doesn’t seem to be possible! Some kind of bug in the drivers, or sony’s hardware makes the laptop think display 1 is the lcd, and 2 is the external UNTIL xorg loads, then it flops the other way. If anyone gets this working, please update here!

    Again, I can get everything to work together, just not the DVI port alone, with the lcd off (as you’d use it docked sitting on a desk).

  9. Hi,
    can you post the md5sum of the r5u870_183a.fw file. I am not sure if I extracted the correct firmware as my windows driver has a different md5sum.
    How can I see, if installing the driver worked?
    I get :
    >modprobe r5u870
    >lsmod | grep r5
    r5u870 61892 0
    video_buf 22469 1 r5u870
    videodev 28097 1 r5u870
    v4l2_common 18625 2 r5u870,videodev
    v4l1_compat 15813 2 r5u870,videodev

    but
    gphoto2 –auto-detect
    gives no results

    Thanx

  10. I’m a lucky duck.

    So, I get to be a bit picky in choosing a laptop, so I go to a store in Manhattan that has 40+ to choose from. First I eliminate most of them just based on price/specs/appearance.

    Then I take my blackberry and go through each of the remaining four or five on linux-laptop.net.

    Sony should give you some credit for the sale. I’m not saying the ASUS or IBM models I looked at couldn’t work with Linux, I’m just saying that your site was the only exact model match I found.

  11. Hi Thomas,

    It’s great to find your blog about the sony SZ laptop and linux! I’m wondering whether Utz-Uwe Haus’s patch also works for Fedora. I copied ‘R5U870FLx86.sys’ and his ‘recode-fw.scm’ and ‘r5u870-0.10.0-vcc7patch’ into a directory. But when I run ‘sh recode-fw.scm’, the computer echoes as

    recode-fw.scm: line 2: !#: command not found
    recode-fw.scm: line 3: syntax error near unexpected token `;;’
    recode-fw.scm: line 3: `;; script to extract the firmware from a windows driver file’

    So what’s the problem?

  12. Now I have used

    # chmod 755 recode-fw.scm
    # recode-fw.scm

    to get the r5u870_183a.fw file and have copied it manually into /lib/firmware, as Niranjan said. Then how can I patch and/or install the driver? Can anybody describe it in more detail?

  13. To apply the patch do something like:
    patch < r5u870-0.10.0-vcc7patch in the directory containing the source, you may have to specify r5u870_md.c as an argument to "patch", I don't quite remember the semantics). After that simply type "make" in the source directory. You should now be able to insert the module be issuing: insmod /r5u870.ko

  14. Thank you for your answer, Thomas. I have completed the patch and installed the driver. But the webcam still doesn’t work. The command ‘caminfo’ gives nothing and camstream and ekiga claim ‘no device found’. I’m wondering whether Haus’s method works in Fedora.

  15. Hi there, I’m a bit of a n00b, so pardon my naïveté….

    I installed Gusty on my SZ650N a week ago, and it’s freezing sporadically, even before I’ve manually initiated any applications. It seems well documented (46 pages) on ubuntuforums.org, but I needed to know if others with the hybrid graphics switch had this problem. The type of freeze requires me to unplug the power cord and take out the battery in order to restart, none of the key combinations or buttons work!

    ANY help is greatly appreciated!! I’m about to default to an earlier version, but want to see the graphics. Thanks!

  16. Grace: unfortunately (or maybe not;) ) I have never experienced any freezing with my laptop. Maybe someone else here can help you, otherwise you are probably more likely to get your problem solved through the forums at ubuntu. If you manage to solve it, let me know and I’ll be glad to post your solution here.

  17. Hi Thomas

    Ubuntu are now distributing alsa-1.0.15 in their linux-backports-modules package for Gutsy, and include alsa-1.0.15 in Hardy. They haven’t quite got sound fully supported though – you have to add:

    alias snd-card-0 snd-hda-intel
    options snd-card-0 index=0
    options snd-hda-intel index=0 model=vaio

    to /etc/modprobe.d/modprobe.conf to get the headphones working, and the internal mic still does not work. Could you share your config so that these bugs can be fixed?
    https://bugs.launchpad.net/ubuntu/+source/linux-ubuntu-modules-2.6.22/+bug/175674
    https://bugs.launchpad.net/ubuntu/+source/linux/+bug/175652

    My guess is that your modprobe.d section will have something useful in it…

    Cheers

    Mike

  18. Hi!

    I read in your post that you had to install the recent ALSA drivers for your headphone jack to work… I guess I’m having the same problem here (SZ-61MN) so I’d like to ask you if you have any pointers for me on how to get ALSA 1.0.15* installed here on my (more or less) fresh Ubuntu 7.10 install.

    thanks in advance (a ton, actually, for every hint ;))
    Flo

  19. Michael, I only had to add “options snd-hda-intel model=vaio” to my alsa-base to make the sound work. Of course that was with my own compiled version of alsa. I just checked, and adding that line is not enough for the alsa version currently in Debian unstable.

  20. Florian, I downloaded and compiled alsa-baseand alsa-drivers myself using configure –with-cards=hda-intel (or something like that) to ensure that the HDA intel drives was available.

  21. Just to clarify to all those people installing alsa 1.0.15. Even when you add the model=vaio options you _still_ have to enable the display of the internal microphone switch in the gnome alsa mixer (it’s there, but the gnome mixer does not display it by default.

  22. I’m thinking of buying this laptop and installing Gutsy on it. One of the reviews is dated Sept 2007 (BestBuy.com) says that Ubuntu 7.10 doesn’t even pass the initial installation steps. My question is do any of you regret picking this model to try Gutsy on? I really can’t stand the thought of trying Vista right now….maybe later. If you had it to do over again is there a more compatible model? I really don’t care if every single component doesn’t work (ex. fingerprint reader, camera, card reader). I just want the video and sound to work well.

    Thanks for any advice.

  23. Hi!

    I am trying to get suspend and hibernate to work on my sony vaio VGN SZ483N on speed mode (it works well in stamina mode) using the latest kernel (2.6.24) in Hardy alpha3 but I am not having any success. Did you do anything special to get your suspend/hibernate to work? I am right now only trying suspend from the live CD. I don’t want to install Ubuntu on this machine until it can work well in speed mode with external DVI output.

    Thanks for any advice.

  24. Mike, thanks for the new webcam link, worked fine for me (I hadn’t installed the old one, hadn’t worried about it).

    By the way, alsa-1.0.15 worked well for me, but before I installed it, I had one more problem than the author of this page. It didn’t just ‘not mute the internal speakers’ but it also failed to make any noise through the headphone jack, as if nothing was happening at all. Anyway, 1.0.15 fixed it fine.

    So, I have 2.6.23 running and wanted to do the wireless drivers like you said, I got the mac subsystem running fine, could (obviously) move the iwlwifi-4965-ucode-4.44.17 ucode to /lib/firmware, make && make install 1.2.23 of iwlwifi, but when it comes to testing, I get a very weird error. As if something is wrong with my /bin/sh:

    % ./load debug=0x43fff
    ./load: 4: Syntax error: “(” unexpected

  25. I did not see anywhere here if you got the power button working for shutdown… I am using 2.6.23.14-107.fc8 and have not been able to get it to work. The system knows it’s there :
    ]\$ more /proc/acpi/button/power/PWRB/info
    type: Power Button (CM)

  26. Brightness control can be added through acpi events at least for the nvidia graphics chip using acpi events, I have not played with the intel chip yet….

    # lower brightness
    event=sony/hotkey SPIC 00000001 00000010
    action=/etc/acpi/actions/sonybright.sh down
    # brightness up
    event=sony/hotkey SPIC 00000001 00000011
    action=/etc/acpi/actions/sonybright.sh up

    #!/bin/bash

    function adjust
    {
    BRIGHTNESS=$1
    if [ “$BRIGHTNESS” -ge 9 ]; then
    BRIGHTNESS=9
    fi

    if [ “$BRIGHTNESS” -le -9 ]; then
    BRIGHTNESS=-9
    fi
    echo $BRIGHTNESS >/etc/acpi/var/brightness
    B=0.$BRIGHTNESS
    B=`echo $B | sed ‘s/0.-/-0./’`
    logger “adjusting brightness $B”
    /usr/bin/nvidia-settings -c “:0.0″ -V \
    –assign BlueBrightness=”$B” \
    –assign RedBrightness=”$B” \
    –assign GreenBrightness=”$B” 2>/tmp/sonybright.log
    }

    BRIGHTNESS=$(cat /etc/acpi/var/brightness)

    if [ “x$1” = “xdown” ]; then
    BRIGHTNESS=$(( $BRIGHTNESS – 1 ))
    adjust $BRIGHTNESS
    elif [ “x$1” = “xup” ]; then
    BRIGHTNESS=$(( $BRIGHTNESS + 1 ))
    adjust $BRIGHTNESS
    else
    echo >&2 Unknown argument $1
    fi

  27. Matt: Cute little script for the NVIDIA card, I figured something like that would be done eventually, thanks :) I’ve heard reports of xbacklight (or is it xbrightness?) working on the intel chip, I have not yet tried it and I don’t remember where I read it.

  28. xbacklight does seem to work for the intel graphics side on the sz650 also.

    Now if I could get the power button to work.

  29. Matt, could you describe your script in more detail? How can I use it? I am also using 2.6.23.14-107.fc8 and I want to adjust the brightness of my SZ6 laptop in speed mode. There seems to be no directory ‘/etc/acpi/var’ on my system.

  30. I created /etc/acpi/var myself for the script to use to store the current brightness.
    first you can use the “acpi_listen” command to make sure you are getting the acpi events correctly when you do Fn+F5 and Fn+F6. They should come out as :
    sony/hotkey SPIC 00000001 00000010
    sony/hotkey SPIC 00000001 00000011

    you need to do a :
    xhost +local:root
    This command lets root have access to you X Display so when the scripts execute they will work. You would need to do this for each account.

    There are two file that go into /etc/acpi/events

    One file brightness-down.conf contains :
    # lower brightness
    event=sony/hotkey SPIC 00000001 00000010
    action=/etc/acpi/actions/sonybright.sh down

    the other brightness-up.conf contains :
    # brightness up
    event=sony/hotkey SPIC 00000001 00000011
    action=/etc/acpi/actions/sonybright.sh up

    touch /etc/acpi/var/brightness so it exists

    Copy the bash script from above to :
    /etc/acpi/actions/sonybright.sh

    That should be it I think. You can add in
    xbrightness to the script if you want to control
    the intel side also.

  31. Hi, Matt, I have done as exactly as you described but the brightness could not be adjusted via the hot keys. Have you tested your script on your own system?

  32. Yup I used the script on both speed and modified it for staminate last nite.

    If you try the nvidia program manually does it work ?

    /usr/bin/nvidia-settings -c “:0.0″ -V \
    –assign BlueBrightness=.1 \
    –assign RedBrightness=.1 \
    –assign GreenBrightness=1”

  33. I am having trouble converting your config to work with the intel drivers. I noticed our files varied a bit as yours were ‘brightness-down.conf’ while mine was ‘brightness-down-conf’. I am using gutsy.

    #etc/acpi/events/brightness-down-conf
    # lower brightness
    event=sony/hotkey SPIC 00000001 00000010
    action=xbacklight -dec 10

    #etc/acpi/events/brightness-up-conf
    # brightness up
    event=sony/hotkey SPIC 00000001 00000011
    action=xbacklight -inc 10

    I am not sure how to use the acpi_listen command to check that the keys are even responding. Anytime I type ‘acpi_listen’ it just displays a carrot key in the console and waits for a ctl+c to exit.

    Note: I just installed ubuntu today, and this is my first time working with linux. Please don’t be too harsh on me as I’m obviously way out in left field with this :D

  34. The nvidia program works. I noticed that the acpi_listen returns fn+f5 and fn+f6 as

    sony/hotkey SPIC 00000001 00000010
    sony/hotkey SPIC 00000001 0000003b

    and

    sony/hotkey SPIC 00000001 00000011
    sony/hotkey SPIC 00000001 0000003b

    , respectively. They both are two lines (but the second lines are the same). Is it the matter?

  35. Thanks Mat for the script, it took a lot of fiddling but finally got it to work. For example, I needed to add xhost +local:root to my .bashrc so it would start every time I logged in.

    Just wondering if anybody got the lid event to work, when I close my lid, nothing happens unfotunately even when I set it up to suspend.

  36. Hi there, thanks for this site. Helpful stuff. I have just bought a Vaio VGN-CR490EBN and I can’t get Gutsy to load. It seems to be some kind of Xorg problem. Would you have any insight?

    yours,

    Erik

  37. One question to the nvidia-settings (I am having Fedora core 7 installed): When I use the nvidia-setting tool (or the sonybright.sh script), I can only increase the brightness of the colors but I cannot decrease the background light. The initial setting seems to be the .1 and I can only go up from there!
    Anyone has an idea? I am using NVIDIA-Linux-x86-169.07-pkg1.run

Leave a Reply

Your email address will not be published.