sony vaio z-series and linux

 

Current issues:

The biggest missing feature so far is the ability of switching on/off the nvidia card with no reboot required (like Windows Vista).

There is an ugly workaround which involves intalling Windows XP:

It seems that Windows Vista is able to uninitialize the Graphics cards while it's running. So it is possible for Vista to somehow uninit the cards when shutting down. With XP installed, when shutting down, the LED stays on and when booting to linux, only one of the graphic cards is visible. So at least Linux now works with the "only Nvidia card" configuration or the "only Intel" configuration with a cold reboot.

According to sPOiDar, here is the situation:

This missing feature is a combination of factors:

A) A poor system BIOS that is completely unconfigurable, that relies on detecting Windows versions to determine operation. This is something we may be able to leverage, though it's really an ugly hack.

B) The long-standing poor handling of multiple VGA adapters under linux, and probably some xorg and nvidia-drivers deficiencies in int10 initialization.

Nvidia driver doesn't seem to honour the BiosBase xorg device option, so there is no option to shoehorn in a bios dump to resolve multi-card issues.

----

Here is a summary of what has been attempted:

lspci | grep -i vga
00:02.0 VGA compatible controller: Intel Corporation Mobile 4 Series Chipset Integrated Graphics Controller (rev 07)
01:00.0 VGA compatible controller: nVidia Corporation GeForce 9300M GS (rev a1)
/etc/X11/xorg.conf:
Section "Device"
Identifier "Device0"
Driver "nvidia"
BusID "PCI:1:0:0"
EndSection

 X can't start. /var/log/Xorg.0.log shows:

