Jump to content

Sony Vaio VPCF115FM Discussion: DSDT Injection


kizwan
 Share

787 posts in this topic

Recommended Posts

Some tests with SNC:

 

Sets some device to 3 and gets brightness value of device 3, which is 0xFF.

bash-3.2# SMC_util2 -w0300 -kTRG1
bash-3.2# SMC_util2 -r -kTSF3
 TSF3  [ui16]  0 (bytes 01 00)
bash-3.2# SMC_util2 -w0200 -kTRG1
bash-3.2# SMC_util2 -r -kTSF3
 TSF3  [ui16]  0 (bytes ff 00)

Link to comment
Share on other sites

Whoa you got brightness control to work? Even on VESA that's a pretty shocking surprise. Nice!

 

Display Off is a hardware trigger - it always turns the display off. In fact, I think it may even turn the display off on the EFI (BIOS) configuration screen. Hrmm.. well.. it's software because if you turn up the brightness it will turn the screen back on, but yea..

Link to comment
Share on other sites

Rawr! I'm all installed, and have 10.6.8 up (ouch, this took forever to get working). Only problem is that the wifi kext mentioned a few pages back causes an airport config daemon to crash over and over and over again until I get rid of it and nuke the preferences.

 

That sucks. I wonder if it's a 10.6.8 thing, anyone using Lion with wifi working? Or is everyone here running 10.6.7? It took me forever to even get it to boot 10.6.8 :\ really regretting putting that on!

 

Oh yea and Frank I'm using your latest DSDT, with the latest fakesmc it works really well and I love seeing how well-defined the GPU is, even how nv_disable=1 works nicely.. Nice :)

 

Any advice on the airport thing?

Link to comment
Share on other sites

Edit: SO HAPPY! Fixed it. As per here

 

If you are running 10.6.8 and want to use the Atheros 9287 wifi kext posted a few pages back, you need to put this in your SMBios.plist:

 

<key>SMboardproduct</key>

<string>Mac-F22589C8</string>

 

(I'm using the string for the MBP :)) Wifi works! Woot!

 

I think the alc 275 kext is a little KP happy, so I've disabled it for now :\

 

Also: I've posted a new "helpful links" guide here for those who are lost on what kexts and whatever to use. :)

Link to comment
Share on other sites

Frank it also didnt work too well for me. I did everything as u said and all i get is a frozen screen when the apple logo comes up, Maybe im doing somethign wrong.. tried loading lion and i get the same thing. must be something wrong with the bootloader settings.. i will try figure it out again later, would LOVE to get this to work :angel:

Link to comment
Share on other sites

AHAAA!! thank you OoTLink!! i was reffering to your post not frank, i got a little confused there.. i did try the -v and i think it stopped after it said loading pci devices or something, ive messed with it so much that i ended up reinstalling and now i have 10.6.8 running well thanks to thenawcom kexts. will do some tests and then try lion.

Link to comment
Share on other sites

Well, you need the recent ACPI Monitor kext, SMC from the link above and FakeSMC3.

 

Added my FakeSMC and ACPI Monitor kext to the post above, have to be placed into /Extra/Extensions of boot partition.

 

 

Next thing I would like to try and fix is to get a real bios dump from our Nvidia device... The bios seems to be incomplete if ripped with RadeonPCI. Chameleon also cannot load this bios image... Maybe these problems are caused by UEFI architecture.

 

Would be nice to patch at least the VESA modes inside the bios for 1920x1080: link

Link to comment
Share on other sites

Frank that's exactly why I was itching to mess with Chameleon RC5 (yay! got that!). And 20brains, my apologies! That's exactly why I made that thread (and somehow forgot to post the kexts lol), sorry about the trouble. FWIW: You really shouldn't have to reinstall OS X over a bad kext or something, it's usually recoverable :)

 

Will get back to ya'll later :) Got some stuff to do atm, Frank I'll try -your- kexts when I get back and let you know :) You may be right about the video firmware, EFI firmware is a bit different than BIOS firmware (for graphics chipsets), but laptops also handle gpu firmware different than desktops do... mm can of worms. Pretty familiar subject for those that like to use "PC" video cards in Mac Pros ;)

 

There's always that "BIOS update" Sony released to make the fans in our laptops more aggressive, it's still floating around out there and I believe it's a full EFI update - the gold might just be in that. Meh. AMI Aptio is fairly new compared to Insyde H2O and well.. all the oldschool BIOS firmware out there.

 

One thing though - even without the nvidia drivers, the nouveau linux driver works with the vaio F 'perfectly' on a stock ubuntu install. I still wonder what ACPI calls they were making to do that.

Link to comment
Share on other sites

There's always that "BIOS update" Sony released to make the fans in our laptops more aggressive, it's still floating around out there and I believe it's a full EFI update - the gold might just be in that. Meh. AMI Aptio is fairly new compared to Insyde H2O and well.. all the oldschool BIOS firmware out there.

Yes, but it's somehow crypted and I don't have any AMI Optio bios software. Are you sure that this update also includes a bios for the gfx card? I don't think so.

