ammoune78 Posted March 24, 2014 Share Posted March 24, 2014 Hi, https://www.dropbox.com/s/orco9ty5fegh40l/Kext2Ffs.zip Kext2Ffs updated to generate OzmosisDefaults.ffs. In directory Ozm edit OzmosisDefaults.plist according to your config. In terminal ./KextToFfs.command Ozm Fred Hi all! I generated OzmosisDefaults.ffs like that, but it don't work! And on the Ozmosis log it generate automatically new one, please see my attached generated OzmosisDefaultsSMBios.plist and Ozmosis log! The latest built of Ozmosis Firmware 894M doesn't work for me to, i have kernel panic dependency with: can't perform kexts loading…. no kext Kernel UUID: 9FEA8EDC -B629-3ED2-A1A3-6521A1885953. But the 824M work like charm and his OzmosisDefaults has a MacPro3,1 SMBios, I don't know what to do! Link to comment Share on other sites More sharing options...
PJALM© Posted March 24, 2014 Share Posted March 24, 2014 Ok I tried again with FakeSMC 3.3.1 same issues. Tried adding the IONetworking and says a module with same GUID already exsists but no clue what one or what GUID. Link to comment Share on other sites More sharing options...
xpamamadeus Posted March 25, 2014 Author Share Posted March 25, 2014 Ok I tried again with FakeSMC 3.3.1 same issues. Tried adding the IONetworking and says a module with same GUID already exsists but no clue what one or what GUID. just make a fresh start with making .ffs kexts. put all kexts in folder soo script will not make same guid for some of them. It needs to be done in one step. Not kext by kext becouse then we will have same guid kexts. Sry for my bad english hope it helps. Link to comment Share on other sites More sharing options...
PJALM© Posted March 25, 2014 Share Posted March 25, 2014 ok i see thx, will try again Link to comment Share on other sites More sharing options...
xpamamadeus Posted March 28, 2014 Author Share Posted March 28, 2014 I would like to share my Ozmosis mod for Z87M D3H. Its based on latest F10a bios for this board and latest ozmosis. All oproms and CPU code its latest versions. DSDT its modded with HDEF and HDMI patches for discrete VGA card. https://www.dropbox.com/s/ypplrra9p4xfuku/Z87MD3H%20F10a%20Ozmosis.zip It have imac 14,2 SMBIOS data. Bios settings are my defaults with intel integrated disabled. Didnt test how it works with both graphics or only Intel. Works great with windows and Maverics. Link to comment Share on other sites More sharing options...
blackosx Posted March 28, 2014 Share Posted March 28, 2014 Thanks for sharing xpamamadeus. I'll take a look when I'm back on my hack. For now, I have no hack. OT I know, but last week, I flashed the BIOS maybe 10 times in a couple of days and all was working well. Last thing I remember doing was issuing a script from OSX to write some nvram vars to set SMBIOS and then I found my machine would POST but then freeze with bios q-code A2 (IDE detect) and I could no longer enter bios menu. Clearing CMOS, unplugging everything from the main board, and doing anything else didn't resolve it either. Asus support said it was a faulty bios chip and to RMA the board, but I needed to go through the retailer, which I know was Amazon. As I have a second hand board, Amazon said to get the original buyer to contact them so they could send an RMA request which could then be sent on to me. I've emailed the person I bought it from but have had no reply so I've since ordered a replacement bios chip from ebay. In the mean time I've got back my raspberry pi which I'd lent to somebody else and am going to attempt to use it as an SPI programmer to re-write my bios chip as per bikinifarm's post. http://www.insanelymac.com/forum/topic/285444-pmpatch-uefi-patching-utility/page-45?do=findComment&comment=1954787 1 Link to comment Share on other sites More sharing options...
xpamamadeus Posted March 28, 2014 Author Share Posted March 28, 2014 Thanks for sharing xpamamadeus. I'll take a look when I'm back on my hack. For now, I have no hack. OT I know, but last week, I flashed the BIOS maybe 10 times in a couple of days and all was working well. Last thing I remember doing was issuing a script from OSX to write some nvram vars to set SMBIOS and then I found my machine would POST but then freeze with bios q-code A2 (IDE detect) and I could no longer enter bios menu. Clearing CMOS, unplugging everything from the main board, and doing anything else didn't resolve it either. Asus support said it was a faulty bios chip and to RMA the board, but I needed to go through the retailer, which I know was Amazon. As I have a second hand board, Amazon said to get the original buyer to contact them so they could send an RMA request which could then be sent on to me. I've emailed the person I bought it from but have had no reply so I've since ordered a replacement bios chip from ebay. In the mean time I've got back my raspberry pi which I'd lent to somebody else and am going to attempt to use it as an SPI programmer to re-write my bios chip as per bikinifarm's post. http://www.insanelymac.com/forum/topic/285444-pmpatch-uefi-patching-utility/page-45?do=findComment&comment=1954787 Really like your attempt to recover your mobo using raspberry pi. Waiting for your sucess and good luck. Link to comment Share on other sites More sharing options...
blackosx Posted March 30, 2014 Share Posted March 30, 2014 Thanks for the good luck message xpamamadeus Job done! I set up the raspberry pi with pciutils and flashrom, then went about setting up the wiring to allow me to re-write my chip. It took two attempts. First, last night I soldered some wires, resistors and a capacitor and set up my raspberry pi with bios chip. But my work was wrong somehow as flashrom failed. sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -r biosbackup.rom flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l) flashrom is free software, get the source code at http://www.flashrom.org Calibrating delay loop... OK. Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on linux_spi. === This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -VE, -Vw), and mention which mainboard or programmer you tested. Please mention your board in the subject line. Thanks for your help! Read is not working on this chip. Aborting. sudo flashrom -E -V -p linux_spi:dev=/dev/spidev0.0 flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.6.3, little endian Command line (4 args): flashrom -E -V -p linux_spi:dev=/dev/spidev0.0 Calibrating delay loop... OS timer resolution is 5 usecs, 111M loops per second, delay more than 10% too short (got 53% of expected delay), recalculating... 109M loops per second, delay more than 10% too short (got 50% of expected delay), recalculating... 228M loops per second, 10 myus = 10 us, 100 myus = 103 us, 1000 myus = 1058 us, 10000 myus = 10917 us, 20 myus = 23 us, OK. Initializing linux_spi programmer Using device /dev/spidev0.0 The following protocols are supported: SPI. Probing for AMIC A25L05PT, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Probing for AMIC A25L05PU, 64 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Probing for AMIC A25L10PT, 128 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 ../snip/.. Probing for ST unknown ST SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Probing for Generic unknown SPI chip (RDID), 0 kB: RDID byte 0 parity violation. probe_spi_rdid_generic: id1 0x00, id2 0x00 Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI) on linux_spi. Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0x0, id2 0x0 Found Generic flash chip "unknown SPI chip (RDID)" (0 kB, SPI). === This flash part has status NOT WORKING for operations: PROBE READ ERASE WRITE The test status of this chip may have been updated in the latest development version of flashrom. If you are running the latest development version, please email a report to flashrom@flashrom.org if any of the above operations work correctly for you with this flash part. Please include the flashrom output with the additional -V option for all operations you tested (-V, -Vr, -VE, -Vw), and mention which mainboard or programmer you tested. Please mention your board in the subject line. Thanks for your help! Read is not working on this chip. Aborting. Take 2 - I woke this morning thinking I must have done something wrong and knew I should try again. So.. This time I did it without the resistors and capacitor as mentioned by coderush here And bingo! sudo flashrom -p linux_spi:dev=/dev/spidev0.0 -w ../../MaximusIV-GENE-Z-ASUS-3402-Patched.ROM -V flashrom v0.9.7-r1711 on Linux 3.10.25+ (armv6l) flashrom is free software, get the source code at http://www.flashrom.org flashrom was built with libpci 3.2.1, GCC 4.6.3, little endian Command line (5 args): flashrom -p linux_spi:dev=/dev/spidev0.0 -w ../../MaximusIV-GENE-Z-ASUS-3402-Patched.ROM -V Calibrating delay loop... OS timer resolution is 5 usecs, 228M loops per second, 10 myus = 11 us, 100 myus = 107 us, 1000 myus = 987 us, 10000 myus = 17972 us, 20 myus = 23 us, OK. Initializing linux_spi programmer Using device /dev/spidev0.0 The following protocols are supported: SPI. Probing for AMIC A25L05PT, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for AMIC A25L05PU, 64 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 ../snip/.. Probing for Macronix unknown Macronix SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for PMC unknown PMC SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for SST unknown SST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for ST unknown ST SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for Sanyo unknown Sanyo SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for Winbond unknown Winbond (ex Nexcom) SPI chip, 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for Generic unknown SPI chip (RDID), 0 kB: probe_spi_rdid_generic: id1 0xef, id2 0x4017 Probing for Generic unknown SPI chip (REMS), 0 kB: probe_spi_rems: id1 0xef, id2 0x16 Found Winbond flash chip "W25Q64.V" (8192 kB, SPI). This chip may contain one-time programmable memory. flashrom cannot read and may never be able to write it, hence it may not be able to completely clone the contents of this chip (see man page for details). Reading old flash chip contents... done. Erasing and writing flash chip... Trying erase function 0... 0x000000-0x000fff:S, 0x001000-0x001fff:EW, 0x002000-0x002fff:E, 0x003000-0x003fff:S, 0x004000-0x004fff:S, 0x005000-0x005fff:S, 0x006000-0x006fff:EW, 0x007000-0x007fff:E, 0x008000-0x008fff:E, 0x009000-0x009fff:E, 0x00a000-0x00afff:EW, 0x00b000-0x00bfff:S, 0x00c000-0x00cfff:EW, 0x00d000-0x00dfff:E, 0x00e000-0x00efff:EW, 0x00f000-0x00ffff:E, 0x010000-0x010fff:E, 0x011000-0x011fff:E, 0x012000-0x012fff:EW, 0x013000-0x013fff:E, 0x014000.../snip/.. 0x7fa000-0x7fafff:S, 0x7fb000-0x7fbfff:S, 0x7fc000-0x7fcfff:S, 0x7fd000-0x7fdfff:S, 0x7fe000-0x7fefff:S, 0x7ff000-0x7fffff:S Erase/write done. Verifying flash... VERIFIED. Job done! I am now back using my hack. Big thanks to bikinifarm, coderush and pacman for their posts. EDIT: Removed a large chunk of the posted logs as they were slowing down page loading.. 5 Link to comment Share on other sites More sharing options...
xpamamadeus Posted March 30, 2014 Author Share Posted March 30, 2014 I am really glad that u succeed. Verifying flash... VERIFIED. Link to comment Share on other sites More sharing options...
blackosx Posted March 30, 2014 Share Posted March 30, 2014 Thanks. I can now begin to look at ebounce.c as modbin advised last week. Link to comment Share on other sites More sharing options...
Israel Fernandes Posted March 31, 2014 Share Posted March 31, 2014 Hello I'm trying to edit my dsdt directly into UEFI for use in conjunction with Ozmosis, but have not found any information about DSDT. Can anyone help me with this? Link to comment Share on other sites More sharing options...
xpamamadeus Posted March 31, 2014 Author Share Posted March 31, 2014 Hello I'm trying to edit my dsdt directly into UEFI for use in conjunction with Ozmosis, but have not found any information about DSDT. Can anyone help me with this? Hi. Make signature soo we can know what hardware u use. And post your bios version. Link to comment Share on other sites More sharing options...
Aigors Posted March 31, 2014 Share Posted March 31, 2014 Nice hack!!!! i have buyed one simple flash programmer with some clips, very usefull and cheap but i cant program gigabyte flash onboard, it seems there is a very high current absorber. Hello I'm trying to edit my dsdt directly into UEFI for use in conjunction with Ozmosis, but have not found any information about DSDT. Can anyone help me with this? Try this http://forums.mydigitallife.info/threads/47032-Ami-Aptio-firmware-(UEFI)-dsdt-firmware-mod/page2 Link to comment Share on other sites More sharing options...
ammoune78 Posted March 31, 2014 Share Posted March 31, 2014 Firstly! I wish you the best Xpamamadeus, I have seen a lot of your posts that's are always very usefull! and I really want to thank you for sharing this nice one too. I recently have seen the post on mydigitallife that explain how to insert a modified DSDT in the BIOS, and now, I still fail to make it properly. However, when I flash the bios with a DSDT that's not contain errors and after restarting my Hackintosh and extracting the DSDT with Maciasl, I found several errors even when a DSDT was previously fixed like i told before. It makes me crazy and i really don’t know how to do it properly. Please! here is the link of the AmiBoardInfo extracted from the GA-Z87X-UD4H.F9 Bios with the patch that i use. Sorry for my bad english!!! https://www.dropbox.com/s/n9zqy5xpkn68kkk/AmiBoardInfo%20GIGABYTE%20GA-Z87X-UD4H%20F9%20With%20edited%20patch.zip Link to comment Share on other sites More sharing options...
unexpected_eof Posted March 31, 2014 Share Posted March 31, 2014 Some tracks and pitfalls for modifying DSDT: 1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this). 2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file. 3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and put this in your BIOS file Hope this makes sense Link to comment Share on other sites More sharing options...
Aigors Posted March 31, 2014 Share Posted March 31, 2014 Some tracks and pitfalls for modifying DSDT: 1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this). 2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file. 3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and put this in your BIOS file Hope this makes sense yes, but how we can knows the start and the end in Amibios.info? there are some specific hex sequence that sign the start and the end of the compiled DSDT? Link to comment Share on other sites More sharing options...
unexpected_eof Posted March 31, 2014 Share Posted March 31, 2014 There are surely some hex sequences that show the start and end of this. BUT I haven't found them yet. My way: some pages below start I find the sequence "DSDT" and search for ASCII "PINI". Everything between those (+1 byte) is copied to DSDT.aml. And when MacIasl doesn't complain, everything is fine. Link to comment Share on other sites More sharing options...
ammoune78 Posted March 31, 2014 Share Posted March 31, 2014 Thank's for reply guy's, so here are the steps that i made for my Bios: 1- I download the bios from gigabyte. 2- I extract the AmiBoardInfo.ffs From the bios as is. 3- With the HexEditor i open the AmiBoardInfo.ffs and Select from the begin (DSDT...ALASKA...etc..) something like that until the end (PINI. with "."), then i copied and paste it to another Hex file that i named as DSDT.aml and save it. 4- I patch that DSDT with same size "48880" Bytes. 5- Now from Microsoft Windows i open the Bios that i have downloaded earlier with PhoenixTool 2.50, and it extract all the module when i click on advanced=> Allow user to modify module + No SLIC + allow DSDT modification and i click on Go and after i click on Structure. 6- With Hex Editor, i open from the Dump folder only the module inside the AmiBoardInfo.ffs that contain the DSDT section like i copied earlier it's a (PE32+ Image Section=9F3A............44C347-100.MOD), and i paste over selected DSDT "inside this module" the patched one, then i click only save bouton from the Hex editor. Now i have saved into this module my DSDT already patched with no error and with same size. 7- Now from the Structure window, i click the replace bouton, and i select that saved module on the Dump folder of the PhoenixTool not from any where "it's the saved one" and he do it's Job to replace it, and he compile the modified Bios. 8- Finally, i got that Modified BIOS and i add to it Ozmosis and all ffs that i need, and go to flash mi Board. 9- Until this steps! Everything works like charm. 10- After i flashed my board with this bios and boot into Mavericks, i extract the System DSDT with Maciasl, here i have the errors!!! But when i look to the modified bios and extract his DSDT from his AmiBoardInfo.ffs. NO PROBLEM and NO ERROR. So this makes me crazy=> "It looks like i have errors only when i boot into mavericks" !!! There is a demon in my motherboard . Link to comment Share on other sites More sharing options...
Aigors Posted March 31, 2014 Share Posted March 31, 2014 as is? not uncompressed ? Link to comment Share on other sites More sharing options...
unexpected_eof Posted March 31, 2014 Share Posted March 31, 2014 Just a silly question: Why do you extract DSDT in step 10 when you have one (without errors) in step 4? Maybe it's not obvious that MacIasl does a re-assembling when it tries to read the aml file (= machine language). Just for clarification: re-assembling is something which cannot rebuild the source in total. So this is quite normal that you have source code which will not compile, because MacIasl (or better iASL) just does a guess what is going on in this aml file. Therefore, if you have an error free DSDT from step 4, stick with it. Do some fantastic patches from PJALM or Toleda, put in some SSDT, and put it back into BIOS. That's it. Link to comment Share on other sites More sharing options...
FredWst Posted March 31, 2014 Share Posted March 31, 2014 Hello, When you extract DSDT with MacIAsl some address are modified during boot process and bios setting. I agree, the best way to get DSDT is what explained ammoune78. Fred Link to comment Share on other sites More sharing options...
ammoune78 Posted March 31, 2014 Share Posted March 31, 2014 I extract the DSDT from Step10 just in order to see if there is an error. but Inside the modified bios there's no error, it's just when i extract the DSDT from Mavericks. So, if i inderstand, the right way is to paste into the module one de-assembled DSDT "dsl". If you see the page 26, i allready placed a link for a patch that contain: (Toleda, Pjalm and PikerAlpha), after that, i manually make some changes for some "Return Zero, and Method Serialized. When i finish them, the final DSDT have same size: 48880 Bytes same as the original one, so finally i replace the original DSDT Inside this module with this one. Tell me please, if it's right. Link to comment Share on other sites More sharing options...
ammoune78 Posted April 1, 2014 Share Posted April 1, 2014 as is? not uncompressed ? Yes as is! Because if you look the size when you extract the AmiBoardInfo: As Is size is bigger than the Uncompressed!!! I really don't understand why, but it's true Hello, When you extract DSDT with MacIAsl some address are modified during boot process and bios setting. I agree, the best way to get DSDT is what explained ammoune78. Fred Exactly FredWst! Because when i reboot after flashing the bios, i do some change like: -HDD=>AHCI -IGFX=>Disabled -XMP detection=1, i have 2x8 Gb DDR-3 2400 Mhz -VT-d: Disabled, i have Intel i7 4771 -PCI-E= First The first error is here: DSDT inside AmiBoardInfo: "Name (XMPT, Buffer (Zero) {})" This is good one. When it's extracted become: Name (XMPT, Buffer (0x0000) {}), and after every 3 minutes the mavericks reboot. Some tracks and pitfalls for modifying DSDT: 1. Do not extract DSDT with Maciasl. Bios/UEFI does some changes while loading these into memory during boot time. It's better to use MMtool for Extraction of AmiBoardInfo and use a Hexeditor for extraction of DSDT (there are several guides how to do this). 2. After de-compiling DSDT.aml and cleaning the errors, also save this as dsl file. For further patching and amendments always use this dsl (no further de-compilation is required). Of course for the BIOS use the compiled aml file. 3. Either put the DSDT.aml to the EFI partition and let Ozmosis inject this during boot time, or when this doesn't work (like my setup), put this back into AmiBoardInfo and put this in your BIOS file Hope this makes sense Yes of course, i do it with the MMTool from the AmiBoardInfo like you said, but i can't do all the patch's that i want, first i need to delete some of the code inside of the DSDT, like Windows 2001 SP1 until 2006 in the Method _INI of the Scope (_SB.PCI0), because if i exceed the 48880 Bytes, after the flash of the Bios, i have a black screen! Link to comment Share on other sites More sharing options...
FredWst Posted April 1, 2014 Share Posted April 1, 2014 Hi, Look at your motherboard hardware book. I believe you can remove many device witch are present but not used. For exemple i removed USB, RP5 to RP8. (Z77-DS3H) Don't rename SAT0 to SATA if there sat0 in one ssdt or change it Etc... Fred Link to comment Share on other sites More sharing options...
ammoune78 Posted April 1, 2014 Share Posted April 1, 2014 Hi! I don't know witch one of them to delete, but that i will need to use, is only the front panel USB Port's. And i don't use the TPM, so i don't know if i can delete it also, and i think the PCI-Express port 1 and 2 witch are in DSDT ( P0PA and P0PB) can be deleted also if i don't use the SLI "2 Graphics Cards"? Link to comment Share on other sites More sharing options...
Recommended Posts