OoTLink Posted July 7, 2011 Share Posted July 7, 2011 Nah, they weren't using a DSDT before, they were dumping the EDID into xorg.conf. I'm not 100% settled in Ubuntu yet (in fact, part of me kinda wants to stick with Windows now lol), but it is somewhat usable. Kinda blows my mind it doesn't support Gnome 3 though Edit: There's 2 easy ways to tell if your clock is running too fast; 1. the dock icons bounce faster than they are supposed to, and 2. the clock - if you open date and time settings, click the box where it says time.apple.com and hit return (assuming you have internet up), it will force an update. If you wait a minute and do that you'll see the clock jump back somewhat if your clock is running fast. For me 1 minute would jump back 20 seconds! Aiye! That's actually a real problem. It can wreak all kinds of havoc. Curiously it's one that's USUALLY fixed when you use the busratio=12 flag and perhaps fsb=133000000 (IF you have an i7 720qm! These numbers vary depending on your chip). However, I wasn't having luck with that. So odd! Link to comment Share on other sites More sharing options...
20brains Posted July 8, 2011 Share Posted July 8, 2011 Oh yes you are right! it was the EDID and not the DSDT.. I will reinstall snow soon and check that clock issue.. what i had done was shrink my original windows partition and install snow on the new partition but since its basically unusable with the display issue i deleted it to regain the extra space.. If i do get that clock issue then ill really be giving up! ive never seen that happen to any other computer i hackintoshed Im really not a fan of windows at all! and the reason i dont wipe windows and rely on linux is that im not able to run the softwares i use the most But i much prefer Linux!! Always been a fan! Anyways ill try snow once again and see how it goes, i believe my processor is the 720qm also! Link to comment Share on other sites More sharing options...
jlvaio Posted July 8, 2011 Share Posted July 8, 2011 anyone can test this http://www.insanelymac.com/forum/index.php...261104&st=0 Link to comment Share on other sites More sharing options...
OoTLink Posted July 9, 2011 Share Posted July 9, 2011 That's not gonna work You know, it's funny but Ubuntu is barely any more usable than OS X is on the Vaio lol. Between the crazy glitches with the nvidia driver and the lack of support for the alps touchpad (no way to disable tap clicking )... it's horrible. A large part of me wishes I had never bought this machine lol. Link to comment Share on other sites More sharing options...
20brains Posted July 9, 2011 Share Posted July 9, 2011 i think you mean Ubuntu is barely anymore usable than snow not linux, caus ubuntu is linux I actually tried Zorin which is based on ubuntu and the major problem i have is the alps touchpad driver! the display seems pretty stable for me so far. all the effects work and it runs pretty quick. I did reinstall snow tho and tried the issue with the clock and mine is fine! i tested it in many ways and it keeps the time. thats when i use no extra kexts or dsdt or bootflags. Well except for using not turning on graphics enabler caus that will black out the internal screen but work perfectly on the external screen.. A part of me also wishes i got a diferent machine and jlvaio that program only detects if your hardware can support decoding under osx. I'm almost sure it does on our laptops but it will in no way enable internal display Link to comment Share on other sites More sharing options...
OoTLink Posted July 9, 2011 Share Posted July 9, 2011 Yep, that's what I meant lol - though all Linux distros will have the same issues. I was just having weird issues with my screen when the nvidia driver was applied in 11.04. *shrug* Anyway, I guess I'll try OS X again soon, but I'm not really in the mood atm. Wifi is great, but how the heck do we get that screen running. I can definitely write code, but I don't know anything about working with frame buffers lol. Link to comment Share on other sites More sharing options...
Iperzampem0 Posted July 11, 2011 Share Posted July 11, 2011 Has anyone tried Lion GM install? Maybe it has "better support" for our VAIO display's... I'm gonna try it on my VAIO (see my signature) and I'll let you know, even though I don't think something changes.. Link to comment Share on other sites More sharing options...
20brains Posted July 12, 2011 Share Posted July 12, 2011 I am also secretly hoping lion will have some support, even tho i highly doubt I should try it myself, im just afraid of wasting another couple hours of my life lol Link to comment Share on other sites More sharing options...
Iperzampem0 Posted July 12, 2011 Share Posted July 12, 2011 And here I'm again, with bad news for me... I'm writing through Lion installed into my VAIO FZ21M, but I'm using an external Wireless Adapter coz my Intel 4965agn will never be recognized... Apart from that, I was able to install Lion GM without any problem, simply following a guide by Mald0n here at Insanelymac and I also have audio working with VoodooHDA, keyboard and touchpad with Lion PS2 kexts, even if the ALPS touchpad works bad coz there's no tap-to-click e no scrolling obviously... Also I was able to set the correct resolution (1280x800) in VESA mode into com.apple.boot.plist for Chamaleon v2.0 RC5 r1083, but NO Nvidia 8400M GT.. I've tried only to set GraphicsEnabler=Yes and, with that, my screen goes black and if I connect my laptop via HDMI to my HDTV, neither of the screens works... Someone here have a solution which I can try to enable my Nvidia? I'm not a DSDT addict... I've tried to use DSDTSE app, but when compiling it gave me a lot of errors and I'm not able to do anything to solve. Hoping for some help.. Thanks!!! Now I'll reinstall my Windows partition side-by-side with OSX Lion in a GUID Partition Table. Link to comment Share on other sites More sharing options...
20brains Posted July 12, 2011 Share Posted July 12, 2011 Well i'm glad to hear lion actually works! Your model is diferent from mine, but i know the 4965agn is one of the most unsupported wifi cards for osx! I know this caus my older vaio had it and i just swapped it out.. My f11 uses atheros wifi Dont know why the hdmi wouldnt work! usually when there is a black internal screen it means the video card is detected and enabled but it just wont recognise the internal screen so the hdmi SHOULD work Link to comment Share on other sites More sharing options...
Sparda Posted July 24, 2011 Share Posted July 24, 2011 Anyone can test this: http://www.insanelymac.com/forum/index.php?showtopic=208410 ? Link to comment Share on other sites More sharing options...
OoTLink Posted July 24, 2011 Share Posted July 24, 2011 That won't work. The blahblah-717 display is a VESA default, and unfortunately you don't get a device ID for a display when you're running the real nvidia driver. Link to comment Share on other sites More sharing options...
Funky frank Posted July 25, 2011 Share Posted July 25, 2011 jlvaio: You did try out the SNC_for_SODV.kext from ryuu123 one year ago... Using it you wrote that it will be a new nvcap visible in ioreg? Could you explain this to me in detail? What changed exactly? Some SNC ACPI method's description: EDIT: See here AlexanderPD: Do we have the EDID of the MacBookPro6,2 ? In your posted calypso.ioreg there is: MacBookPro6,2 lvds EDID: <00 ff ff ff ff ff ff 00 06 10 bb 9c 00 00 00 00 00 13 01 03 80 21 15 78 0a 50 c5 98 58 52 8e 27 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 7c 2e 90 a0 60 1a 1e 40 30 20 36 00 4b cf 10 00 00 18 00 00 00 01 00 06 10 30 00 00 00 00 00 00 00 00 0a 20 00 00 00 fe 00 4c 50 31 35 34 57 45 33 2d 54 4c 42 31 00 00 00 fe 00 43 6f 6c 6f 72 20 4c 43 44 0a 20 20 20 00 dd> Connector type: <02 00 00 00> Display-type: <"LCD"> VAIO F11 lvds EDID: 00FFFFFF FFFFFF00 367F2500 00000000 2D0C0104 90241400 EAA8E099 574B9225 1C505400 00000101 01010101 01010101 01010101 01014038 80B47038 40403C3C 550068C8 10000018 40388080 7138AA40 80808800 68C81000 00180000 00FC004E 76696469 61204465 6661756C 000000FC 00742046 6C617420 50616E65 6C00001F Edit: Messed around with _DSM method of NGFX: "@0,AAPL,boot-display", Buffer (Zero) {}, "@0,built-in", Buffer (Zero) {}, "@0,has-static-EDID", Buffer (Zero) { }, "@0,display-connect-flags", Buffer () { 0x04,0x00,0x00,0x00 }, "@0,connector-type", Buffer () { 0x02,0x00,0x00,0x00 }, "@0,display-type", Buffer () { "LCD" }, "@0,display-cfg", Buffer () { 0x03, 0x00, 0x0F, 0x00 }, "@0,EDID", Buffer () { /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, /* 0008 */ 0x36, 0x7F, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x2D, 0x0C, 0x01, 0x04, 0x90, 0x24, 0x14, 0x00, /* 0018 */ 0xEA, 0xA8, 0xE0, 0x99, 0x57, 0x4B, 0x92, 0x25, /* 0020 */ 0x1C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, /* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x40, 0x38, /* 0038 */ 0x80, 0xB4, 0x70, 0x38, 0x40, 0x40, 0x3C, 0x3C, /* 0040 */ 0x55, 0x00, 0x68, 0xC8, 0x10, 0x00, 0x00, 0x18, /* 0048 */ 0x40, 0x38, 0x80, 0x80, 0x71, 0x38, 0xAA, 0x40, /* 0050 */ 0x80, 0x80, 0x88, 0x00, 0x68, 0xC8, 0x10, 0x00, /* 0058 */ 0x00, 0x18, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x4E, /* 0060 */ 0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x44, 0x65, /* 0068 */ 0x66, 0x61, 0x75, 0x6C, 0x00, 0x00, 0x00, 0xFC, /* 0070 */ 0x00, 0x74, 0x20, 0x46, 0x6C, 0x61, 0x74, 0x20, /* 0078 */ 0x50, 0x61, 0x6E, 0x65, 0x6C, 0x00, 0x00, 0x1F }, "@0,name", Buffer () { 0x4e, 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x41 // NVDA,Display-A }, "@1,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@1,device_type", Buffer (0x08) { "display" }, "@1,connector-type", Buffer () { 0x00,0x08,0x00,0x00 }, "@1,can-hot-plug", Buffer (Zero) { }, "@1,device_type", Buffer (0x08) { "display" }, "NVCAP", Buffer () { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x40 }, "device_type", Buffer () { "NVDA,Parent" }, "NVDA,Features", Buffer () { 0xff ,0x06 ,0xc7 ,0x00 }, "model", Buffer (0x17) { "NVIDIA GeForce GT 330M" } }, Local0) Results in proper HDMI hot-pluggin... Link to comment Share on other sites More sharing options...
OoTLink Posted July 25, 2011 Share Posted July 25, 2011 Frank you are really awesome Link to comment Share on other sites More sharing options...
jlvaio Posted July 26, 2011 Share Posted July 26, 2011 jlvaio: You did try out the SNC_for_SODV.kext from ryuu123 one year ago... Using it you wrote that it will be a new nvcap visible in ioreg? Could you explain this to me in detail? What changed exactly? Some SNC ACPI method's description: _INI Init SODV Switch Screen / Gfx (values 0 / 1) SN02 Enable events ( 0xffff all) SN03 Disable events ( 0xffff all ) SN06 Some kind of general purpose method that returns availability of methods SN07 Returns event messages BRBR Get panel brightness? AlexanderPD: Do we have the EDID of the MacBookPro6,2 ? In your posted calypso.ioreg there is: MacBookPro6,2 lvds EDID: <00 ff ff ff ff ff ff 00 06 10 bb 9c 00 00 00 00 00 13 01 03 80 21 15 78 0a 50 c5 98 58 52 8e 27 25 50 54 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 7c 2e 90 a0 60 1a 1e 40 30 20 36 00 4b cf 10 00 00 18 00 00 00 01 00 06 10 30 00 00 00 00 00 00 00 00 0a 20 00 00 00 fe 00 4c 50 31 35 34 57 45 33 2d 54 4c 42 31 00 00 00 fe 00 43 6f 6c 6f 72 20 4c 43 44 0a 20 20 20 00 dd> Connector type: <02 00 00 00> Display-type: <"LCD"> VAIO F11 lvds EDID: 00FFFFFF FFFFFF00 367F2500 00000000 2D0C0104 90241400 EAA8E099 574B9225 1C505400 00000101 01010101 01010101 01010101 01014038 80B47038 40403C3C 550068C8 10000018 40388080 7138AA40 80808800 68C81000 00180000 00FC004E 76696469 61204465 6661756C 000000FC 00742046 6C617420 50616E65 6C00001F Edit: Messed around with _DSM method of NGFX: "@0,AAPL,boot-display", Buffer (Zero) {}, "@0,built-in", Buffer (Zero) {}, "@0,has-static-EDID", Buffer (Zero) { }, "@0,display-connect-flags", Buffer () { 0x04,0x00,0x00,0x00 }, "@0,connector-type", Buffer () { 0x02,0x00,0x00,0x00 }, "@0,display-type", Buffer () { "LCD" }, "@0,display-cfg", Buffer () { 0x03, 0x00, 0x0F, 0x00 }, "@0,EDID", Buffer () { /* 0000 */ 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, /* 0008 */ 0x36, 0x7F, 0x25, 0x00, 0x00, 0x00, 0x00, 0x00, /* 0010 */ 0x2D, 0x0C, 0x01, 0x04, 0x90, 0x24, 0x14, 0x00, /* 0018 */ 0xEA, 0xA8, 0xE0, 0x99, 0x57, 0x4B, 0x92, 0x25, /* 0020 */ 0x1C, 0x50, 0x54, 0x00, 0x00, 0x00, 0x01, 0x01, /* 0028 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, /* 0030 */ 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x40, 0x38, /* 0038 */ 0x80, 0xB4, 0x70, 0x38, 0x40, 0x40, 0x3C, 0x3C, /* 0040 */ 0x55, 0x00, 0x68, 0xC8, 0x10, 0x00, 0x00, 0x18, /* 0048 */ 0x40, 0x38, 0x80, 0x80, 0x71, 0x38, 0xAA, 0x40, /* 0050 */ 0x80, 0x80, 0x88, 0x00, 0x68, 0xC8, 0x10, 0x00, /* 0058 */ 0x00, 0x18, 0x00, 0x00, 0x00, 0xFC, 0x00, 0x4E, /* 0060 */ 0x76, 0x69, 0x64, 0x69, 0x61, 0x20, 0x44, 0x65, /* 0068 */ 0x66, 0x61, 0x75, 0x6C, 0x00, 0x00, 0x00, 0xFC, /* 0070 */ 0x00, 0x74, 0x20, 0x46, 0x6C, 0x61, 0x74, 0x20, /* 0078 */ 0x50, 0x61, 0x6E, 0x65, 0x6C, 0x00, 0x00, 0x1F }, "@0,name", Buffer () { 0x4e, 0x56, 0x44, 0x41, 0x2c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x2d, 0x41 // NVDA,Display-A }, "@1,compatible", Buffer (0x0B) { "NVDA,NVMac" }, "@1,device_type", Buffer (0x08) { "display" }, "@1,connector-type", Buffer () { 0x00,0x08,0x00,0x00 }, "@1,can-hot-plug", Buffer (Zero) { }, "@1,device_type", Buffer (0x08) { "display" }, "NVCAP", Buffer () { 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x7E, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00 }, "VRAM,totalsize", Buffer (0x04) { 0x00, 0x00, 0x00, 0x40 }, "device_type", Buffer () { "NVDA,Parent" }, "NVDA,Features", Buffer () { 0xff ,0x06 ,0xc7 ,0x00 }, "model", Buffer (0x17) { "NVIDIA GeForce GT 330M" } }, Local0) Results in proper HDMI hot-pluggin... sorry i have crash my computer system this winter and lost lot of data and actually so much work need to be done ,i don't remember exactly what it did maybe i had post results anywhere the things of ioreg i think i have used too a kext seems to be called pci util or pcifix with some kind of pci overide don t remember exactly but remember after something shown insystem info but not much things hope you have sucess that really help me can you explain more detailed the advanced you get thanx? Link to comment Share on other sites More sharing options...
Funky frank Posted July 28, 2011 Share Posted July 28, 2011 can you explain more detailed the advanced you get thanx? jlvaio: I want to enable the snc-device, so I can bomb it with acpi values over the acpi plugin for chameleon. I want to test the SODV method and also some power management methods, for example display on/off. Mattia Dongili wrote: I am trying to build a driver for Mac OSX for the Vaio VPCF11.Sadly I cannot find any documentation about the SNY5001 methods that are included in the ACPI. They seem to differ a lot to your described methods and the common Vaio methods. correct, I never updated the documentation on the very new models. Could you take a look on it and tell me some words aboutyou know about it? Or some hints for me? try to read the sony-laptop code. You basically have to call into SN06/SN07 with an index (as well as the other parameters) that identifies a function. The function is identified by the SNN* field values. in sony-laptop.c you should take a look a all the sony_nc functions and anything that deals with "handles". Some links: Original sony-laptop.c from linux kernel Original sonypi.h from linux kernel Patch for sony-laptop.c for Vaio F11 Could someone patch the sony-laptop.c and sonypi.h with the vaio-test13-2.6.39.patch for me and post the to resulting files here? I have no clue about linux and the command line tools Link to comment Share on other sites More sharing options...
OoTLink Posted July 29, 2011 Share Posted July 29, 2011 Omigosh. Can you attach the real .c files? I can't find a way to download the file from that site and if I copy/paste it inclues the line numbers You can automatically run a .patch file (I forget how), but if you want to do it the manual way it basically just tells you what to open first. Then from there it's a series of things: First a few lines that are to clue the computer in on where the patch needs to be done, then you see lines that start with +s and -s. The +s mean add, and the -s mean remove. If you seee something like this: #define int blah 42 function(); blah; +blahblahblah -zeekyboogydoog It'd mean that at the point in the file where you find function(); blah;, you insert blahblahblah and remove zeekyboogydoog. Of course, doing a patch the automated way can be easy.. but has a habit of just not working. For that: http://icu-project.org/download/patch.html Link to comment Share on other sites More sharing options...
Funky frank Posted July 29, 2011 Share Posted July 29, 2011 Thanks for trying. If you seee something like this: #define int blah 42 function(); blah; +blahblahblah -zeekyboogydoog I know, why you telling me this? Do you think I am willing to patch it manually? I am asking some linux users to apply this patch for me, because I don't use linux. The files are available in the kernel sources that are installed on every? linux distribution. I also cannot find the original file as binary download. For sure it is available somewhere. EDIT: Here is the kernel source package Files are located at: drivers/platform/x86/sony-laptop.c include/linux/sonypi.h Link to comment Share on other sites More sharing options...
OoTLink Posted July 31, 2011 Share Posted July 31, 2011 Frank the patch does mostly go through (with large offsets) but where it doesn't, the differences in variables are rather large. I'm going to patch it anyway, but I don't really expect it to work that well because of that. attach failed >> trying again. sony_laptop.c.zip Link to comment Share on other sites More sharing options...
Funky frank Posted August 1, 2011 Share Posted August 1, 2011 Frank the patch does mostly go through (with large offsets) but where it doesn't, the differences in variables are rather large. I'm going to patch it anyway, but I don't really expect it to work that well because of that. attach failed >> trying again. So this version is the correctly patched version? Link to comment Share on other sites More sharing options...
OoTLink Posted August 1, 2011 Share Posted August 1, 2011 Tell ya what, I intend to redo the partition table on my vaio so that I can install chameleon RC5 and muck around with the DSDT and this snc driver Then I can compile it and properly analyze/bugfix the code. Will be a few hours .Have you got AIM? My screename is the same as my name here Edit: come to think of it, where does this code need to go anyway? that SODV kext? It doesn't use anything from sony_laptop.c, and I don't see much like that in fakesmc.kext either. I'm lost. XD Edit II: On further thought I'm not in the mood to muck around with my hard drive tonight lol. Too much stuff on it atm Link to comment Share on other sites More sharing options...
Funky frank Posted August 3, 2011 Share Posted August 3, 2011 Edit: come to think of it, where does this code need to go anyway? that SODV kext? It doesn't use anything from sony_laptop.c, and I don't see much like that in fakesmc.kext either. I'm lost. XD The kext only enables the snc device. Using fakesmc with the acpi monitor plugin, you can bomb the acpi methods of the snc device. If I boot osx the nv_disable=1, so all nvidia kexts are enabled and then start SMC monitor, the monitor will become black, so some kind of call of my test snc-acpi-methods will cause the deactivation of the internal screen. Link to comment Share on other sites More sharing options...
Funky frank Posted August 4, 2011 Share Posted August 4, 2011 Some testing SNC testing functions UPDATED 09-Aug-2011, added my FakeSMC.kext and ACPIMonitor.kext UPDATED 04-Aug-2011 19:10, new ACPI! UPDATED 04-Aug-2011 15:33, new ACPI! Add this to Info.plist of ACPIMonitor.kext: <key>keysToAdd</key> <dict> <key>GGID</key> <string>GGID</string> <key>TRG1</key> <string>TRG1</string> <key>TRG2</key> <string>TRG2</string> <key>DRG1</key> <string>DRG1</string> <key>DRG2</key> <string>DRG2</string> <key>TSF2</key> <string>TSF2</string> <key>TSF3</key> <string>TSF3</string> <key>TSF4</key> <string>TSF4</string> <key>TSF5</key> <string>TSF5</string> <key>TSN2</key> <string>TSN2</string> <key>TSN3</key> <string>TSN3</string> <key>TSN5</key> <string>TSN5</string> <key>TMPA</key> <string>TMPA</string> <key>TMPB</key> <string>TMPB</string> <key>TINI</key> <string>TINI</string> <key>TSDV</key> <string>TSDV</string> <key>TECO</key> <string>TECO</string> <key>TECA</key> <string>TECA</string> <key>TECR</key> <string>TECR</string> <key>TPHS</key> <string>TPHS</string> </dict> Add this LDRC device to DSDT at _SB.PCI0.LPCB: Device (LDRC) { Name (_HID, EisaId ("PNP0C02")) Name (_CID, "monitor") Name (_UID, 0x02) Name (_CRS, ResourceTemplate () { IO (Decode16, 0x002E, // Range Minimum 0x002E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x004E, // Range Minimum 0x004E, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0061, // Range Minimum 0x0061, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0063, // Range Minimum 0x0063, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0065, // Range Minimum 0x0065, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0067, // Range Minimum 0x0067, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0070, // Range Minimum 0x0070, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0080, // Range Minimum 0x0080, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x0092, // Range Minimum 0x0092, // Range Maximum 0x01, // Alignment 0x01, // Length ) IO (Decode16, 0x00B2, // Range Minimum 0x00B2, // Range Maximum 0x01, // Alignment 0x02, // Length ) IO (Decode16, 0x0680, // Range Minimum 0x0680, // Range Maximum 0x01, // Alignment 0x20, // Length ) IO (Decode16, 0xFF00, // Range Minimum 0xFF00, // Range Maximum 0x01, // Alignment 0x10, // Length ) IO (Decode16, 0xFF10, // Range Minimum 0xFF10, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0800, // Range Minimum 0x0800, // Range Maximum 0x01, // Alignment 0x04, // Length ) IO (Decode16, 0x0400, // Range Minimum 0x0400, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x0500, // Range Minimum 0x0500, // Range Maximum 0x01, // Alignment 0x80, // Length ) IO (Decode16, 0x164E, // Range Minimum 0x164E, // Range Maximum 0x01, // Alignment 0x02, // Length ) }) Name (MRG1, Zero) Name (MRG2, Zero) Method (TRG1, 1, NotSerialized) { Store (Arg0, MRG1) } Method (TRG2, 1, NotSerialized) { Store (Arg0, MRG2) } Method (DRG1, 0, NotSerialized) { Return (MRG1) } Method (DRG2, 0, NotSerialized) { Return (MRG2) } Method (TMPA, 0, NotSerialized) { Store (\_TZ.TZ00._TMP (), Local0) Return (Local0) } Method (TMPB, 0, NotSerialized) { Store (\_TZ.TZ01._TMP (), Local0) Return (Local0) } Method (TECO, 0, NotSerialized) { Return (ECON) } Method (TECA, 0, NotSerialized) { Return (^^EC.ECAK) } Method (TECR, 0, NotSerialized) { ^^EC._REG (0x03, 0x01) Return (ECON) } Method (TSF4, 0, NotSerialized) { Store (MRG1, Local0) Store (MRG2, Local1) If (LEqual (Local0, Zero)) { Store (PHS (0xE7), Local1) } If (LEqual (Local0, One)) { ShiftRight (And (Store (^^SNC.SN04 (), Local1), 0x10), 0x04, Local1) } Else { If (LEqual (Local0, 0x02)) { Store (PHS (0xDD), Local1) Store (And (Local1, One), Local1) } Else { If (LEqual (Local0, 0x03)) { Store (PHS (0xDD), Local1) ShiftRight (And (Local1, 0x06), One, Local1) } Else { If (LEqual (Local0, 0x04)) { And (Local1, 0x03, Local1) PHSD (0xDE, Local1) } Else { If (LEqual (Local0, 0x05)) { Store (PHS (0xDD), Local1) ShiftRight (And (Local1, 0x30), 0x04, Local1) } Else { If (LEqual (Local0, 0x06)) { And (Local1, 0x03, Local1) PHSD (0xDF, Local1) } Else { If (LEqual (Local0, 0x09)) { Store (PHS (0xDD), Local1) ShiftRight (And (Local1, 0x3000), 0x0C, Local1) } Else { If (LEqual (Local0, 0x0A)) { And (Local1, 0x03, Local1) PHSD (0xEC, Local1) } } } } } } } } DBGC (0x74, 0x80, BCEN) Return (Local1) } Method (TSN5, 0, NotSerialized) { Store (MRG1, Local0) ^^SNC.SN05 (Local0) Return (Zero) } Method (TSF3, 0, NotSerialized) { Store (MRG1, Local0) Store (MRG2, Local1) If (LEqual (Local0, 0x02)) { Store (^^^PEG3.NGFX.GBRI (), Local1) Store ("CMD2 current brightness data:", Debug) Store (Local1, Debug) } Else { If (LEqual (Local0, 0x03)) { Store ("CMD3 send byte:", Debug) Store (0x32, Local2) ShiftLeft (Local1, 0x08, Local1) PHSD (0xEF, Or (Local1, 0xA0)) Sleep (0x02) Store (0x32, Local2) While (LAnd (^^EC.ECAK, LNotEqual (Local2, Zero))) { Sleep (One) Decrement (Local2) } Store (Zero, Local1) XOr (^^EC.CMST, One, Local1) } Else { If (LEqual (Local0, 0x04)) { ShiftLeft (Local1, 0x08, Local1) PHSD (0xEF, Or (Local1, 0xA4)) Sleep (0x02) Store (0x32, Local2) While (LAnd (^^EC.ECAK, LNotEqual (Local2, Zero))) { Sleep (One) Decrement (Local2) } Store (Zero, Local1) XOr (^^EC.CMST, One, Local1) Store ("CMD4 read byte", Debug) } Else { If (LEqual (Local0, 0x05)) { ShiftLeft (Local1, 0x08, Local1) Store ("CMD5 write byte:", Debug) Store (Local1, Debug) PHSD (0xEF, Or (Local1, 0xA2)) Sleep (0x02) Store (0x32, Local2) While (LAnd (^^EC.ECAK, LNotEqual (Local2, Zero))) { Sleep (One) Decrement (Local2) } Store (Zero, Local1) XOr (^^EC.CMST, One, Local1) } Else { If (LEqual (Local0, 0x06)) { ShiftLeft (Local1, 0x08, Local1) PHSD (0xEF, Or (Local1, 0xA3)) Sleep (0x02) Store (0x32, Local2) While (LAnd (^^EC.ECAK, LNotEqual (Local2, Zero))) { Sleep (One) Decrement (Local2) } Store ("CMD6", Debug) Store (Zero, Local1) XOr (^^EC.CMST, One, Local1) } Else { If (LEqual (Local0, 0x08)) { ShiftRight (And (Store (^^SNC.SN04 (), Local1), 0x08), 0x03, Local1) Or (Local1, And (ALER, 0x02), Local1) Store ("CMD8 get event reason:", Debug) Store (Local1, Debug) } Else { If (LEqual (Local0, 0x09)) { If (Local1) { Store (0xA011, Local1) } Else { Store (0xA111, Local1) } PHSD (0xEF, Local1) } Else { If (LEqual (Local0, 0x0A)) { Store (^^EC.ALFS, Local1) } Else { If (LEqual (Local0, 0x0B)) { Store (PHSD (0xF0, 0x14), Local1) } Else { If (LEqual (Local0, 0x0C)) { ShiftLeft (Local1, 0x08, Local1) PHSD (0xF0, Or (Local1, 0xA015)) } Else { If (LEqual (Local0, 0x0D)) { ShiftLeft (Local1, 0x08, Local1) PHSD (0xF0, Or (Local1, 0xA016)) } Else { If (LEqual (Local0, 0x0E)) { ShiftLeft (Local1, 0x08, Local1) PHSD (0xF0, Or (Local1, 0xA017)) } } } } } } } } } } } } Return (Local1) } Method (GGID, 0, NotSerialized) { Store (GPID, Local0) Return (Local0) } Method (TSF2, 0, NotSerialized) { Store (MRG1, Local0) Store (Zero, Local1) If (LEqual (Local0, Zero)) { Store (0x04, Local1) PHSB (0xD0, Local1) } Else { If (LEqual (Local0, One)) { Store (0x04, Local1) PHSB (0xD1, Local1) } Else { If (LEqual (Local0, 0x02)) { Store (^^EC.GECR (), Local1) } } } DBGC (0x72, 0x80, BCEN) Return (Local1) } Method (TSF5, 0, NotSerialized) { Store (MRG1, Local0) Store (MRG2, Local2) If (LEqual (Local0, Zero)) { Store (^^EC.ISID, Local1) If (LEqual (Local1, 0x05)) { Store (One, Local1) } Else { Store (Zero, Local1) } DBGC (0x75, 0x80, BCEN) Return (Local1) } Else { If (LEqual (Local0, One)) { And (Local2, One, Local2) Store (Local2, ATFR) } } Return (Package (0x02) { Zero, Zero }) } Method (TSN2, 0, NotSerialized) { Store (MRG1, Local0) ^^SNC.SN02 (Local0) Return (Zero) } Method (TSN3, 0, NotSerialized) { Store (MRG1, Local0) ^^SNC.SN03 (Local0) Return (Zero) } Method (TINI, 0, NotSerialized) { Store (PHS (0xEA), Local1) And (Local1, One, Local1) PHSB (0xE1, Local1) Store (Zero, ALER) Store (Zero, Local0) While (LLessEqual (Local0, 0x08)) { Store (DerefOf (Index (^^^PEG3.NGFX.BCL4, Local0)), Index (BRTB, Local0)) Increment (Local0) } Divide (Subtract (BRTL, 0x04), 0x0C, , Local1) Store (DerefOf (Index (BRTB, Local1)), Local1) Store (Local1, SBRL) } Method (TPHS, 0, NotSerialized) { Store (MRG1, Local0) Store (MRG2, Local1) Store (PHSD (Local0, Local1), Local1) Return (Local1) } Method (TSDV, 0, NotSerialized) { DBGC (0xF6, Zero, BCEN) If (LNotEqual (DSEN, Zero)) { Return (Ones) } Store (MRG1, AODV) If (LNot (And (AODV, CADD))) { Store (One, AODV) } If (LNotEqual (CADD, PADD)) { Store (CADD, PADD) Notify (PCI0, Zero) And (PNHM, 0x000FFFF0, Local0) Notify (PEG3, Zero) Sleep (0x02EE) } DBGC (0xF6, 0x80, BCEN) Return (Zero) } } Methods TMPA - Returns temp of thermal zone 1 TMPB - Returns temp of thermal zone 2 TRG1 - Set register 1 TRG2 - Set register 2 DRG1 - Get register 1 DRG2 - Get register 2 GGID - Returns GPID, should be 4 for returning EDI4... Who sets GPID? TSF2 - Like SNC.SNF2, 1 parameter, sets active gfx card? TSF3 - Like SNC.SNF3, 2 parameters, param 0: function, param 1: function param TSF4 - Like SNC.SNF4, 2 parameters, param 0: function, param 1: function param TSF5 - Like SNC.SNF5, 2 parameters, param 0: function, param 1: function param TSN2 - Like SNC.SN02, 1 parameter, activate events, 0xFFFF all TSN3 - Like SNC.SN03, 1 parameter, disable events, 0xFFFF all TSN5 - Like SNC.SN05, 1 parameter, sets active output gfx TINI - Like SNC.INIT, 0 parameter TSDV - Like SNC.SODV, 1 parameter, 0x0 or 0x1 gfx card switching TECO - Return ECON, status of EC-device, 0x1 = activated TECA - Return ECAK, some EC-device status? TECR - Activates EC-device, returns ECON TPHS - Calls PHSD with RG1,RG2 and returns result Example Reading SNF4 with param 0x0 and param 0x1: sudo -s SMC_util2 -w0x00 -kTRG1 SMC_util2 -r -kDRG1 (just check) SMC_util2 -r -kTSF4 SMC_util2 -w0100 -kTRG1 SMC_util2 -r -kTSF4 At the second "-r -kTSF4" you will get other return bytes, because the method is now called with parameter 0x1 instead of 0x0. The "-w0100 -kTRG1" will set parameter 1 to 0x1. Seems you have to byteswap the value. So 0x0100 is 0x0001. SNC ACPI method's description (updated 04-Aug-11) _INI Init, calls PHSB (0xE1, PHS (0xEA)&&1) SODV Switch Screen / Gfx (values 0 / 1) SN00 Returns bytes (?) by value 0x0 to 0x4, 0x10 and 0x20 to 0x2f. See below. SN01 Returns event status SN02 Enable events ( 0xffff all) SN03 Disable events ( 0xffff all ) SN04 Returns active gfx output (var ESR),called rom SN03 param 0x8, SNF4 SN05 Sets active gfx output/brightness? (var ESR), PHSD (0xDA, x), param: 0x9 to 0xf SN06 Some kind of wrapper method that calls methods SNF0 to SNFF over method SNCM and returns the return value of SNF0 - SNFF Param: Buffer (0x02) { 0x0 - 0xf calling method SNF0 - SNFF, 0xXX parameter for SNFx-method } SN07 Returns event messages BRBR Set panel brightness BRTB panel brightness table CBMF Change Battery Mode Flag? RBMF Read Battery Mode inFormation? SNF1 ?nop SNF2 Set device??, 0x0 set PHSB (0xd0 0x04), 0x1 set PHSB (0xd1 0x04), 0x2 get key code from EC.GECR? SNF3 general brightness? , 0x0 set br table, 0x1 set default br, 0x2 get gfx br value, 0x3 set brightness PHSD 0xEF xxA0, 0x4 set brightness PHSD 0xEF xxA4, 0x5 set brightness PHSD 0xEF xxA2, 0x6 set brightness PHSD 0xEF xxA3, 0x7 set brightness PHSD 0xEF xxA1, 0x8 get active gfx out?, 0x9 set br PHSD 0xEF 0xA011 / 0xA111 (off?), 0xA get EC.ALFS 0xB get PHSD (0xF0, 0x14), 0xC ... SNF4 Set/Get output, 0x0 get PHS (0xE7), 0x1 get SN04()/active displays, 0x2 get PHS (0xDD), 0x3 get PHS (0xDD)&&6>>1, 0x4 set PHSD (0xDE, x)/output 0-3, 0x5 get PHS (0xDD)&&30>>4, 0x6 set PHSD (0xDF, x)/output 0-3 ,0x9 get PHS (0xDD)&&3000>>C, 0xA set PHSD (0xEC, x)/output 0-3 SNF5 ?? 0x0 get ISID==0x5 / 0x1 set ATFR param2: 0x0-0x1 SNF6 ?? 0x0 get PHSD (0xF1, 0x12), 0x1 get PHSD (0xF1, 0x13) SNF7 ?nop SNF8 ?nop SNF9 0x0 get PHS (0xE4) && 0xF5, 0x1 get PHSD (0xE5), 0x2 get PHS (0xF3) && 0xF5 SNFA 0x0 get GPID (=0x3) SNFB ?? get battery 0x0 get PHSD (0xDC, Zero) SNFC ?nop SNFD ?nop SNFE get/set something: 0x0 get PHS (0xC7)==0xFE, 0x1 set PHSB (0xC8, 0/1) SNFF ? get/set output internal gfx? uses method P8XH (Zero, x) PHSD Some general hardware call, 2 parameter PHS Some general hardware call, 1 parameter PHSD params: 0xC7 ? SNFE get something 0xC8, 0xA0/0xA1 ? SNFE set something 0xD0, 0x01 ? SNF0 0xD1, 0x01 ? SNF0 0xD0, 0x04 ? SNF1, Set brightness 0xD1, 0x04 ? SNF1, Set brightness 0xDA, 0x08 Set brightnes 0xDA, 0x09 - 0x0F Set gfx output? 0xDC, ? ? SNFB, RBMF, CBMF, battery?? 0xD7, ? Interrupts enable 0xD8, ? Interrupts disable 0xEF, ? ? SNF3 Set brightness value (value left shift 8, OR 0xA0 and value left shift 8, OR 0xA4) 0xF0, ? ? SNF3 Set/Get brightness value? 0xDD ? SNF4 Get output 0xDE, 0x00 - 0x03 ? SNF4 Set output 0xDF, 0x00 - 0x03 ? SNF4 Set output 0xEC, 0x00 - 0x03 ? SNF4 Set output 0xE7 ? SNF4 Get output 0xE8, 0x00 - 0x03 ? SNFF Set output 0xF1, 0x12 ? SNF6 get something 0xF2 ? SNFF get something 0xF1, 0x13 ? SNF6 get something 0xE5, ? ? SNF9 EC device: SECR set Extended key scan-Code result Set brightness GECR get Extended key scan-Code result, Get brightness ECAK EC ready? 0x1 ECON EC on? 0x1 ESR0 Active output SN00 parameter and return codes: 0x0 Name (SNI0, 0x53636E53) ... Name (SNI1, 0x6F707075) Name (SNI2, 0x64657472) Name (SNI3, 0x0100) 0x4 Name (SNI4, 0x36590000) 0x10 Name (SNIA, 0xCE7D) 0x20 Name (SNN0, 0x0101) .. Name (SNN1, Zero) Name (SNN2, 0x0100) Name (SNN3, 0x0137) Name (SNN4, 0x0124) Name (SNN5, 0x013A) Name (SNN6, 0x0139) Name (SNN7, Zero) Name (SNN8, Zero) Name (SNN9, 0x0136) Name (SNNA, 0x011D) Name (SNNB, 0x0114) Name (SNNC, Zero) Name (SNND, Zero) Name (SNNE, 0x0105) 0x2f Name (SNNF, 0x0122) Downloads Recent dsdt.aml Version 09-Aug-2011: removed GFX0 device, it's intel and not needed - DSDT.aml_2.zip Version 04-Aug-2011: brightness works? acpi test methods inside - DSDT.aml.zip Bootloader kexts FakeSMCandACPIMonitorF11.zip Link to comment Share on other sites More sharing options...
jlvaio Posted August 4, 2011 Share Posted August 4, 2011 a little remark yesterday i went to store and look at vaio and saw this model: <h1 class="fontnormal mrg_b_sm lienNosouligne">Sony Vaio VPC-F13J8E/H 16,4" TFT Blu-Ray USB 3.0 </h1>and i seae a button called display and when pushed it on/off the display : so the touch enable or not the black screen instantly so could we see on it a track related to snc as i remember it is the first vaio with that function and if there 's a button there 's a acpi solution not? if we get dsdt of it or acpi from linux is there a track? what do you think? sorry if i waste the time.... Link to comment Share on other sites More sharing options...
Funky frank Posted August 4, 2011 Share Posted August 4, 2011 what do you think? sorry if i waste the time.... Why not make some ACPI SNC-device tests? Maybe the functionality for enabling/disabling display is inside the chip... Look at the "SNC ACPI method's description" section, especially the methods SNF2-SNF5, SNFE-SNFF seem to be interesting. I already converted some methods for proper testing. Link to comment Share on other sites More sharing options...
Recommended Posts