Code:
(II) resource ranges after probing:
[0] -1 0 0xffffffff - 0xffffffff (0x1) MX[b]
[1] -1 0 0x000f0000 - 0x000fffff (0x10000) MX[b]
[2] -1 0 0x000c0000 - 0x000effff (0x30000) MX[b]
[3] -1 0 0x00000000 - 0x0009ffff (0xa0000) MX[b]
[4] -1 0 0x0000ffff - 0x0000ffff (0x1) IX[b]
[5] -1 0 0x00000000 - 0x00000000 (0x1) IX[b]
(II) NVIDIA(0): Creating default Display subsection in Screen section
"Screen0" for depth/fbbpp 24/32
(==) NVIDIA(0): Depth 24, (==) framebuffer bpp 32
(==) NVIDIA(0): RGB weight 888
(==) NVIDIA(0): Default visual is TrueColor
(==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
(==) NVIDIA(0): Using HW cursor
(**) NVIDIA(0): Enabling RENDER acceleration
(==) NVIDIA(0): Video key set to default value of 0x101fe
(II) NVIDIA(0): Support for GLX with the Damage and Composite X extensions is
(II) NVIDIA(0): enabled.
(EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device PCI:1:0:0.
(EE) NVIDIA(0): Please see the COMMON PROBLEMS section in the README for
(EE) NVIDIA(0): additional information.
(EE) NVIDIA(0): Failed to initialize the NVIDIA graphics device!
dmesg shows:
Code:
Oct 9 08:55:53 TSVaio nvidia: module license 'NVIDIA' taints kernel.
Oct 9 08:55:53 TSVaio nvidia 0000:01:00.0: power state changed by ACPI to D0
Oct 9 08:55:53 TSVaio nvidia 0000:01:00.0: enabling device (0000 -> 0003)
Oct 9 08:55:53 TSVaio nvidia 0000:01:00.0: PCI INT A -> GSI 16 (level, low) -> IRQ 16
Oct 9 08:55:53 TSVaio NVRM: loading NVIDIA UNIX x86 Kernel Module 177.80 Wed Oct 1 14:38:10 PDT 2008
Oct 9 08:57:34 TSVaio NVRM: loading NVIDIA UNIX x86 Kernel Module 177.80 Wed Oct 1 14:38:10 PDT 2008
Oct 9 08:57:56 TSVaio NVRM: failed to copy vbios to system memory.
Oct 9 08:57:56 TSVaio NVRM: RmInitAdapter failed! (0x30:0xffffffff:894)
Oct 9 08:57:56 TSVaio NVRM: rm_init_adapter(0) failed

The 9500 patch doesn't work.

----

sPOiDar's investigations:

Booting into WinXP, then rebooting disables the Intel, allowing the nVidia to function correctly until next reboot.

First, this just doesn't look right, we're trying to allocate 1 byte where end < start:

Code:
Nov 27 19:02:43 ballista pci 0000:01:00.0: BAR 6: can't allocate mem resource [0xd0000000-0xcfffffff]
This occurs both with the BIOS forcing POSTing the nVidia card (after booting XP), and also when the Intel card is POSTed with both cards are present. It doesn't seem to cause a problem, but it is erroneous behaviour.

Next, when booted with both cards enabled (the BIOS sets Intel to primary), we get the nVidia card allocating memory for the BIOS:
Code:
Nov 27 19:02:43 ballista PCI: 0000:01:00.0 reg 30 32bit mmio: [fffe0000, ffffffff]
Code:
pci bus 0x0001 cardnum 0x00 function 0x00: vendor 0x10de device 0x06e5
nVidia Corporation Device unknown
CardVendor 0x104d card 0x9025 (Card unknown)
STATUS 0x0010 COMMAND 0x0007
CLASS 0x03 0x00 0x00 REVISION 0xa1
BIST 0x00 HEADER 0x00 LATENCY 0x00 CACHE 0x00
BASE0 0xe4000000 addr 0xe4000000 MEM
BASE1 0x00000000c000000c addr 0x00000000c0000000 MEM PREFETCHABLE 64BIT
BASE3 0x00000000e2000004 addr 0x00000000e2000000 MEM 64BIT
BASE5 0x00007001 addr 0x00007000 I/O
BASEROM 0xfffe0000 addr 0xfffe0000 not-decode-enabled
MAX_LAT 0x00 MIN_GNT 0x00 INT_PIN 0x01 INT_LINE 0x0a
BYTE_0 0x4d BYTE_1 0x10 BYTE_2 0x25 BYTE_3 0x90
And attempting to start X gives us our old friend:
Code:
Nov 27 00:44:23 ballista 0: NVRM: failed to copy vbios to system memory.
Nov 27 00:44:23 ballista 0: NVRM: RmInitAdapter failed! (0x30:0xffffffff:891)
Nov 27 00:44:23 ballista 0: NVRM: rm_init_adapter(0) failed
However, there is no 'rom' entry in sysfs for the card as there is when it's properly initialized (I tried setting various COMMAND states via setpci to no effect). And I believe that's why the driver is unable to load it - it's not been decoded. Here's the first 512b memory at 0xfffe0000:
Code:
00000000 4d 5a 90 00 03 00 00 00 04 00 00 00 ff ff 00 00 |MZ..............|
00000010 b8 00 00 00 00 00 00 00 40 00 00 00 00 00 00 00 |........@.......|
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000030 00 00 00 00 00 00 00 00 00 00 00 00 c0 00 00 00 |................|
00000040 0e 1f ba 0e 00 b4 09 cd 21 b8 01 4c cd 21 54 68 |........!..L.!Th|
00000050 69 73 20 70 72 6f 67 72 61 6d 20 63 61 6e 6e 6f |is program canno|
00000060 74 20 62 65 20 72 75 6e 20 69 6e 20 44 4f 53 20 |t be run in DOS |
00000070 6d 6f 64 65 2e 0d 0d 0a 24 00 00 00 00 00 00 00 |mode....$.......|
00000080 c1 45 3c dc 85 24 52 8f 85 24 52 8f 85 24 52 8f |.E<..$R..$R..$R.|
00000090 80 28 5d 8f 84 24 52 8f 80 28 31 8f 81 24 52 8f |.(]..$R..(1..$R.|
000000a0 80 28 08 8f 84 24 52 8f 52 69 63 68 85 24 52 8f |.(...$R.Rich.$R.|
000000b0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
000000c0 50 45 00 00 4c 01 02 00 62 54 6a 48 00 00 00 00 |PE..L...bTjH....|
000000d0 00 00 00 00 e0 00 0f 21 0b 01 07 0a 60 51 00 00 |.......!....`Q..|
000000e0 e0 0c 00 00 00 00 00 00 00 00 00 00 20 02 00 00 |............ ...|
000000f0 80 53 00 00 00 00 00 00 20 00 00 00 20 00 00 00 |.S...... ... ...|
00000100 04 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 |................|
00000110 60 60 00 00 20 02 00 00 00 00 00 00 03 00 00 00 |``.. ...........|
00000120 00 00 10 00 00 10 00 00 00 00 10 00 00 10 00 00 |................|
00000130 00 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 |................|
00000140 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
000001b0 00 00 00 00 00 00 00 00 2e 74 65 78 74 00 00 00 |.........text...|


000001c0 56 51 00 00 20 02 00 00 60 51 00 00 20 02 00 00 |VQ.. ...`Q.. ...|
000001d0 00 00 00 00 00 00 00 00 00 00 00 00 20 00 00 60 |............ ..`|
000001e0 2e 64 61 74 61 00 00 00 ce 0c 00 00 80 53 00 00 |.data........S..|
000001f0 e0 0c 00 00 80 53 00 00 00 00 00 00 00 00 00 00 |.....S..........|
When the nvidia card is correctly initialised, extracting the BIOS via sysfs gives:
Code:
00000000 55 aa 72 eb 4b 37 34 30 30 e9 4c 19 77 cc 56 49 |U.r.K7400.L.w.VI|
00000010 44 45 4f 20 0d 00 00 00 f0 01 3a 1d 00 00 49 42 |DEO ......:...IB|
00000020 4d 20 56 47 41 20 43 6f 6d 70 61 74 69 62 6c 65 |M VGA Compatible|
00000030 01 00 00 00 c1 00 78 be 30 36 2f 32 36 2f 30 38 |......x.06/26/08|
00000040 00 00 00 00 00 00 00 00 00 10 00 00 00 00 00 00 |................|
00000050 e9 f6 34 00 4d 10 25 90 ff ff ff 7f 00 00 00 00 |..4.M.%.........|
00000060 ff ff ff 7f 00 00 00 80 22 00 a5 c1 e9 4b a7 e9 |........"....K..|
00000070 52 a7 50 4d 49 44 6c 00 6f 00 00 00 00 a0 00 b0 |R.PMIDl.o.......|
00000080 00 b8 00 c0 00 33 62 24 4f 05 02 00 7c 00 00 00 |.....3b$O...|...|
00000090 ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff ff |................|
*
000000e0 ff ff ff ff ff ff ff ff 48 57 45 41 53 6f 6e 79 |........HWEASony|
000000f0 20 6d 6f 62 69 6c 65 20 41 20 4e 42 39 4d 2d 47 | mobile A NB9M-G|
00000100 53 20 56 47 41 20 42 49 4f 53 0d 0a 00 00 00 00 |S VGA BIOS......|
00000110 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
*
00000130 00 00 00 00 00 00 00 00 00 00 00 00 00 56 65 72 |.............Ver|
00000140 73 69 6f 6e 20 36 32 2e 39 38 2e 33 43 2e 30 30 |sion 62.98.3C.00|
00000150 2e 30 38 20 0d 0a 00 43 6f 70 79 72 69 67 68 74 |.08 ...Copyright|
00000160 20 28 43 29 20 31 39 39 36 2d 32 30 30 38 20 4e | (C) 1996-2008 N|
00000170 56 49 44 49 41 20 43 6f 72 70 2e 0d 0a 00 00 00 |VIDIA Corp......|
00000180 00 01 ff ff 00 c0 00 70 47 39 38 20 42 6f 61 72 |.......pG98 Boar|
00000190 64 20 2d 20 6e 62 39 6d 2d 36 65 35 00 00 00 00 |d - nb9m-6e5....|
000001a0 00 00 00 00 00 00 00 00 00 00 00 4d 33 39 4d 47 |...........M39MG|
000001b0 5f 32 32 0d 0a 00 00 00 00 00 00 00 00 00 00 ba |_22.............|
000001c0 91 98 96 91 9a 9a 8d 96 91 98 df ad 9a 93 9a 9e |................|
000001d0 8c 9a df d2 df b1 90 8b df b9 90 8d df af 8d 90 |................|
000001e0 9b 8a 9c 8b 96 90 91 df aa 8c 9a f2 f5 ff 00 00 |................|
000001f0 50 43 49 52 de 10 e5 06 00 00 18 00 00 00 00 03 |PCIR............|

Which is much more like what we're looking for, and if the driver is just trying to read the BIOS from 0xfffe0000, then it's obviously not going to find what it's looking for...

Short story long, I think this is a combination of factors biting us - a poor system BIOS that is completely unconfigurable (I've never seen a BIOS with fewer options), that relies on detecting Windows versions to determine operation (this is something we may be able to leverage, though it's really an ugly hack). Plus the long-standing poor handling of multiple VGA adapters under linux, and probably some xorg and nvidia-drivers deficiencies in int10 initialization.

All that said, I've never looked at any of this code before, so I could be completely wrong in all of my assertions. My theory and hope though is, if Vista can initialize the card when booted in the same state we get it in Linux, then we should be able to do so too...

We could probably work around these problems temporarily with the bios-from-file hack, but BiosLocation has now been removed completely for being 'dangerous' (don't use it unless you need it, but don't remove it while it's still useful!), and various other sections have changed. I may look at implementing some analogue (maybe just mmap the bios dump and point BiosBase at it would work?) against the current code...

I have some register dumps from Windows when flicking the stamina/speed switch if they're at all useful, but I've not been able to trace the ACPI calls involved since my Vista seems to hang after about 30 seconds when debug is enabled.

I also have register dumps from linux when booting with the intel card enabled, and disabled by the BIOS (WinXP detection) if they're of any use.

I've attached the requisite nvidia-bug-report, one for a working nvidia state (good), one non-working (bad).

Not really sure where I should be taking these issues now... anyone from NV give us some ideas on where to next?


PS - Another oddity on this thing is that dumping the rom from what's meant to be the Ricoh CardBus bridge actually gives us the Intel VGA BIOS!!

Code:
00000000 55 aa 80 e9 1b f4 30 30 30 30 30 30 30 30 30 30 |U.....0000000000|
00000010 30 30 4c 22 e9 65 21 ba 40 00 e0 0a 30 30 49 42 |00L".e!.@...00IB|
00000020 4d 20 56 47 41 20 43 6f 6d 70 61 74 69 62 6c 65 |M VGA Compatible|
00000030 20 42 49 4f 53 2e 20 03 5a 00 6a 00 78 00 8b c0 | BIOS. .Z.j.x...|
00000040 50 43 49 52 86 80 42 2a 00 00 18 00 00 00 00 03 |PCIR..B*........|
<snip>
00000ae0 24 56 42 54 20 43 41 4e 54 49 47 41 20 20 20 20 |$VBT CANTIGA |
00000af0 20 20 20 20 64 00 30 00 0e 0f ce 00 30 00 00 00 | d.0.....0...|
00000b00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 |................|
00000b10 42 49 4f 53 5f 44 41 54 41 5f 42 4c 4f 43 4b 20 |BIOS_DATA_BLOCK |
00000b20 8d 00 16 00 de 0e fe ea 00 00 64 01 01 0d 07 31 |..........d....1|
00000b30 36 32 39 49 6e 74 65 6c 28 72 29 43 61 6e 74 69 |629Intel(r)Canti|
00000b40 67 61 20 50 43 49 20 41 63 63 65 6c 65 72 61 74 |ga PCI Accelerat|
00000b50 65 64 20 53 56 47 41 20 42 49 4f 53 0d 0a 42 75 |ed SVGA BIOS..Bu|
00000b60 69 6c 64 20 4e 75 6d 62 65 72 3a 20 31 36 32 39 |ild Number: 1629|
00000b70 20 50 43 20 31 34 2e 33 34 20 20 30 34 2f 30 39 | PC 14.34 04/09|
00000b80 2f 32 30 30 38 20 20 30 34 3a 32 32 3a 32 33 0d |/2008 04:22:23.|
00000b90 0a 44 45 43 4f 4d 50 49 4c 41 54 49 4f 4e 20 4f |.DECOMPILATION O|
00000ba0 52 20 44 49 53 41 53 53 45 4d 42 4c 59 20 50 52 |R DISASSEMBLY PR|
00000bb0 4f 48 49 42 49 54 45 44 0d 0a 00 00 00 00 00 00 |OHIBITED........|
00000bc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 6f |..............Co|
00000bd0 70 79 72 69 67 68 74 20 28 43 29 20 32 30 30 30 |pyright (C) 2000|
00000be0 2d 32 30 30 33 20 49 6e 74 65 6c 20 43 6f 72 70 |-2003 Intel Corp|
00000bf0 2e 20 41 6c 6c 20 52 69 67 68 74 73 20 52 65 73 |. All Rights Res|
00000c00 65 72 76 65 64 2e 0d 0a 0d 0a 00 00 c0 03 08 04 |erved...........|
00000c10 20 00 00 01 05 00 07 17 00 01 01 fe 20 00 01 01 | ........... ...|

====

The Intel driver also has a problem, reported here:

http://bugs.freedesktop.org/show_bug.cgi?id=17508

with a possible workaround here (to confirm):

http://bugs.freedesktop.org/show_bug.cgi?id=17292#c165

====

The internal microphone is not working. No errors when testing it and apparently everything works fine but never get to hear what is recorded (more info needed).

====

Reboot problems. It freezes in the last stage of the process (more info needed).
Some Fn+FX keys don't work. Just F2,F3 and F4 (related with volume) do their work. I've tried the workaround related with brightness without success. 

====

The Pro Magic Gate slots for memory cards don't work neither.

====

Issues in getting gsynaptics to work (touchpad).

====

Issues in changing the brightness (some workarounds identified).

A related model and the tries to hack DSDT:

http://lebosse.nicolas.free.fr/wordpress/?p=194

See below some mails from some developers (one of them the guy who maintains the sony-laptop driver in the kernel) who got at least the backlight working. There is a good chance its going to work in the next kernel version 2.6.28 then. Can please people test that they can use the patches below on the laptops? 

====

Solved problems:

Wireless card

sudo aptitude install build-essential
wget http://intellinuxwireless.org/iwlwifi/downloads/iwlwifi-5000-ucode-5.4.A.11.tar.gz
tar xzvf iwlwifi*
sudo cp iwlwifi*/iwlwifi-5000-ucode-5.4.A.11/iwlwifi-5000-1.ucode /lib/firmware

wget http://wireless.kernel.org/download/compat-wireless-2.6/compat-wireless-old.tar.bz2
tar xjvf compat-wireless-old.tar
cd compat-wireless-2.6-old/

vim config.mk
#A file will open. Search for the string CONFIG_IWL4965_HT=y. Directly after that string, on a new line, add this string:
# Code: CONFIG_IWL5000=y

make
sudo make install
sudo make unload
sudo make load

====

 

============================================================================

There is a launchpad team of Sony Vaio Z-series owners and/or developers interested in getting it to work 100% under Linux:

https://launchpad.net/~z-series


Here is a review on computer.tv:

www.youtube.com/watch?v=Qcvu2Aluy7g

This machine is the successor of the SZ premium series, and has a Dynamic Hybrid Graphics system that will enable/disable the nvidia graphics card using a software "hot" switch instead of a hardware "cold" switch (SZ series).

http://vaio-online.sony.com/prod_info/series1/z/interview_Z/index_05.html

In the way it's shown in the video, it seems like Windows Vista does the equivalent of a "gdm restart" in Linux when switching from the nvidia graphics card to the integrated intel card (to confirm).

============================================================================

One of the users summarized different issues here:

Here is the current status running 2.6.27.3: 

config: http://www.logic.at/people/preining/sony/vgn-z11vn/config-2.6.27 

dmesg output: http://www.logic.at/people/preining/sony/vgn-z11vn/dmesg.txt 

DMI decode: http://www.logic.at/people/preining/sony/vgn-z11vn/dmidecode.txt 

DSDT: http://www.logic.at/people/preining/sony/vgn-z11vn/DSDT.dsl

Working fine: 

eth Intel e1000e 

wlan: iwlagn (with hangs now and then) 

intel graphics 

nvidia graphics (both built in, switch on the fly on vista possible, on linux needs reboot)

sata harddisk and cd

usb camera usb_video_class 05ca:18b0 Ricoh Co., Ltd 

audio: HDA touchpad: AlpsPS/2 

usual stuff like cpufreq etc

not tested (but detected) bluetooth (044e:3017 Alps Electric Co., Ltd) cardbus firewire (Ricoh Co Ltd R5C832, config_firewire_ohci)

=====================================================

not working, and here we start with the problems:

WLAN ==== iwl sometimes shuts itself down and immediately again turn on, the rest of the computer hangs for that time, about 2sec: [ 120.345217] PM: Removing info for No Bus:iwl-phy0:assoc [ 120.346008] PM: Removing info for No Bus:iwl-phy0:RX [ 120.347747] PM: Removing info for No Bus:iwl-phy0:TX [ 120.347803] PM: Removing info for No Bus:iwl-phy0:radio [ 122.344972] iwlagn 0000:06:00.0: PCI INT A disabled [ 122.482967] iwlagn 0000:06:00.0: PCI INT A -> GSI 17 (level, low) -> IRQ 17 [ 122.483150] iwlagn 0000:06:00.0: restoring config space at offset 0x1 (was
0x100002, writing 0x100006) [ 122.510812] PM: Adding info for No Bus:iwl-phy0:radio [ 122.511741] Registered led device: iwl-phy0:radio [ 122.511856] PM: Adding info for No Bus:iwl-phy0:assoc [ 122.512627] Registered led device: iwl-phy0:assoc [ 122.512716] PM: Adding info for No Bus:iwl-phy0:RX [ 122.513395] Registered led device: iwl-phy0:RX [ 122.513481] PM: Adding info for No Bus:iwl-phy0:TX [ 122.514227] Registered led device: iwl-phy0:TX

WWAN ==== after rebooting *from* Vista to Linux I see the following USB device: Bus 004 Device 002: ID 0af0:6911 Option which is an Option Globetrotter HSDPA Modem but cold-booting directly into linux this device does not appear functionality not tested since devices are strangly enough not created! Something similar has been reported in http://fedoraforum.org/forum/showthread.php?t=196654 

 NOTE: There should be a 'wwan-power' file somewhere in /sys -- try echoing '1' to it? 

  /sys/devices/platform/sony-laptop/wwanpower

Other than that, it behaves exactly like a GSM modem; you may need to modify the 'option' kernel module to learn about the new USB device ID. On my SZ, to wake up the modem, I believe you need to send the command 'AT+CFUN=1' to actually put it in 'connect to the network' state, as opposed to the default 'transceiver off'. 

Card reader ===========

SD/MMC card reader PCI: 0b:04.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host
Adapter (rev 21) MemoryStick card reader PCI: 0b:04.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)

When I introduce the a SD card nothing works, but the kernel log shows me: mmc0: Reset 0x1 never completed. sdhci: ============== REGISTER DUMP ============== sdhci: Sys addr: 0x00000000 | Version: 0x00000400 sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000 sdhci: Argument: 0x00000000 | Trn mode: 0x00000000 sdhci: Present: 0x00020000 | Host ctl: 0x00000000 sdhci: Power: 0x0000000e | Blk gap: 0x00000000 sdhci: Wake-up: 0x00000000 | Clock: 0x00008003 sdhci: Timeout: 0x00000000 | Int stat: 0x00000000 sdhci: Int enab: 0x00000000 | Sig enab: 0x00000000 sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000 sdhci: Caps: 0x01c021a1 | Max curr: 0x00000040 sdhci: ===========================================

not supported devices =====================

Fingerprint Scanner TouchStrip USB: Bus 003 Device 002: ID 147e:1000 no device driver as far as I see

(sony_)acpi things: ===================

fans practically permanently running, that has been reported on several forums. Is there a way around it?

brightness adjustment via hardware buttons does not work there is /sys/class/backlight/sony but writing to brightness therein does not do anything, neither does xbrightness, nor are any events sent (see below for unknown methods in SNC/SPIC) 

 

There are two points of roblems to enable backlight control on VGN-Z

1)

VGN-Z have SNC, but it is not enabled. - prevoius patch posted. - add VGN-Z entry to sony_nc_ids table

2)

In sony_pic_detect_device_type() function, VGN-Z's SPIC is detected as SONYPI_DEVICE_TYPE2 (per default).

But it does not work for me.

I've checkd throug TYPE1 to TYPE4. Only Type3 and Type4 does work (but it is possible to control backlight only, other function does not work...)

I do not have datasheet for this model, but I think SPIC on this model is not TYPE2. It is same or variant of Type3 or Type4 SPIC.

I put this quick dirty hack code on URL bellow:

http://hanzubon.jp/tmp/VGN-Z90S/sony-laptop.c

Two kinds of change set are included:

- add VGN-Z entry to sony_nc_ids - add type5 SPIC table (currently same as Type4) and use it on VGN-Z

====

rfkill switch does turn of bluetooth AND WLAN, which is not what I want. Problably only the SNC/SPIC routines can do something like turning on/off specific hardware, see below.

SNC/SPIC sony_acpi stuff ======================== (as documented in Documentation/laptops/sony-acpi.txt)

The list of reported methods together with comments of my self and my findings:

methods as reported by sony-laptop debug=1 method: name: _INI, args 0 called method: name: ECON, args 1 unknown method: name: GBRT, args 0 get brightness, not working method: name: SBRT, args 1 set brightness, not working

method: name: PWAK, args 0 unknown method: name: EAWK, args 1 unknown

testing those two as reading and writing pair: reading PWAK gives 0 writing "1" to it does not change anything AFAIS

method: name: SN00, args 1 unknown method: name: SN01, args 0 unknown method: name: SN02, args 1 used in sony_nc_C_enable method: name: SN03, args 1 used in sony_nc_C_enable method: name: SN04, args 0 unknown method: name: SN05, args 1 unknown method: name: SN06, args 1 unknown method: name: SN07, args 1 used in sony_nc_C_enable

method: name: SNIN, args 0 unknown method: name: SNCF, args 2 unknown method: name: SNNE, args 1 unknown testing these three in the a way that SN_set -> SNIN SN_get -> SNNE, SNCF (no idea if this is the way for 2 args) reading SN: 16 writing "1" or "1 2" does not change anything in the reading of SN nor do I see changes

method: name: F100, args 0 method: name: F113, args 0 method: name: F101, args 0 method: name: F105, args 0 method: name: F114, args 0 method: name: F115, args 0 method: name: F11D, args 0 method: name: F119, args 0 method: name: F121, args 0 method: name: F122, args 0 method: name: F124, args 0 method: name: F125, args 0 method: name: F126, args 0 method: name: F128, args 0 all unknown method: name: GPID, args 0 PID_get returns 13

method: name: HSC0, args 0 method: name: HSC1, args 0 method: name: HSC2, args 0 method: name: HSC3, args 1 method: name: HSC4, args 1 all unknown testing: HSC0 only get HSC13 set/get HSC24 set/get reading HSC24 (ie HSC2) gives keyboard.c: can't emulate rawmode for keycode 240 same with writing to HSC13 (HSC3) booting in normal mode gives values: HSC0: 0 HSC13: 2 HSC24: 1 writing "0" to HSC24 did not change anything writing "1" to HSC13 did not change anything

booting with nvidia card selected with hot switch HSC0: 0 HSC13: 0 HSC24: 1 but also echos some strange symbol to stdout which *cannot* be redirected with > or 2>

method: name: HOMP, args 0 reading gives 0, cannot be changed, same with nvidia selected unknown

other things with sony_acpi: writing and reading to wwanpower is possible EVEN if the wwan device is not present/exhibited/listed as device (lsusb)

------------------------------------------------------------------------------- Dr. Norbert Preining <prei...@logic.at> Vienna University of Technology Debian Developer <prei...@debian.org> Debian TeX Group gpg DSA: 0x09C5B094 fp: 14DF 2E6C 0307 BE6D AD76 A9C0 D2BF 4AA3 09C5 B094 

============================================================================

Using powertop to compare power usage, a user tested:

* booting into Fedora 10 64bit under single user mode (minimizing the applications running),
* run powertop directly from the terminal,
* applied all suggested optimizations by powertop and
* I let the machine "settle down" for 5 minutes or so to try and gauge an equilibrium power usage.

Findings:

With No Stamina/Speed Lights: ~20 watts
With STAMINA light: ~14.5 watts
With SPEED light: ~18.3 watts

So, there is about a 5+ watt powersaving by booting with "stamina" mode on, and a 2 watt savings under "speed" mode.

These results may be reason enough for people to investigate more seriously using the Windows XP hack to ensure one of the stamina/speed modes are enabled while you are in linux.

** A savings of 5 watts means an extra hour of batter life with a standard capacity battery.  More with the large capacity **

============================================================================

One of the users has an website with installation and configuration info (Spanish):

http://neotokyo.sytes.net/ Summary information about the system by motoko28