Jump to content

Sony Vaio VPCF115FM Discussion: DSDT Injection


kizwan
 Share

787 posts in this topic

Recommended Posts

My two cents.

 

I own a sony vaio CR11z, i´m using right now dong HD driver for the integrated ATI X2300.

Before i tried every injector avaliable with no success, black screen as anyone else.

 

But several days ago, this thread made some light for me about a possible solution:

Generic brightness

That topic is about a brightness driver wich on the beginning i couldn´t make it work, then ivik (the programmer) released another driver based on a more generic ACPI driver wich reads a customized device on DSDT.

 

Device (BRGT)
			{
				Name (_HID, EisaId ("APP0321"))
				Name (_CID, "brightness")

 

Well, the point is: picking some code from inside DEVICE (LCD) on dsdt and pasting it on the suggested device code, gave me access to the ACPI brightness control: Brightness on Vaio

 

These are the GBRT (Get brightness) and SBRT (Setbrightness) wich are inside DEVICE (SNC)

 

			  Method (GBRT, 0, NotSerialized)
					   {
						   Store (0x00, DID)
						   Store (0x85, BCMD)
						   Store (0x85, SMIF)
						   Store (0x00, TRP0)
						   Store (PAR2, Local1)
						   Return (Local1)
					   }

						  Method (SBRT, 1, NotSerialized)
					   {
						   Store (Arg0, Local0)
						   If (LGreater (Local0, 0x08))
						   {
							   Return (Local0)
						   }

						   Store (0x01, DID)
						   Store (0x85, BCMD)
						   Store (Arg0, PAR2)
						   Store (0x85, SMIF)
						   Store (0x00, TRP0)
						   Return (Zero)
					   }

 

If brightness controls GET/SET are inside Device(SNC) on DSDT, what else it is?

We can take a deeper look onto SNC and try to extract some code and add it to our graphic device on DSDT, filling the "missing" code and/or getting the ability to tweak it.

I´m very sure after this brightness thingy that all the internal LCD problems come from hidding code inside Device(snc) , wich Osx doesn´t recognize at all (Not even a single dsdt line inside it) or DEVICE (EC0)

 

Info about sony ACPI methods Link (Posted earlier on this thread also).

 

 

 

Another example:

Into Device (EC)

Is this method telling the system wich output from the graphic card is the active one ?

 Method (_QBD, 0, NotSerialized)
				   {
					   If (LEqual (OSYS, 0x07D6))
					   {
						   If (IGDS)
						   {
							   Notify (\_SB.PCI0.GFX0, 0x81)
						   }
						   Else
						   {
							   Notify (\_SB.PCI0.PEGP.EVGA, 0x81)
						   }
					   }
					   Else
					   {
						   Store (\_SB.PCI0.LPCB.SNC.ESR, Local0)
						   Or (0x04, Local0, Local0)
						   Store (Local0, \_SB.PCI0.LPCB.SNC.ESR)
						   If (And (\_SB.PCI0.LPCB.SNC.ENCR, 0x04))
						   {
							   Notify (\_SB.PCI0.LPCB.SNC, 0x92)
						   }

						   Sleep (0x01F4)
					   }
				   }

 

Look also how the method does some callings to Device(SNC):

 

Store (\_SB.PCI0.LPCB.SNC.ESR, Local0)

Store (Local0, \_SB.PCI0.LPCB.SNC.ESR)

 

 

Down this code you can find also this one:

					Method (_Q43, 0, NotSerialized)
				  {
					  Store (0x33, DID)
					  Store (0x85, BCMD)
					  Store (0x02, PAR2)
					  Store (0x85, SMIF)
					  Store (0x00, TRP0)
				  }

				  Method (_Q44, 0, NotSerialized)
				  {
					  Store (0x33, DID)
					  Store (0x85, BCMD)
					  Store (0x01, PAR2)
					  Store (0x85, SMIF)
					  Store (0x00, TRP0)
				  }

				  Method (_Q45, 0, NotSerialized)
				  {
					  Store (0x33, DID)
					  Store (0x85, BCMD)
					  Store (0x00, PAR2)
					  Store (0x85, SMIF)
					  Store (0x00, TRP0)
				  }

 

This is clearly setting some values for brightness. (For 3 output devices -----> VGA/S-VIDEO/LCD ?)

 

Anyway, if we follow Store (Local0, \_SB.PCI0.LPCB.SNC.ESR) we arrive to:

 

  
				 Name (ENCR, Zero)
				 Name (ESR, Zero)
				 Name (ABCH, Zero)
				 Name (ECR0, Zero)
				 Name (FNUM, Buffer (0x20)
				 {
					 /* 0000 */	0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x00, 0x00, 
					 /* 0008 */	0x00, 0x00, 0x05, 0x01, 0x06, 0x01, 0x17, 0x01, 
					 /* 0010 */	0x00, 0x00, 0x19, 0x01, 0x0A, 0x01, 0x13, 0x01, 
					 /* 0018 */	0x14, 0x01, 0x15, 0x01, 0x0E, 0x01, 0x0F, 0x01
				 })

 

Doesn´t this look like some kind of sony NVCAPS?

 

Maybe i´m completely wrong, but i think we have to extract ACPI code from sony propietary zones to more friendly devices in order to make them work.

 

Thanks for reading.

Link to comment
Share on other sites

has anyone tried Snow leopard in a SONY VAIO i7 ( VPCF13PFX )

I'm pretending to use it for Final Cut Pro (so audio & video must work)

 

Hardware content (similar):

Processor: i7-740QM 1.73 GHz

VIDEO: NVIDIA® GeForce® GT 310M / GT 425M

AUDIO: Realtek ??? Audio HD PCEE

 

ETHERNET: Marvell® Yukon® 88E8057 PCI-E Gigabit Ethernet

WIRELESS: Marvell® Atheros® AR9287 Wireless Network Adapter

MOTHERBOARD: Intel® 5 Series 6 Port SATA AHCI

 

Please anything you know will be really helpfull

Thanks

skydivemail@yahoo.com

Link to comment
Share on other sites

Razorbackeve: Your investigated stuff looks very interesting. Do you know if it is possible to enable the path /proc/acpi like on linux systems? Is there any way to enable this in OSX? It should, because it's based on linux...

 

With /proc/acpi you can easily write parameters to acpi devices. I think this would save a lot of time.

 

I will try to implement your suggestions, Razorbackeve. But where is the right place for it? Where is the place the standard lcd activation happens on other acpi setups? Any ideas?

Link to comment
Share on other sites

Razorbackeve: Your investigated stuff looks very interesting. Do you know if it is possible to enable the path /proc/acpi like on linux systems? Is there any way to enable this in OSX? It should, because it's based on linux...

 

With /proc/acpi you can easily write parameters to acpi devices. I think this would save a lot of time.

 

I will try to implement your suggestions, Razorbackeve. But where is the right place for it? Where is the place the standard lcd activation happens on other acpi setups? Any ideas?

 

 

See if this helps to enable the procfs. http://osxbook.com/book/bonus/chapter11/procfs/

Link to comment
Share on other sites

  • 3 weeks later...
I have this hunch we're really, really really close to getting a solution now.

 

It'd be really neat if we could dump current ACPI values in windows.. as if that's happening hehe :rolleyes:

 

hi anyone

any progress

please post what you find

 

here is advanced

 

http://www.osx86.es/?p=976

 

anyone have tried devicemergenub from andy vandjik that i mentionned in older post from this topic?

anyone could contact the author of the fix if he can do it for other model and for 10.5.x?

 

please post result and method you ve tried for anyone see what s for do and don t

 

thanx

 

:)