Link to comment
Share on other sites

You're right, probably no use there. You know what's frustrating? There's nothing at all about Vaios in the source code for nouveau (that linux video driver that works great with our machine!)

 

Did you try using everest to dump a vbios file? Right click the status bar in everest and click video debug -> video bios dump :wacko: That usually works.

Link to comment
Share on other sites

edit edit: You can mess with values in the ACPI tool in Aida64 too, but it's not really doing anything (I did manage to shut my wifi off and lose control of the brightness keys!) No changes in brightness. No magic screen shutting off, and annoyingly I can't see what values are being changed when I hit FN keys :wacko:

 

Too bad.

 

Maybe acpi_listen + ubuntu livecd is a good route. Edit: Nope

 

 

Edit: Calling PHSB with the arguments 0xDE, 0x00 turns the backlight off in windows (ouch!). You need to sleep/wake it to get it back on lol. I can't figure it out otherwise. I'm tired of messing with this lol :wacko:

Link to comment
Share on other sites

Edit: Calling PHSB with the arguments 0xDE, 0x00 turns the backlight off in windows (ouch!). You need to sleep/wake it to get it back on lol. I can't figure it out otherwise. I'm tired of messing with this lol :(

Haha, nice one. Calling PHSB directly is for sure the simplest way. I will add PHSB AND PHS to the ACPIMonitor directly.

 

PHSB 0xDE 0x00 seems to set some output to 0x0, can you check hdmi / vga out, too?

0xEC, 0xDF, 0xE8 also expect as parameter values 0-3... Maybe a try worth?

 

You just bomb the acpi via Aida64 directly? That's nice to test what it should behave like.

Link to comment
Share on other sites

Yep, for those that haven't checked, there are 2 things I like using aida64 for:

 

(1) You can right click status bar -> ACPI tool, use [find] to locate the ACPI device you want and query with the arguments you want to bomb it with. So far the only things I've managed to do are turn off wireless and turn off the screen (can't remember which exactly turned wireless off, or why anyone would want to do that).

 

(2) Right click status bar -> Video debug -> Video BIOS dump. It works. Save it as your video card's device id (like 10de_0a29.rom) in your /Extra folder for Chameleon and you'll be able to use the UseNVidiaROM=Yes flag in Chameleon RC4 or RC5. Doesn't seem to make a difference.

 

Frank I can't test outputs because I don't have an external monitor (well, I do, but it's an oldschool ADC cinema display lol)

 

Also not sure that bombing PHSB is handy (PHSD is what SNF3 leads to anyway). The problem is that turning off the backlight, you can still see your screen (which is never the case with OS X and the nvidia drivers).

 

Edit: We already know that the LCD is located at address 0x0110, so if we can switch the output to that, we might be ok. Also, if you enable screen sharing and log from VNC or another mac, then reboot WITHOUT using nv_disable=1 (so that the screen shuts off), ever notice that 1680x1050 (a mode not available to chameleon) shows up?

 

One thing I find interesting about running it without nv_disable is that the machine doesn't heat up or crank the fans up like it does with nv_disable haha.

 

FWIW Both windows and OS X call the display PNP09FF, in windows if you go into device manager you'll find it in the information about the display, and in OS X it shows up in ioreg as LCD@110 with PNP09FF as its name. So annoying :( The MS_0025 is a code for a canned EDID for 1920x1080@60hz (it goes MS_0001 to MS_0040 I think). I feel like I'm saying the same thing over and over and over and over in this thread, but that's really not the case - I just keep going down a maze and ending up at similar endings XD

 

Random {censored} from EDID utility:

ManufacturerID: 32566 (0x7F36)

ProductID: 37 (0x0025)

 

 

lol big fat edit: Frank I just realized that all the {censored} I was digging out of the ioreg dump was from your DSDT, lol. Nice

Link to comment
Share on other sites

(2) Right click status bar -> Video debug -> Video BIOS dump. It works. Save it as your video card's device id (like 10de_0a29.rom) in your /Extra folder for Chameleon and you'll be able to use the UseNVidiaROM=Yes flag in Chameleon RC4 or RC5. Doesn't seem to make a difference.

Hm, are you sure with this? Does your bdmesg-log shows a successful bios loader message? It shows always an error in my log. Can you provide me with your bios file? You also have a gt330m? Thx.

 

lol big fat edit: Frank I just realized that all the {censored} I was digging out of the ioreg dump was from your DSDT, lol. Nice

Yes, I added "PNP09FF" CID to the LCD's dsdt. MS_0025 doesn't work due restrictions of the dsl compiler. I think it was AlexanderPD who already tested this way out to the dead end.

 

Also, if you enable screen sharing and log from VNC or another mac, then reboot WITHOUT using nv_disable=1 (so that the screen shuts off), ever notice that 1680x1050 (a mode not available to chameleon) shows up?

Where is this resolution defined? Is it inside the screen sharing settings? Never did this, is it an extra user account?

Link to comment
Share on other sites

Yep. Seems like we've either already covered it or hit a dead end :\

 

On the plus side you can probably still get $700-800 for an F series if you sell it ;) I'm trying to hold out till fall, might just replace the damn thing with a MBA, I know it's a bit of a jump and my reasons for wanting to sell it don't really have much to do with running OS X on it (because I didn't buy it for that, that's just the fun part).. but I do prefer OS X and as much as I like the 1920x1080 screen, seeing my battery life go down about 1% a minute is beginning to drive me insane.

