tuxuser Posted June 16, 2014 Share Posted June 16, 2014 (edited) So guys, I got interesting news! After researching a lot (with big help from smx) .. we thought it would be wise to try the nvram writing from another OS.. to see if it's really a BIOS issue that nvram doesn't persist... or an OS issue. Well, it turns out, it's an OS(X) or Ozmosis Issue. Ozmosis READS while FirmwareBoot from nvram fine.. but after OSX is booted, those EFI variables (GUIDs) - it read fine before - aren't read-/accessable anymore from OSX! -- It can be assumed that Ozmosis leaves the NVRam in an unclean state... It can be assumed that more recent BIOS versions don't feature the backwards compatibility for old U/EFI standards... so Apple's implementation is no longer working (Apple is still using a pretty old *custom* version of EFI). Can anybody clearly explain this situation? Anyways, here's a workaround: -- Method via Linux -- You need: * USB Flashdrive * Ubuntu 14.04 x64 iso * Unetbootin * Attached file "efirw.c" .... 1. Go to Disk Utility, format the USB Stick as FAT32 - Partition Table: MBR 2. With Unetbootin, write ubuntu iso to usb flashdrive 3. MODIFY attached efirw.c to match your desired SMBios values + boot-args 4. Copy modified efirw.c to usb flashdrive 5. Boot from usb flash to Ubuntu (UEFI Mode!!!) 6. Start "Terminal" -> type the following sudo sumount -o remount,rw /cdrom cd /cdrom gcc -o efiwrite efirw.c modprobe efivars ./efiwrite reboot 7. Boot back to OSX, new settings should have been applied (SMBios and Bootargs) -- Method via EFI Shell -- 1. Boot to EFI Shell 2. Type the following commands (adjusted to your needs of course) setvar boot-args -guid 7C436110-AB2A-4BBB-A880-FE41995C9F82 -nv ="-v" setvar SystemSerial -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="C02KP025F8JC" setvar BaseBoardSerial -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="C02KP025F8JCF325D" setvar BiosDate -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="03/09/13" setvar BiosVersion -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="IM142.88Z.0118.B00.1309031249" setvar ProductName -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="iMac14,2" setvar ProductFamily -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="iMac" setvar ProductId -guid 4D1FDA02-38C7-4A6A-9CC6-4BCCA8B30102 -nv ="Mac-27ADBB7B4CEE8E61" 3. Reboot Credits to: smx - Help and patience P. Murphey - Original sourcecode - http://blog.fpmurphy.com/2012/12/efivars-and-efivarfs.html Links zu Apple's Sourcecode (NVRAM): http://www.opensource.apple.com/source/xnu/xnu-2050.48.11/iokit/Kernel/IONVRAM.cpp http://www.opensource.apple.com/source/system_cmds/system_cmds-597.90.1/nvram.tproj/nvram.c http://www.opensource.apple.com/source/xnu/xnu-2050.48.11/iokit/IOKit/IOPlatformExpert.h http://www.opensource.apple.com/source/xnu/xnu-2050.48.11/iokit/IOKit/IONVRAM.h efirw.c.zip Edited June 16, 2014 by tuxuser 3 Link to comment Share on other sites More sharing options...
modbin Posted June 16, 2014 Share Posted June 16, 2014 -- It can be assumed that Ozmosis leaves the NVRam in an unclean state... It's not an issue with Ozmosis. It's related to the firmware and how OS X handles nvram. After the AMI Aptio sourcecode leak AMI changed a lot of stuff in their source. All firmware updates based on this new source lack nvram r/w support in OS X. Other OSs are not affected. So that's why u can write from within ubuntu. U can also write to nvram from within Windows or even from the uefi shell itself. 1 Link to comment Share on other sites More sharing options...
tuxuser Posted June 16, 2014 Share Posted June 16, 2014 Thanks, corrected my post - maybe my assumption is still invalid - but atm makes most sense for me. We can agree on: It's not a bug, it's a feature Link to comment Share on other sites More sharing options...
bs0d Posted June 16, 2014 Share Posted June 16, 2014 Well, it turns out, it's an OS(X) or Ozmosis Issue. Ozmosis READS while FirmwareBoot from nvram fine.. but after OSX is booted, those EFI variables (GUIDs) - it read fine before - aren't read-/accessable anymore from OSX! -- It can be assumed that Ozmosis leaves the NVRam in an unclean state... It can be assumed that more recent BIOS versions don't feature the backwards compatibility for old U/EFI standards... so Apple's implementation is no longer working (Apple is still using a pretty old *custom* version of EFI). wrong again. maybe don't try to 'assume' things you clearly have no idea about, or no way to prove. Link to comment Share on other sites More sharing options...
ArcticFox Posted June 19, 2014 Share Posted June 19, 2014 Trying to create my own firmware, I have extracted all the files from 894 QUO firmware and compressed CORE_DXE and have about 1300kb free space. Whenever I try and insert ozmosis, even if I put it in before anything else I always get "Error getting firmware information"? Link to comment Share on other sites More sharing options...
xpamamadeus Posted June 19, 2014 Author Share Posted June 19, 2014 Trying to create my own firmware, I have extracted all the files from 894 QUO firmware and compressed CORE_DXE and have about 1300kb free space. Whenever I try and insert ozmosis, even if I put it in before anything else I always get "Error getting firmware information"? dont compress coredxe and delete unneeded modules. check space in volume 1 becouse it grows when u insert something in volume 2. u can read whole thread and u will find what can be deleted and some toher usefull infos about making more space. 1 Link to comment Share on other sites More sharing options...
ArcticFox Posted June 19, 2014 Share Posted June 19, 2014 Success! I was trying to install on an external USB HDD just to test but had issues trying to see the OS after install. Backed up Mavericks and blanked my main drive and install was a success, it saw the main partition in my UEFI boot. Only thing I needed was FakeSMC which was installed into my UEFI anyway. NVRAM settings are fine after reboot on F6 version of my boards firmware. Only things that didn't work after install were sound and ethernet which did work after I installed the kexts. Awesome work on Ozmosis, it's nice to be able to boot a clean install USB. Link to comment Share on other sites More sharing options...
xelanaiznac Posted June 22, 2014 Share Posted June 22, 2014 hi guys. i came back to clover. the advantages: -i can use the latest kozlec fakesmc 6.9 -it gives me a perfect powermanagement (from 8x to 39x with my 4770k) while with ozmosis (with both smcemulator or fakesmc by slice) i had some missing multipliers. the other advantage is that i have all the sensors working (cpu temps and voltage, fans speed, gpu voltage and temps etc) while with ozmosis (with both smcemulator or fakesmc by slice) i couldn't. when a working 6.9 kozlec fakesmc will be released for ozmosis, i will come back to ozmosis. thank you all! Link to comment Share on other sites More sharing options...
xpamamadeus Posted June 22, 2014 Author Share Posted June 22, 2014 hi guys. i came back to clover. the advantages: -i can use the latest kozlec fakesmc 6.9 -it gives me a perfect powermanagement (from 8x to 39x with my 4770k) while with ozmosis (with both smcemulator or fakesmc by slice) i had some missing multipliers. the other advantage is that i have all the sensors working (cpu temps and voltage, fans speed, gpu voltage and temps etc) while with ozmosis (with both smcemulator or fakesmc by slice) i couldn't. when a working 6.9 kozlec fakesmc will be released for ozmosis, i will come back to ozmosis. thank you all! u can use latest kozlek fakesmc with plugins if u install in SLE and no in firmware. If u add ssdt created using ssdtprgen to your firmware it will have right powermanagment like clover. Link to comment Share on other sites More sharing options...
Aigors Posted June 22, 2014 Share Posted June 22, 2014 Hi friends, i'm trying to insert ozmosis into bios attached, but when i exctract dsdt from AmiBoardInfo.in , maciasl refuse to load , can someone check if i'm doing something wrong ? or this file it's' different then others AmiBoardinfo.bin? Many thanks asusp551CA.zip Link to comment Share on other sites More sharing options...
FredWst Posted June 22, 2014 Share Posted June 22, 2014 Hi friends, i'm trying to insert ozmosis into bios attached, but when i exctract dsdt from AmiBoardInfo.in , maciasl refuse to load , can someone check if i'm doing something wrong ? or this file it's' different then others AmiBoardinfo.bin? Many thanks Hi, With HexaEdit, just change byte after 3A15 to 00 instead of 01 and all will be ok. But something wrong because DSDT seems empty Edit: Dsdt2Bios Bug. here's your DSDT dsdt.aml.zip Size is 0x01153a, must change Dstd2Bios witch only can extract max size of 0xFFFF. Fred 1 Link to comment Share on other sites More sharing options...
Aigors Posted June 22, 2014 Share Posted June 22, 2014 Hi, With HexaEdit, just change byte after 3A15 to 00 instead of 01 and all will be ok. But something wrong because DSDT seems empty Fred Doh! maybe it's' not a rigth place of DSDT? it's a new laptop from asus. Doh! Thanks Link to comment Share on other sites More sharing options...
ammoune78 Posted June 22, 2014 Share Posted June 22, 2014 hi guys. i came back to clover. the advantages: -i can use the latest kozlec fakesmc 6.9 -it gives me a perfect powermanagement (from 8x to 39x with my 4770k) while with ozmosis (with both smcemulator or fakesmc by slice) i had some missing multipliers. the other advantage is that i have all the sensors working (cpu temps and voltage, fans speed, gpu voltage and temps etc) while with ozmosis (with both smcemulator or fakesmc by slice) i couldn't. when a working 6.9 kozlec fakesmc will be released for ozmosis, i will come back to ozmosis. thank you all! hI xelanaiznac! If you need to use latest kozlek FakeSMC with Ozmosis 894M, you have to put only Fakesmc in Bios with ozmosis stuff, then you have to put in Efi/Quo/Extensions/Common directory: kozlek FakeSMC and all he's sensors with AppleIntelE1000e.kext that's all, but in System/Library/Extensions only put patched AppleHDA.kext, your patched DSDT.aml in Efi/Quo/ACPI/Load directory: but please don't use DSDT Editor, use MacIASL and PJALM Patch Repository for Gigabyte Z87X-UD4H. No need other kexts like USBXHCI and etc... All work just fine with this board ! Link to comment Share on other sites More sharing options...
Aigors Posted June 22, 2014 Share Posted June 22, 2014 Hi friends, as you can see when i try to boot from usb key i stuck at this point, i'v insert ozmoisis stuffs inside,but i thinkg 'v missing something laptop is asus p551ca Link to comment Share on other sites More sharing options...
Riley Freeman Posted June 22, 2014 Share Posted June 22, 2014 hI xelanaiznac! If you need to use latest kozlek FakeSMC with Ozmosis 894M, you have to put only Fakesmc in Bios with ozmosis stuff, then you have to put in Efi/Quo/Extensions/Common directory: kozlek FakeSMC and all he's sensors with AppleIntelE1000e.kext that's all I tried putting my AppleIntelE100e and USB kexts into the EFI partition but 894 didn't even try to load them. This is with Yosemite so maybe it works for Mavericks. But then, the only reason I'm using 894 is because 828 won't work with Yosemite. As I said before, hopefully the next Ozmosis release will fix the kext loading so we can get back to where it was with 828. Link to comment Share on other sites More sharing options...
THe KiNG Posted June 22, 2014 Share Posted June 22, 2014 First i would not advise it on any kind of laptop, there's no mobile support. Secondly It only works with AMI Firmware. @Aigors ^^^ Link to comment Share on other sites More sharing options...
ammoune78 Posted June 22, 2014 Share Posted June 22, 2014 I tried putting my AppleIntelE100e and USB kexts into the EFI partition but 894 didn't even try to load them. This is with Yosemite so maybe it works for Mavericks. But then, the only reason I'm using 894 is because 828 won't work with Yosemite. As I said before, hopefully the next Ozmosis release will fix the kext loading so we can get back to where it was with 828. Hi Riley! For me with yosemite also works fine without any kext, just kozlek FakeSMC and sensors with AppleIntelE1000e in EFI, AppleHDA in SLE, kozlek FakeSMC without sensors in Bios, no need for USB kexts. But the version of FakeSMC in Bios must be the same in EFI>QUO.... This worked fine with Z87X-UD4H Link to comment Share on other sites More sharing options...
Riley Freeman Posted June 22, 2014 Share Posted June 22, 2014 Well it's not working here. Maybe it's something with my Z68. I avoided 894 as long as I could but I need it for Yosemite. Can you have a look at the bdmesg output and show me where it loads kexts from your EFI partition? The only mention of the EFI partition in my bdmesg log is where it lists the folder paths at the start. I never tried loading kexts from EFI with the earlier Ozmosis versions because there was no need for it so I don't know how it appears in the log. 1 Link to comment Share on other sites More sharing options...
Aigors Posted June 22, 2014 Share Posted June 22, 2014 @the king this laptop has ami firmware it's base on h76 chipset Link to comment Share on other sites More sharing options...
ammoune78 Posted June 22, 2014 Share Posted June 22, 2014 Well it's not working here. Maybe it's something with my Z68. I avoided 894 as long as I could but I need it for Yosemite. Can you have a look at the bdmesg output and show me where it loads kexts from your EFI partition? The only mention of the EFI partition in my bdmesg log is where it lists the folder paths at the start. I never tried loading kexts from EFI with the earlier Ozmosis versions because there was no need for it so I don't know how it appears in the log. Now i'm on MacBook Pro, because i've already sold my Z87X-UD4H, but i think if the latest kozlek fakesmc works with the 828M, the 894M should also works. But the path from where the kexts are loaded is: EFI/ QUO/ Extensions/ Common/. Normally if you use kozlek FakeSMC, you have to put the same one in bios and in EFI partition with all its sensors in EFI/...../Common path, but i think you have to put it in two drives, one for Mavericks and the other one for Yosemite. It's like that the OS X has worked for me. I don't know if this link can help you, there's a lot of Mac's ACPI tables and etc..... witch are from RAMALAMA " ". Link to comment Share on other sites More sharing options...
xelanaiznac Posted June 22, 2014 Share Posted June 22, 2014 u can use latest kozlek fakesmc with plugins if u install in SLE and no in firmware. If u add ssdt created using ssdtprgen to your firmware it will have right powermanagment like clover. i tried it. the result is that fakesmc's sensor don't load. using ssdt created using ssdtprgen doesn't give me a perfect 100% power management, let's say a 99,8% perfect Link to comment Share on other sites More sharing options...
THe KiNG Posted June 22, 2014 Share Posted June 22, 2014 @the king this laptop has ami firmware it's base on h76 chipset You need to read again my quote, and BTW your laptop has Intel HM76 that is mobile chipset, and no is not supported. And my nick is "THe KiNG" . Link to comment Share on other sites More sharing options...
ammoune78 Posted June 22, 2014 Share Posted June 22, 2014 Riley! I've looked at your board P8Z68-V/GEN3 in ASUS website, and i just want to tell you, it's a very-good board . Link to comment Share on other sites More sharing options...
xpamamadeus Posted June 22, 2014 Author Share Posted June 22, 2014 i tried it. the result is that fakesmc's sensor don't load. using ssdt created using ssdtprgen doesn't give me a perfect 100% power management, let's say a 99,8% perfect U are doing something wrong,nothing more to say. Link to comment Share on other sites More sharing options...
Riley Freeman Posted June 23, 2014 Share Posted June 23, 2014 Riley! I've looked at your board P8Z68-V/GEN3 in ASUS website, and i just want to tell you, it's a very-good board . Thanks. It's served me well so far alright @xelanaiznac: FakeSMC should load ok from /S/L/E. I've had 5.3.901 and 6.9.1315 working here with CPU and GPU sensor plugins. I have slice's FakeSMC 3.3.1 in the BIOS. Link to comment Share on other sites More sharing options...
Recommended Posts