I managed to write a fix for the ACPI bug which was preventing proper power management if you add one more 2.5" SSD/HDD to the Quad SSD VPC-Z11.
Basically, it is a windows driver which loads very early (immediately after NT kernel and HAL) and dynamically patches the ACPI tables with the proper ones (which I dumped from the "bug-free" system state)
NOTE - the patch is for the very experienced users, so PLEASE read the readme.rtf VERY CAREFULLY and please think carefully whether you want to proceed further.
Naturally - It goes without saying that this is a potentially dangerous process, and that usage of any info from the attached vaiopatch.zip file is at your own riskNo, seriously, this can make your computer unbootable so please check the readme and do consider if you can perform the repair steps before trying to do anything! System backup is a must.
I believe I documented the process well, so that people with moderately advanced system knowledge can use this patch. There is a pre-compiled driver available in the /example directory, but that driver is valid for systems which have EXACTLY the same configuration as mine (all described in Readme)
If you have a different system (e.g. ACPI tables at different locations, different CPU from i7-620M, etc..), you will need to extract good ACPI data and re-build the driver by yourself. This process will require Windows DDK and some C/C++ programming knowledge. I cannot provide too much support there unfortunately, outside from I already wrote in readme.
-
Attached Files:
-
-
Your document come with very beautiful format.
Thank you very much for doing this manual for us. -
It looks like ACPI tables are even more broken when the system boots from the 2.5" SSD drive - Everest reports many of the tables as 0-bytes long and of "unknown" type and even patching does not help.
So, at this moment - the patch will work only if the OS boots off the built-in SSD, and extra SSD is used for applications/data...
Why is that... it is really beyond my imagination. It appears there some pretty serious bugs in the Sony's BIOS that do affect those ACPI tables quite a lot. -
So the bug still exist (even with this patch applied) if the extra SSD is used as boot disk?
-
Definitely impressive psyq! In your opinion what is the actual "bug"? Do you think it was intentionally done this way by Sony or just something they didn't test? Or were they deviating from Intel's spec for the chipset?
-
Yes, unfortunately
And they are trashed in the way this simple fix cannot patch them. I guess it would be possible to still fix it by writing entire ACPI configuration space...
I wish Windows allows overriding of those parameters... In the worst case one can write an application that does EIST instead of Windows (e.g. like CPUgenie, just for i7 without trying to control voltage)
It shows that ACPI configuration data in the new Z is very unstable and that different factors can unsettle it and make it invalid in different ways.
E.g. so far here is the list of things that I found out, that trash the data:
- Adding 5th SSD drive (in the DVD slot) (p-states messed up)
- Starting system-level apps such as Everest or Sandra (brightness control stops working, p-states messed up but without effect as CPU driver loads ACPI data on boot only)
I don't think this is "intentional bug" - it looks this is just a early BIOS/EFI with clear problems. I guess Sony really modified stuff this time (e.g. customizing RAID option ROM, removing EFI boot, etc..) so maybe it was their engineers that made this bug accidentally....
We'll see. I'll throw an e-mail to Sony telling them that they seem to have a nasty BIOS bug... let's see if they fix it. -
I wonder what the potential of other features being affected are by this bug.
I have random issues with the machine entering into S3. -
By the way, I noticed that default compiled driver becomes useless if some BIOS settings are changed.
That means that the location of the ACPI table can be different on the same system, depending on the BIOS settings, boot configuration, etc...
Unfortunately, this means that more people will probably have to dump the tables and recompile the driver with the proper memory offset and data.
I guess this process can be automatized if DSDT and main SSDT tables are parsed and CPU-related SSDT tables are found, and even patching driver could be smarter... but this is much more time consuming to be done, and I don't think I'll be able to do this anytime soon.
For now, this "dumb" patch will do. -
Thanks for your findings.
I found the messed up ACPI table probably is the source of Bluetooth problem and USB problems. I found sometimes, after waking up from sleep, Z11 will not be able to connect to any USB devices if the USB selective suspension is enabled but later disabled even after switching to other power scheme.
Does anyone have the similar problem?
If so, we should ask Sony to fix the BIOS! -
I have the same issue with the USB devices. Sometimes I can't even get USB devices to be recognized even after rebooting. I have to uninstall all the USB items in Device Manager before everything is detected again.
When you graphics selection is set to AUTO and you close the lid (SLEEP S3) it doesn't actually enter S3?
What I am seeing is that when the machine attempts to go into S3 and graphics are set to auto, it switches to STAMINA (Intel HD) even if the machine is on AC power. Hibernate is fine though I am surprised how long it takes to enter this state regardless of using a compressed memory hibernation file or not.
This link has a lot of detail on how USB works in 7. -
All these issues just confirm my fears that EFI/BIOS in the New Z is just too immature and contains lots of bugs.
I guess these things will be fixed in the future, but to expedite that we should all send our complaints to Sony. -
Just tried to do a run of PCMARK Vantage and the machine was hung hard. Not even the CAP LOCKS light would come on.
It feels like you could add this to the list along with with Everest and Sandra.
This is such an odd problem. -
Wow this really is amazing work psyq321 and needs to be seen.
I have just started looking into ACPI being the possible cause of the GPU switching issues on the Intel side when used in a Hybrid Graphics configuration. I of course have no real clue what I am looking for or at though.
-
So that's what it was... I thought it was Everest that was giving me the problems.
-
Just got a Z122.
It has the 128GB dual RAID SSD's. Would I need to use this fix? Or is it only when you go over 4 devices? -
Thread title:
Fix for the New Z QuadSSD + Extra SSD CPU bug -
Just double checking that there wasn't any weird issues with the other RAID combos.
Thanks for the courteous response.
-
I notice things have moved on a little since this was last posted so I'm wondering how I can check if this is relevant to me.
I've got a VPC-Z128, i7 M620 CPU, quad SSD + 2.5" (spinning disk) HDD in the DVD drive bay. BIOS version is R2074C3 (presumably newer than the version for this patch) and running Windows 7 x64.
I can't figure out if Sony have actually fixed this problem. In Resource Monitor, the CPU line (I assume I should be looking at the blue one ie. NOT the green usage lines) is stuck at 100% *except* on occasion it'll drop to 80% for maybe a few seconds at a time. Also, if I switch thermal control strategy (in the VAIO Control Center -> Power Management -> Power Options) from "high performance" to "silent", I get a lot less heat output, the fan spins down and performance drops considerably - *but* that blue line stays between 80% and 100% (with the vast majority spent at 100%) even if there's no load (according to the green usage lines). In this mode, according to CPU-Z the clock speed seems to move around from around 2.6Ghz to 3GHz. Given the CPU is nominally 2.6GHz this looks to me more like turboboost than true throttling - but there's no mistaking that in silent mode performance drops considerably and less heat is produced so something must be happening.
And of course battery life is also quite a bit worse than before I put the HDD in - but it's not quite bad enough for me to discount the possibility that it's simply because the HDD is drawing more power than the DVD drive did.
Does this sound like the same problem as the one that the rest of you with 4SSD-plus-extra-drive are having? When your problem happens, does changing thermal management strategy do anything? What kind of runtimes were you getting on the stock battery? -
Achusaysblessyou eecs geek ftw :D
I dont think Sony fixed this problem because they never anticipated this problem. You are noticing less "heat" and sound when you go on Silent mode, because on silent mode your lappy throttles CPU and GPU performance so that it doesn't have to spin up the fan that much. In win 7, you can right click the desktop and select gadgets and then select cpu meter, which is a simple interface to see how much CPU is being used... then again, Win Task Manager tells you the same thing -
Thank you for your reply! However I think there may be some confusion about the question I am asking.
My understanding of the original problem is that plugging in a HDD or SSD into the SATA port originally used by the DVD overwrites the ACPI table so the CPU no longer throttles in response to reduced load. This appears consistent with my experience if I only look at the blue frequency line on performance monitor or the CPU-Z speed indicator - even when the green usage lines are very low the blue line stays at 100% (and occasionally dropping to 80%).
However, I haven't been able to find, in this thread or the previous ( http://forum.notebookreview.com/sony/476311-new-z-serious-problem-additional-ssd-hdd-7.html ), any reference to this problem also preventing throttling when the thermal management strategy is changed.
In my case, my CPU is clearly throttling when I change thermal management strategy *but* this isn't reflected in the output of performance monitor or CPU-Z. I'm also observing reduced battery life but not to an extent that makes me willing to discount the possibility that it's simply because the new HDD is more power hungry than the DVD drive.
So I guess a more succinct way of phrasing my question is that I would like to clarify with someone who is having the original problem:
- Do you observe any evidence of throttling (eg. less heat, fan spinning down, reduced performance) when you change thermal management strategy (independent of what monitoring software reports)?
- When your CPU is failing to throttle, what kind of runtimes do you see on battery?
On a related note, throttling the CPU frequency is of course only one way in which the CPU reduces power consumption. The i7 is able to shut down cores (cores show up as "parked" in performance monitor) for instance so even when the core frequency is fixed (eg. in performance mode), I can get vastly different runtimes (and heat output and fan noise) depending on load. With the problem documented in this thread, are these other mechanisms also "broken"? Obvious evidence of this would be on-battery runtimes that are constant regardless of load. -
Is it possible to break the Quad Raid Setup and convert it to a Dual Raid w/o changing the hardware?
-
yes, in the intel raid utility.
Doesn't fix this acpi issue though. -
^Too bad, I really thought it was possible to bypass the cpu bug w/o having to run the patch. Thankfully, this patch should do the trick. Just needs a bit of effort.
-
I just wanted to clarify, if this patch is applied correctly:
1.) CPU usage would return to normal levels (as long as i boot or my OS is from the stock internal ssd)
2.) Brightness control is unaffected.
3.) Running additional software (e.g. visual studio, VM's, mozilla) would throttle the cpu as normal.
4.) Any other red flags regarding the patch? I'm close to pulling the trigger on a newmodeus caddy. -
Hi psyq321,
I've just tried to use your supplied driver file to see if it fixes the bug that is apparent on my system.
I bought a newmodeus caddy and WD750 scorpio blue HDD (Not SSD) drive and installed it the other day.
According to the specs you provided on your excellent document, my system matched... well almost, the only difference being I have gone to the latest Sony BIOS that is available (R3030C3).
Using AIDA64 I have checked the first four SSDT tables on my system (without extra drive) and they matched the details in your document.
So Id thought I would give it a go.
Ive configured my system appropriately according to the links (Set system to test signing )and have checked the signing of the vaioPatch.sys file, however it seems it has not resolved the problem on my system.
What is the best way to check that the driver actually loaded?
If is has loaded and it didn't work.I'll have to go on a crash course on dumping the ACPI tables on my system without the hdd installed.
Did you ever hear back from Sony about potentially fixing this? -
AFAIK, Sony never bothered to fix the problem
To be very honest, I never expected them to do so - because this problem is not related to their factory setups + the number of people impacted must be very small... And, since Sony is not really well-known for good service...
Anyway, it could be that the driver is patching wrong memory offsets.
Unfortunately I already sold my old VPC-Z last week so I cannot check things "live" but I would suggest to:
a) Patch memory with the driver
b) Dump it again and cross-check if the SSDT table holding P-states is updated to the valid values (compare it to the "proper" SSDT table dumped from the working system)
Unfortunately, it can very well be that with the new BIOS something else changed
-
Ahh you sold it.... what laptop have you moved to now?
I've dumped the memory from my machine in an unbuggy state, for the range tables specified in your original patch. As mentioned before my range, was identical to the one in your initial patch.
On my machine its 3 SSDT tables not 4 that are incorrect.
They show up as "Unknown" in AIDA
All three memory addresses appear to be correct, BUT all three have a table length of 0 bytes.
As you reccommended, I've attempted to patch the memory space....
but it seems that its not working, or its being overwriten after the driver has been loaded.
Looking at NTBTLOG.txt I can see the driver was loaded
------------
Service Pack 110 5 2011 15:01:43.109
Loaded driver \SystemRoot\system32\ntoskrnl.exe
Loaded driver \SystemRoot\system32\hal.dll
Loaded driver \SystemRoot\system32\kdcom.dll
Loaded driver \SystemRoot\system32\mcupdate_GenuineIntel.dll
Loaded driver \SystemRoot\system32\PSHED.dll
Loaded driver \SystemRoot\system32\CLFS.SYS
Loaded driver \SystemRoot\system32\CI.dll
Loaded driver \SystemRoot\System32\DRIVERS\vaioPatch.sys
Loaded driver \SystemRoot\system32\drivers\Wdf01000.sys
Loaded driver \SystemRoot\system32\drivers\WDFLDR.SYS
Loaded driver \SystemRoot\System32\Drivers\sptd.sys
Loaded driver \SystemRoot\System32\Drivers\WMILIB.SYS
Loaded driver \SystemRoot\System32\Drivers\SCSIPORT.SYS
Loaded driver \SystemRoot\system32\drivers\ACPI.sys
...
------------
When I attempt to read this memory location in "RW-Everything" after boot, this memory location is blank. I've reattempted by modifying the driver to load the range of just the three SSDT tables I mentioned above. However again, I cant see anything in memory location after rebooting.
I've checked the compilation of the driver and there doesnt seem to be any issues there.
Clutching at straws, I've also tried disabling all startup and service related pieces via msconfig, alas no luck.
I can upload the memory dump from "RW-Everything" after boot, but at this point I believe this is too late for windows.
Any ideas on how I could identify the memory patch actually worked?
At this rate I might be looking at the option of replacing the RAID drive...or moving back to a much slower external drive solution. -
I changed to VPC-Z2.
Unfortunately, without the Z1 at hand, I really do not know what can be done... sorry
-
Hi
I have a Z112GX and apparently it only has the 1 LIF connector
I am thinking of buying the dual LIF and add a 256GB (2x128) SSD to the 128GB (2x64) that is already installed.
But, I have a 1TB HDD in my DVD drive, so if I do this I would be subject to this bug.
Can you help me with this?
I don't know anything about programming (but I am an easy learner on using programs).
my configuration is:
MODEL: VPC-Z112GX
• BIOS/EFI: R3031C3
• CPU: Intel Core i5 520M
• MEMORY: 8 GB RAM
• SSD: will be Quad SSD (with a 256GB SSD that is 2x128 and a 128GB SSD that is 2x64) + Extra 2.5” 1TB HDD
• 64-bit Windows 8 Pro
I can look up everything and do anything if you can give me instructions.
I have not installed the 256GB SSD yet (it is being shipped) so my system is running fine now and should therefore have the proper ACPI values....
I also don't have the dual connector yet (I didn't even order it) so even once the 256GB is installed it would be 2x128.
Is this easy enough or really hard to do?
Am I able to do this now or do I need to wait for the 256GB drive to be installed?
In case I can do it now, I followed your instructions so far.
The numbers I got are:
PATCH START (ACPI OFFSET): 9368DD98h
PATCH END (ACPI END): 93690CFAh (93690918h hex+994 dec )
ACPI_LEN: 2F62h (END-START)
But as of this point I am stuck.
I have never dumped memory before.
I tried searching for dumping programs and have no clue on how to use them.
The only program I think I got to work somewhat is MDMP64.exe but even there I don't even know where the memory dump file is saved or if I did it properly (the only thing I could enter was the command /r:###:$$$ where memory region: $$$ (hex) bytes from address ### (hex) where I entered 2F62:9368DD98 and that probably isn't even correct). The program also never "completes", it simply seems to be idle as nothing is happening but no new commands can be entered.
I also don't understand what to do with it once I find it. I don't have a C app (can I use yours?) to read the dump file and output.
The only dumping programs I can find do a complete dump, or of a specific program. I cannot find a dumper that dumps specific memory addresses
I don't know if this is an incentive, but I am willing to offer a $20 reward for helping me get a proper driver. I can send you any files you may need or provide screenshots....
Please Help!!! -
I found a new possible solution!!!
Jeyi H117D Laptop Optical Drive Bay Caddy 2 5" SATA Hard Drive SSD Switch Button | eBay
This caddy has a power on switch which by default is off.
So the computer boots with only the quad SSD and the 5th SSD/HDD is off until you press the switch which is after the computer is on.
As I'm using the 5th drive only as a 1TB mega-store drive, it is not my boot drive so I don't really have a problem only turning it on when needed.
This also should improve battery life, as it is off when not necessary.
Does this workaround work?
Do the ACPI tables get corrupted even after the computer was booted and a 5th drive is connected?
From what I've read, there may be a brightness bug (I am not clear on what that is exactly), but the CPU power ACPI table I thought was only loaded at bootup (which is what the driver was for loading at bootup).
Let me know please ASAP, I am about to order it! -
well i just realized it is a 12.5mm caddy and the Z needs 9.5mm
I might buy it anyway and see if I can break it open and fit it inside of my 9.5mm caddy... -
Ok, you could switch it ON after booting, but if you switch it off, you'll lose cached data. Unless you turn off disk caching, which will kill drive performance, or you find some way to mark the drive as removable, and use the 'safe to disconnect' method like you do for external storage (USB).
-
well there really is no real reason to ever turn it off.
They way I have my current caddy set up is so that it turns off the HDD after 60 seconds of inactivity, so battery use is minimal as it is.
The only problem is this bug, and I don't think it would apply if it is turned on after booting.
But I am a bit confused with this size issue.
The caddy I have now officially calls itself a 9.5mm caddy.
Yet the listing here Jeyi H117D Laptop Optical Drive Bay Caddy 2 5" SATA Hard Drive SSD Switch Button | eBay shows that the actual 12.5mm dimensions are from the outside thickness. And without taking apart my Z yet again, a primitive measurement showed that the current caddy's outside front dimensions are about 12.5mm
Do you think this is an issue?
What is the correct size?
Fix for the New Z QuadSSD + Extra SSD CPU bug
Discussion in 'VAIO / Sony' started by psyq321, Apr 24, 2010.