Link to comment
Share on other sites

I don't know if this has been stated before...(I'm not reading through 20 pages of posts). I was messing around with monifo and I clicked on File-->Edit. After doing that the EDID Editor comes up. Under video input it has Analog VGA selected. The options are Analog VGA, DVI-d/i, HDMI-a, HDMI-b, MDDI, Displayport. I thought maybe it was just the default for the program. Well, I plugged in my HDTV and it changed to HDMI-a. I decided to check my wifes laptop and it says DVI-d/i. The weirdest thing is looking at the monitor information, it states digital under the Input signal type.

 

My question is, how can it be an Analog VGA Digital Input? This totally doesn't make sense.

Link to comment
Share on other sites

I don't know if this has been stated before...(I'm not reading through 20 pages of posts). I was messing around with monifo and I clicked on File-->Edit. After doing that the EDID Editor comes up. Under video input it has Analog VGA selected. The options are Analog VGA, DVI-d/i, HDMI-a, HDMI-b, MDDI, Displayport. I thought maybe it was just the default for the program. Well, I plugged in my HDTV and it changed to HDMI-a. I decided to check my wifes laptop and it says DVI-d/i. The weirdest thing is looking at the monitor information, it states digital under the Input signal type.

 

My question is, how can it be an Analog VGA Digital Input? This totally doesn't make sense.

 