Link to comment
Share on other sites

Hi to all.

Let me do a question...

 

I do use for my Sony Vaio with ATI HD2300 Dong´s port from linux driver (RadeonHD), wich is the only way to make it work (IT´s really an ATI X1450), wich properly recognizes the display connector (Some time ago a Sony engineer commented that the only difference on the Sony Nvidia cards was the onboard display connector).

 

Will help if we can take a look onto Dong´s sources and see how the driver does?

Is possible that someone modify that driver to match Nvidia?

Will be possible to stripe all code except the one that looks for the LCD connector so system can be informed about it?

 

Thanks for your time

Dong´s source code:

Run this on terminal, the source code folder will appear on your user folder.

svn checkout http://osx86-driver-radeonhd.googlecode.com/svn/trunk/ osx86-driver-radeonhd-read-only

Link to comment
Share on other sites

Could anyone please try booting OS X on VAIO with an external monitor, then using gfxCardStatus (http://codykrieger.com/gfxCardStatus) to switch to the "discrete only" graphics mode - and then disconnecting the external monitor (likely rebooting too)?

 

tried with nvidia driver enabled and external monitor working, i got this error when opening gfxCardStatus:

You are using a system that gfxCardStatus does not support. Please ensure that you are using a MacBook Pro with dual GPUs.

if i click "swap gpu" i get nothing, thank you anyway :(

Link to comment
Share on other sites

Do you mind running /usr/sbin/system_profiler on your VAIO and pasting the output in here?

I'm actually only interested in the Graphics/Displays: section.

 

I'm looking at hacking gfxCardStatus (it's open source), it's easy to trick it to believe you're using a MacBook Pro.

Link to comment
Share on other sites

Do you mind running /usr/sbin/system_profiler on your VAIO and pasting the output in here?

I'm actually only interested in the Graphics/Displays: section.

 

I'm looking at hacking gfxCardStatus (it's open source), it's easy to trick it to believe you're using a MacBook Pro.

 

sorry but i don't think you can solve this with a program :) OsX see on our system a single VGA (it's right, we have only 1), when we load nvidia driver we can have video output on external VGA and HDMI but not with internal monitor. Without loading any nvidia driver we can have osX in internal lcd display in Vesa mode, so without any video acceleration. Our very problem is that nvidia driver for some reason can't see the internal lcd connected to LVDS and we can't figure why.

One valid approach to this problem is try to locate and edit that "difference" from our vaio and other laptop that makes LVDS unreachable from nvidia driver, some expert said that it can be a SNC problem (Sony Notebook Controller) but i don't know nothing about it.

Other valid approach is to patch nvidia driver, but in mac os you can't edit that like windows, it's all totally closed and i can't find anyone modding it.

 

ps: forcing nvidia driver to the right lvds address (changing nvcap and similar) doesn't help at all, if you read this entire thread we tried really anything immaginable :(

 

pps: here your Graphics/Display section even i think you can do nothing with this:

GeForce GT 330M:

 Chipset Model:	GeForce GT 330M
 Type:	GPU
 Bus:	PCIe
 Slot:	Slot-1
 PCIe Lane Width:	x16
 VRAM (Total):	1024 MB
 Vendor:	NVIDIA (0x10de)
 Device ID:	0x0a29
 Revision ID:	0x00a2
 ROM Revision:	70.16.45.00.05
 Displays:
Display Connector:
 Status:	No Display Connected
S/T 51S:
 Resolution:	800 x 600 @ 75 Hz
 Pixel Depth:	32-Bit Color (ARGB8888)
 Main Display:	Yes
 Mirror:	Off
 Online:	Yes
 Rotation:	Supported

Link to comment
Share on other sites

i mailed the author of this page: http://pmeerw.net/vaio/#snc for suggestion, here the answer:

 

> Do you think we can solve this editing the DSDT table or our only hope is to

> patch nvidia driver?

 

I honestly don't know; I would probably start by looking what Windows does

and if there are some 'interesting' calls to ACPI/SNC when Windows

switches between display modes

 

for me this meant setting up Windows for remote debugging via Firewire and

then hooking the entrypoints of the snc.sys driver (if I remember

correctly)

 

regards, p.

 

i'll try this when i have enough time to do, this remote debugging needs some googling for me :)

 

edit: i can't find any snc.sys driver, but in my C:\Windows\System32\drivers dir there is a file called SFEP.sys and it's the only driver signed by sony running on my system, SFEP means "Sony Firmware Extension Parser" maybe it can be useful.. i hope

Link to comment
Share on other sites

 Share

×
×
  • Create New...