in my model i have vga out and hdmi on vista i can plug 1 monitor that s all ok

on osx i can plug 2 monitor and it works because no internal screen

 

i think the internal screen must be plugged retail with some kind vga friendly form plug i remember i ve heard something like this

Link to comment
Share on other sites

How is this for a theory? Follow me for a minute.

 

After checking out the EDID and the NVCAP, the VAIO is using VGA output to the internal screen. We have our VAIO's setup to mimmick a Macbook Pro. You can't set the primary to default to the VGA output which is why the internal screen isn't automatically being detected. The only way to use the internal screen would be to disconnect and reconnect the screen cable, which isn't possible in a laptop right. Well, in a Mac Pro you can set the default display to VGA just by connecting the cable and turning on the system. What if we were to instead have our VAIO's mimmick a Mac Pro. I don't know how that would affect other parts of the laptop but like it said, it's just a theory.

Link to comment
Share on other sites

How is this for a theory? Follow me for a minute.

 

After checking out the EDID and the NVCAP, the VAIO is using VGA output to the internal screen. We have our VAIO's setup to mimmick a Macbook Pro. You can't set the primary to default to the VGA output which is why the internal screen isn't automatically being detected. The only way to use the internal screen would be to disconnect and reconnect the screen cable, which isn't possible in a laptop right. Well, in a Mac Pro you can set the default display to VGA just by connecting the cable and turning on the system. What if we were to instead have our VAIO's mimmick a Mac Pro. I don't know how that would affect other parts of the laptop but like it said, it's just a theory.

 

if you mind that having macboocpro write on "about this mac" is the way you re wrong because with old smbiosresolver you can add the option macboockpro but change nothing for screen detection

 

but that 's real by default" about this mac" show "mac pro"

 

i don' t know if i m wrong but i m sure if sny5001 can handle the screen on vista to adjust the screen bightness it should give a way to access internal screen

 

but i think the way is to search on linux forum to have the most recent way to enable this feathure

Link to comment
Share on other sites

There's no such thing as an analog LCD, the cheapo VGA ones simply have a DSP in them to convert the analog signal.. to digital. Kinda odd how the cheapy ones are thus VGA isn't it?

 

Usually, LVDS is used - and in the Vaios that is the case (at least, this is how the Linux guys get their Vaios to work). In some newer laptops, Displayport is used (I think this was the case in the Vaio Z but I'm not really sure).

 

The reason the Vaio LCD is never found in OS X is the driver has to assume the monitor is there and throw EDID code at it - OS X only applies EDID to a monitor that it finds itself.. and it's not going to find it on its own. nobody knows how to 'force a monitor to exist' in OS X, and half the reason is we don't know where it's at. XD

 

I've pondered about that a lot, way back when some Vaio Z owners managed to get their LCD working perfect in OS X and that might be one avenue to investigate (to find the display's device ID).. that could be helpful, but I doubt if these guys were telling the truth in the first place.

Link to comment
Share on other sites

But then why do vaios with intel hd or ati graphics have the internal screen working?

They also use the same display connection by LVDS so only the card and the driver are different.

 

The differences to linux are that it recognizes the screen but cannot find the right way to control it, so an edid override is needed.

Link to comment
Share on other sites

From what I was told, in Linux you have to tell the OS there's a screen connected at DFP-0, and then it'll use that. It doesn't detect it. The ATI machines use a custom framebuffer (I know! It's annoying!), and I dunno about the new Z

 

BTW, Merry Christmas everyone ;)

Link to comment
Share on other sites

if we check DSDT, we will see a _DOD method (as I remember), that enumerated all devices connected to GFX port

there you can find something like

0x800007332 - here is HDMI

0x0100 - so, here is CRT

0x0110 - thats our LCD (but it in Legacy format), that's give an information about analog screen.

Link to comment
Share on other sites

here 's my hardware with sisteminfowin fron el coniglio

 

 

8086;Intel Corporation;4229;PRO/Wireless 4965 AG or AGN [Kedron] Network Connection;Network controller;Network controller

8086;Intel Corporation;2a01;Mobile PM965/GM965/GL960 PCI Express Root Port;Bridge;PCI bridge

8086;Intel Corporation;2a00;Mobile PM965/GM965/GL960 Memory Controller Hub;Bridge;Host bridge

8086;Intel Corporation;2850;82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller;Mass storage controller;IDE interface

8086;Intel Corporation;284b;82801H (ICH8 Family) HD Audio Controller;Multimedia controller;Audio device

8086;Intel Corporation;2843;82801H (ICH8 Family) PCI Express Port 3;Bridge;PCI bridge

8086;Intel Corporation;2841;82801H (ICH8 Family) PCI Express Port 2;Bridge;PCI bridge

8086;Intel Corporation;283f;82801H (ICH8 Family) PCI Express Port 1;Bridge;PCI bridge

8086;Intel Corporation;283e;82801H (ICH8 Family) SMBus Controller;Serial bus controller;SMBus

8086;Intel Corporation;283a;82801H (ICH8 Family) USB2 EHCI Controller #2;Serial bus controller;USB Controller

8086;Intel Corporation;2836;82801H (ICH8 Family) USB2 EHCI Controller #1;Serial bus controller;USB Controller

8086;Intel Corporation;2835;82801H (ICH8 Family) USB UHCI Controller #5;Serial bus controller;USB Controller

8086;Intel Corporation;2834;82801H (ICH8 Family) USB UHCI Controller #4;Serial bus controller;USB Controller

8086;Intel Corporation;2832;82801H (ICH8 Family) USB UHCI Controller #3;Serial bus controller;USB Controller

8086;Intel Corporation;2831;82801H (ICH8 Family) USB UHCI Controller #2;Serial bus controller;USB Controller

8086;Intel Corporation;2830;82801H (ICH8 Family) USB UHCI Controller #1;Serial bus controller;USB Controller

8086;Intel Corporation;282a;Mobile 82801 SATA RAID Controller;Mass storage controller;RAID bus controller

8086;Intel Corporation;2811;82801HBM (ICH8M-E) LPC Interface Controller;Bridge;ISA bridge

8086;Intel Corporation;2448;82801 Mobile PCI Bridge;Bridge;PCI bridge

11ab;Marvell Technology Group Ltd.;4363;88E8055 PCI-E Gigabit Ethernet Controller;Network controller;Ethernet controller

1131;Philips Semiconductors;7133;SAA7131/SAA7133/SAA7135 Video Broadcast Decoder;Multimedia controller;Multimedia controller

10de;nVidia Corporation;0407;G84 [GeForce 8600M GT];Display controller;VGA compatible controller

104c;Texas Instruments;803b;5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD);Mass storage controller;Mass storage controller

104c;Texas Instruments;803a;PCIxx12 OHCI Compliant IEEE 1394 Host Controller;Serial bus controller;FireWire (IEEE 1394)

104c;Texas Instruments;8039;PCIxx12 Cardbus Controller;Bridge;CardBus bridge

Link to comment
Share on other sites

with dsdtse win vista ioreg info

 

 

* Windows Description - Écran plat numérique (1920 x 1200 60 Hz)

* Hardware ID - MS_0026

* Device Category (Class) - Monitors

* Enumerator - DISPLAY

 

* Driver INF - monitor.inf

* Driver Version - 6.0.6000.16615

* Driver Date - 6-21-2006

* Device Status Flags - Present, Not detected, Known, Not Phantom, Category Visable

 

device id:

 

5&16c7414e&0&UID272

 

Device Status Flags - Present, Not detected, Known, Not Phantom, Category Visable

 

class registry location:

 

SYSTEM\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}

 

device registry location

SYSTEM\CurrentControlSet\Control\Class\{4D36E96E-E325-11CE-BFC1-08002BE10318}

Link to comment
Share on other sites

are you sleepy

 

<key>ACCF0000-0000-0000-0000-000a2789904e</key>

is from ioreg explorer in vesa

the key in on plist from nvidia kext that is related to display in ioreg

 

it is for my internal screen and i suggest to copy it as a secondary match in the plist of the same driver when driver is injected

 

0x717 product id

0x756e6b6e vendor id

AppleDisplay

iopciclassmatch 0x03000000&0xffff0000

iopcimatch 0x000010de&0x0000ffff

ioprobescore 0x64

AppleDisplay

 

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">

<plist version="1.0">

<dict>

<key>CFBundleDevelopmentRegion</key>

<string>English</string>

<key>CFBundleExecutable</key>

<string>GeForceGA</string>

<key>CFBundleGetInfoString</key>

<string>GeForceGA 1.5.26.7 (16.7.5f16)</string>

<key>CFBundleIdentifier</key>

<string>com.apple.GeForceGA</string>

<key>CFBundleName</key>

<string>NVIDIA GeForce Graphics Driver</string>

<key>CFBundleShortVersionString</key>

<string>1.5.26</string>

<key>CFBundleVersion</key>

<string>5.2.6</string>

<key>CFPlugInDynamicRegistration</key>

<string>NO</string>

<key>CFPlugInFactories</key>

<dict>

<key>10de0100-0000-0000-0000-000a27898d3e</key>

<string>GeForceGAFactory</string>

</dict>

<key>CFPlugInTypes</key>

<dict>

<key>ACCF0000-0000-0000-0000-000a2789904e</key>

<array>

<string>10de0100-0000-0000-0000-000a27898d3e</string>

</array>

</dict>

<key>NSExecutable</key>

<string>GeForceGA</string>

<key>Personality</key>

<dict>

<key>IOProviderClass</key>

<string>IOFramebuffer</string>

</dict>

</dict>

</plist>

 

 

 

other thing other tracks:

look at the new ps3 jailbreak

the hacker gives a method to find root key by command and fake sony signature

 

what we know:internal screen works on vesa but failed when nvidia driver load

in vista to use the nvidiacard

we need to use sonyspecialnvidiadriver

i suggest we apply the geohoot script to determine what s on nvidia driver

 

because i think internal screen doesn t respond in osx because he need from nvidiacard a root key

but the key is not present in osx driver

i think thats why it failed

so we need to use the method to port the geohot method to osx to use the fix with nvidia driver or graphic enabler because if we fake sony signature on the osx driver

we can win

please anyone to try and post results

could it be a rootkey to sonypi too?

please perform search try and post result

 

thanx please contact anyone you think it can help

Link to comment
Share on other sites

hi some news on latest post i join plist in vesa with internal screen without qe /ci

 

i search some string in g""gle :

 

10de0100-0000-0000-0000-000a27898d3e

 

link to video problem:

http://www.insanelymac.com/forum/index.php?showtopic=153320

 

ACCF0000-0000-0000-0000-000a2789904e

 

http://www.insanelymac.com/forum/lofiversi....php/t5101.html

 

http://forum.thinkpads.com/viewtopic.php?f...00&start=30

 

this links point problem of qe ci ,black screen switching resolution related to this kext so

here is a track to investigate because since 3 year the vaio problem is detected anyone search solve to the nvinject kext and it seems internal screen is related to this kext

 

http://gtpcmac.blogspot.com/2006_04_01_archive.html

 

http://forum.thinkpads.com/viewtopic.php?f...4&start=210

 

sigmatel info:

 

http://archivez.info/index.php/63/alternat...audio-a308.html

topics about video search user vaiosx posts:

http://forum.onmac.net/showthread.php?t=157

 

 

anyone on there?

B):happymac::(:P:laser::trumpet::guitar::moil::boxing::robot::):dance_24::fiery::ihw_pop::dice::blowup:

Link to comment
Share on other sites

Hello every body

 

i would like to make a force behind this project and make it return some results at least!!

 

in my opinion the DSDT method is not going to answer my graphic is totally different from yours but the ones whom had graphic like mine on another laptop (acer 4741G i guess) could make it work woth DSDT you can see it in attachment it DOES NOT differ from the DSDT i got from mine system. they could put their graphic work with QE by this method but i couldn't. i get accross the EDID override method but i was messed up!! i couldn't get ant EDID from my monitor in any way. and i don't know what to do with it when i got it! if any one got his EDID with success please let me know.

 

you may compare the followind dsdt.aml with yours as i told it gave the owners full NVidia Acceleration!!!

 

EDIT: BTW i could determine my NVCAP value when i connect my laptop to external LCD using HDMI and i could get full resolution and graphic memory where identified as 512MB !!! i didn't see any QE support in system profile but everythink where runnig sooooo smooth .

 

 

 

i am ready for any help or info.

ACER_4741G_GT420M_mod_dsdt.zip

Link to comment
Share on other sites

 Share

×
×
  • Create New...