alexylee Posted January 8, 2011 Share Posted January 8, 2011 anyone having trouble booting after doing the bunch of recent updates?mine seems to be stopping on the following message: /drv/ hypioctls.c:908 ioctl vt-d status: 0 anyone ideas anyone? No. I've backup AppleHDA and all run smoothly. Link to comment Share on other sites More sharing options...
golimpio Posted January 10, 2011 Share Posted January 10, 2011 Sorry...no problem with the transparent menu...it's working as it was before. The only problem I had after updating to 10.6.6 was the menu bar (no transparent menu bar anymore). Link to comment Share on other sites More sharing options...
scrax Posted January 11, 2011 Share Posted January 11, 2011 no problem with the update, but 10.6.6 is only a {censored} update to put some spyware (MAS) in our system, so untill I don't see more info on what it's doing in my system I prefer to avoid it. Link to comment Share on other sites More sharing options...
mrdale Posted January 11, 2011 Share Posted January 11, 2011 Love my Zotac. Just have 2 minor issues. Does anyone else have a problem with the mute button not working? Sound works fine, just can't mute it (circle with strikethough appears). Can anyone give me detailed instructions on how to update the bios without running windows? Link to comment Share on other sites More sharing options...
kmare Posted January 13, 2011 Share Posted January 13, 2011 Noticed the same issue; no mute support. Might be better to just use VooDoo HDA? Love the board too; running with E3400. Just waiting on a Realtek nic which will hopefully fix sleep/resume issues. I'll post back with details Link to comment Share on other sites More sharing options...
scrax Posted January 20, 2011 Share Posted January 20, 2011 The mute issue it's a know issue already explained in this topic. you can have it working with soundflower To flash BIOS without windows simply you can't. You can use a USBstick with a minimal dos installation to boot from there, but you still need windows to make it. kmare, have you tried VoodooHDA on this board? Because for me it's unusable, It gives me a lot of sound glitces and noise, and maybe has the same mute problem, don't remember well. But as for the mute problem it's all already explained in this topic. For the audio update problem I use this script based on a script suggested by dgsga in another topic #! /bin/bash cd /usr/libexec sudo ./plistbuddy -c "delete :IOKitPersonalities:HDA\ Platform\ Resource:Layouts" /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist sudo ./plistbuddy -c "delete :IOKitPersonalities:HDA\ Platform\ Resource:PathMaps" /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAPlatformDriver.kext/Contents/Info.plist sudo ./plistbuddy -c "delete :IOKitPersonalities:HDA\ Hardware\ Config\ Resource:HDAConfigDefault" /System/Library/Extensions/AppleHDA.kext/Contents/PlugIns/AppleHDAHardwareConfigDriver.kext/Contents/Info.plist sudo perl -pi -e 's|\x85\x08\xec\x10|\x62\x06\xec\x10|g' /System/Library/Extensions/AppleHDA.kext/Contents/MacOS/AppleHDA exit 0 It will work only for who is using a legacyHDA.kext because the script will remove all the layout,pathmaps and ConfigDefaults from the original AppleHDA leaving only the one we need and we have in legacyHDA. This reduces the time to load the kext and find out the correct data for the audio card with this modification I have 3 whell spins at boot instead of 11 Note:For who is using ZEvoReboot.kext (like me) the legacyHDA is included in that kext so you can use the script without problems ZotacAppleHDAFix.zip Link to comment Share on other sites More sharing options...
kmare Posted January 22, 2011 Share Posted January 22, 2011 Pics of my build, I believe its one of the smallest. G9300 G-E w/E3400 in MW100 case - Will post full write up and better pics once I get PCIe network going Link to comment Share on other sites More sharing options...
scrax Posted February 6, 2011 Share Posted February 6, 2011 I received this pm from an user ho can't post here directly: I have a Zotac GF9300 board, and i recently updated from 10.6.3 to 10.6.6 directly (using combo update). I had hibernate and sleep working without using nullcpupowermanagement.kext and sleepenabler.kext. My setup was using your dslt and kexts. After the 10.6.6 update, using Gansaan updated setup and kexts sleep and hibernate work, but will cause a CMOS checksum error when i do a real restart or cold start. I tried various fixes found on forum, such as disabling WakeOnEthernet (which reenables itself at next login), using nullcpupowermanagement.kext with an updated sleepenabler.kext for 10.6.6, verifying the RTC policy length is set to 0x02 in dslt, but the problem remains. Is there another known fix known for this issue ? you can try with ElliottForceRTC.kext for now. In a few day I'll update a more optimized and reduced DSDT that I'm testin in this day. I really suggest anyone using my previously posted DSDT to change to this one because it's a lot more better and a little more faster at load either. EDIT: And here you are! An extremely stripped down dsdt with all the minimal code to boot our Hack without problem. It's based on the original dsdt from the last rev1 bios but it passed from a 30224 bytes to a 3186 bytes DSDT.aml file In less than 200 lines of code we have our dsdt.dsl with all the patch added name changed to the one of a iMac9,1 (now we have almost the same ioreg but with the original dsdt) RTC fix, TIMR & HPET fix, integrated GFX injection, HDEF injection, SATA injection, LPCB injection, SBUS injection, USb injection, missed mac Device names injection. For injection it uses the MCDP method instead of DTGP so this help in keep the dsdt smaller. DefinitionBlock ("Zotac_GF9300_ITX_WIFI/dsdt_V3.9.3.aml", "DSDT", 1, "APPLE", "iMac", 0x00090001) { //DSDT V 3.9.3 Scope (_PR_) { Processor (CPU0, 0x00, 0x00000000, 0x00) {} Processor (CPU1, 0x01, 0x00000000, 0x00) {} Processor (CPU2, 0x02, 0x00000000, 0x00) {} Processor (CPU3, 0x03, 0x00000000, 0x00) {} } Name (_S0_, Package (0x04) {Zero,Zero,Zero,Zero}) Name (_S1_, Package (0x04) { One,Zero,Zero,Zero}) Name (_S3_, Package (0x04) {0x05,Zero,Zero,Zero}) Name (_S4_, Package (0x04) {0x06,Zero,Zero,Zero}) Name (_S5_, Package (0x04) {0x07,Zero,Zero,Zero}) Method (_PTS, 1, NotSerialized) {Store (Arg0, Local0) If (LEqual (Arg0, 0x05)) {Sleep (0x01F4) } } Method (_WAK, 1, NotSerialized) {Notify (\_SB.PWRB, 0x02) Notify (\_SB.PCI0.OHC1, Zero) Notify (\_SB.PCI0.OHC2, Zero) Return (Zero) } Scope (_GPE) { Method (_L0E, 0, NotSerialized) {Notify (\_SB.PCI0.IXVE.IGPU, 0x81)} Method (_L11, 0, NotSerialized) {Notify (\_SB.PCI0.RP01, 0x02) Notify (\_SB.PCI0.RP02, 0x02) Notify (\_SB.PCI0.RP03, 0x02) Notify (\_SB.PCI0.RP04, 0x02) Notify (\_SB.PCI0.RP05, 0x02) Notify (\_SB.PCI0.RP06, 0x02) } Method (_L0B, 0, NotSerialized) {Notify (\_SB.PCI0.GIGE, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L0D, 0, NotSerialized) {Notify (\_SB.PCI0.OHC1, 0x02)} Method (_L18, 0, NotSerialized) {Notify (\_SB.PCI0.OHC2, 0x02)} Method (_L05, 0, NotSerialized) {Notify (\_SB.PCI0.EHC1, 0x02)} Method (_L17, 0, NotSerialized) {Notify (\_SB.PCI0.EHC2, 0x02)} Method (_L15, 0, NotSerialized) {Notify (\_SB.PCI0.HDEF, 0x02)} } Scope (_SB) { Device (PWRB) {Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) {Return (0x0B)}} Device (PCI0) {Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Name (_UID, One) Method (_STA, 0, NotSerialized) {Return (0x0F)} Name (_PRT, Package (0x10) { Package (0x04) {0x0003FFFF,Zero,LMAC,Zero}, Package (0x04) {0x0003FFFF, One,LPMU,Zero}, Package (0x04) {0x0004FFFF,Zero,LUS0,Zero}, Package (0x04) {0x0004FFFF, One,LUS2,Zero}, Package (0x04) {0x0006FFFF,Zero,LDRC,Zero}, Package (0x04) {0x0006FFFF, One,LSMB,Zero}, Package (0x04) {0x000AFFFF,Zero,LPCH,Zero}, Package (0x04) {0x0008FFFF,Zero,LAZA,Zero}, Package (0x04) {0x0008FFFF, One,LAZA,Zero}, Package (0x04) {0x000BFFFF,Zero,LSI0,Zero}, Package (0x04) {0x000CFFFF,Zero,Z000,Zero}, Package (0x04) {0x0015FFFF,Zero,Z001,Zero}, Package (0x04) {0x0016FFFF,Zero,Z003,Zero}, Package (0x04) {0x0017FFFF,Zero,Z00F,Zero}, Package (0x04) {0x0018FFFF,Zero,Z00J,Zero}, Package (0x04) {0x0010FFFF,Zero,LGPU,Zero} }) Device (SATA) {Name (_ADR, 0x000B0000) // sata fix Method (_DSM, 4, NotSerialized) {Store (Package (0x08) { "built-in",Buffer (One) {0x00}, "device-id", Buffer (0x04) {0xB9, 0x0A, 0x00, 0x00}, "subsystem-id", Buffer (0x04) {0x79, 0xCB, 0x00, 0x00}, "subsystem-vendor-id", Buffer (0x04) {0xDE, 0x10, 0x00, 0x00} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } } Device (IXVE) {Name (_ADR, 0x00100000) Device (IGPU) {Name (_ADR, Zero) // Internal GFX INJECTION Method (_DSM, 4, NotSerialized) {Store (Package (0x1E) { "@0,display-cfg", Buffer (0x04) {0x00, 0xff, 0x00, 0x00}, "@0,compatible", Buffer (0x0B) {"NVDA,NVMac"}, "@0,device_type", Buffer (0x08) {"display"}, "@0,name", Buffer (0x0F) {"NVDA,Display-A"}, "@1,display-cfg", Buffer (0x04) {0x03, 0x02, 0x03, 0x01}, "@1,compatible", Buffer (0x0B) {"NVDA,NVMac"}, "@1,device_type", Buffer (0x08) {"display"}, "@1,name", Buffer (0x0F) {"NVDA,Display-B"}, "NVCAP", Buffer (0x14) { 0x04,0x00,0x01,0x00,0x00,0x00,0x03,0x00, 0x0C,0x00,0x00,0x00,0x00,0x00,0x00,0x0A, 0x00,0x00,0x00,0x00}, "VRAM,totalsize", Buffer (0x04) {0x00, 0x00, 0x00, 0x20}, "device_type", Buffer (0x0D) {"NVDA,GeForce"}, "model", Buffer (0x14) {"NVIDIA GeForce 9400"}, "rom-revision", Buffer (0x0D) { "62.79.34.0.0"}, "device-id", Buffer (0x04) {0x61, 0x08, 0xDE, 0x10}, "hda-gfx", Buffer (0x0A) {"onboard-1"} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } } Method (_PRT, 0, NotSerialized) {Return (Package ( One) {Package (0x04) {0xFFFF,Zero,LGPU,Zero} }) } } Device (RP01) {Name (_ADR, 0x000C0000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP02) {Name (_ADR, 0x00090000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP03) {Name (_ADR, 0x00150000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP04) {Name (_ADR, 0x00160000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP05) {Name (_ADR, 0x00170000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP06) {Name (_ADR, 0x00180000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (SBUS) {Name (_ADR, 0x00030002) Device (BUS0) {Name (_CID, "smbus") Name (_ADR, Zero) Device (DVL0) {Name (_ADR, 0x57) Name (_CID, "diagsvault") } } Device (BUS1) {Name (_CID, "smbus") Name (_ADR, One)} } Device (LPCB) {Name (_ADR, 0x00030000) Method (_DSM, 4, NotSerialized) { // LPCB FIX Store (Package (0x02) {"device-id",Buffer (0x04) {0xAC, 0x0A, 0x00, 0x00} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } Device (IPIC) {Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x0020,0x0020,0x01,0x02,) IO (Decode16,0x00A0,0x00A0,0x01,0x02,)}) } Device (EC) {Name (_HID, EisaId ("PNP0C09")) Name (_UID, Zero) // added device Name (_CRS, ResourceTemplate () {IO (Decode16,0x0062,0x0062,0x00,0x01,) IO (Decode16,0x0066,0x0066,0x00,0x01,) }) Name (_GPE, 0x3F) Name (_PRW, Package (0x02) {0x3E,0x03})} Device (DMAC) {Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16,0x0000,0x0000,0x01,0x10,) IO (Decode16,0x0080,0x0080,0x01,0x11,) IO (Decode16,0x0094,0x0094,0x01,0x0C,) IO (Decode16,0x00C0,0x00C0,0x01,0x20,) }) } Device (TIMR) {Name (_HID, EisaId ("PNP0100")) // TIMR FIX Name (_CRS, ResourceTemplate () {IO (Decode16,0x0040,0x0040,0x00,0x04,)}) } Device (HPET) {Name (_HID, EisaId ("PNP0103")) // HPET FIX Name (_CRS, ResourceTemplate () {IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadWrite,0xFEFF0000,0x00000400,) }) Method (_STA, 0, NotSerialized) {Return (0x0F)} } Device (RTC) {Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x0070,0x0070,0x00,0x02,) }) } Device (MATH) {Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x00F0,0x00F0,0x01,0x10,) IRQNoFlags () {13} }) } } // END LPCB Device (MCHC) {Name (_ADR, Zero)} // copied from mac Device (MCH2) {Name (_ADR, One)} Device (TRIM) {Name (_ADR, 0x00030004)} Device (NVPM) {Name (_ADR, 0x00030005)} Device (P4MI) {Name (_ADR, 0x00030003)} //end copied from mac Device (IMAP) {Name (_ADR, 0x00030001)} Device (OHC1) {Name (_ADR, 0x00040000) Name (_PRW, Package (0x02) {0x0D,0x03}) } Device (OHC2) {Name (_ADR, 0x00060000) Name (_PRW, Package (0x02) {0x18,0x03}) } Device (EHC2) {Name (_ADR, 0x00060001) Name (_PRW, Package (0x02) {0x17,0x03}) Method (_DSM, 4, NotSerialized) {Store (Package (0x07) { //EHC2 FIX "AAPL,current-available", 0x05DC, "AAPL,current-extra", 0x044C, "AAPL,current-in-sleep", 0x09C4, Buffer ( One) {0x00} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } } Device (EHC1) {Name (_ADR, 0x00040001) Name (_PRW, Package (0x02) {0x05,0x03}) Method (_DSM, 4, NotSerialized) {Store (Package (0x07) { // EHC1 FIX "AAPL,current-available", 0x05DC, "AAPL,current-extra", 0x044C, "AAPL,current-in-sleep", 0x09C4, Buffer ( One) {0x00} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } } Device (HDEF) {Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) {0x15,0x05}) Method (_DSM, 4, NotSerialized) {Store (Package (0x0E) { // Added for audio device "subsystem-id", Buffer (0x04) {0x79, 0xCB, 0x00, 0x00}, "subsystem-vendor-id", Buffer (0x04) {0xDE, 0x10, 0x00, 0x00}, "codec-id", Buffer (0x04) {0x62, 0x06, 0xEC, 0x10}, "layout-id", Buffer (0x04) {0x96, 0x02, 0x00, 0x00 },//ID 662 "device-id", Buffer (0x04) {0xC0, 0x0A, 0xDE, 0x10}, "device-type", Buffer (0x0F) {"Realtek ALC662"}, "PinConfigurations", Buffer (Zero) {} }, Local0) Return (MCDP (Arg2, RefOf (Local0))) } } Device (GIGE) {Name (_ADR, 0x000A0000) Name (_PRW, Package (0x02) {0x0B,0x05})} Device (LAZA) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5C)} Device (Z000) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x35)} Device (Z001) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x41)} Device (Z003) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x45)} Device (Z00F) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x49)} Device (Z00J) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x4D)} Device (LGPU) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x55)} Device (LPCH) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5A)} Device (LMAC) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5D)} Device (LPMU) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5B)} Device (LSI0) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x60)} Device (LDRC) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x58)} Device (LSMB) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x59)} Device (LUS2) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x57)} Device (LUS0) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x56)} } } // New Method V1.3 – By Master Chief. USE MCDP (Arg2, RefOf (Local0))) Method (MCDP, 2, NotSerialized) {If (LEqual (Arg0, Zero)) /*Function index: 0*/ {Return (Buffer (One) { 0x03 })} Return (DeRefOf (Arg1))}/* Modified return value!*/ } And this is not the end, I'm already testing a even more reduced version that is: DSDT_V4.aml - 2038 bytes, 151 named objects, 26 executable opcodes Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 0 Optimizations this is possible because all the injections can be made with a bootloader capable of SSDT override, or by efi strings. If we can have an EFI string with GFX,HDEF,SATA etc in it we can use the ssdt for only the p and c state data (or use the automatically generated one from chameleon like i'm doing now) ElliottForceLegacyRTC.kext.zip Link to comment Share on other sites More sharing options...
scrax Posted February 8, 2011 Share Posted February 8, 2011 Hey Scrax how are your temp.s looking using MCDP instead of DTGP - see here where MCDP is supposedly top and DTGP is below and a claimed average of 8C higher when using MCDP....... Pretty impressive to see DSDT cut down like this. Have you noticed any bad effects, such as increased KPs, freezing etc.? Hi, I haven't noticed any temperature increments, it's @40°C in idle. anyway today I started movin all the injection to EFI string, I still have HDEFand EHC1&2 injection because the EFI code I tried didn't work, but i think that is just a matter of some try to move also this to EFi and get rid of any Method DTGP or MCDP... Almost of the code removed was methods used by Windows, and I never had KP with this board so far as I can remember. The only difference I have noticed is 2 or 3 spinnwheel revs less at boot up. (During my reduction session I had some problem with power off, because I was so stupid that I removed the _S4_ and _S5_ Names ()) And here you are the 3.9.6 version even more reduced (2.244 byte) (moved LPCB, SATA, HDEF & GFX inj into EFI string - EHC1 & EHC2 into ZEvOreboot.kext) DefinitionBlock ("Zotac_GF9300_ITX_WIFI/dsdt_V3.9.6.aml", "DSDT", 1, "APPLE", "iMac", 0x00090001) { //DSDT V 3.9.6 /*-------------------A T T E N T I O N ! ! ! IT NEEDS THIS EFI STRING IN /Extra/com.apple.Boot.plist: ed0300000100000004000000620200000d00000002010c00d041030a010000000101060000100101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002b0000006e5669646961204765466f7263652039343030204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000100000003000c0000000000000a0000000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c000000170000006e5669646961204765466f7263652039343030140000006800640061002d0067006600780000000d0000006f6e626f6172642d310e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e743e0000000100000002010c00d041030a0100000001010600000b7fff0400180000006400650076006900630065002d0069006400000008000000b90ade10030100000600000002010c00d041030a010000000101060000087fff04001600000063006f006400650063002d00690064000000080000006206ec10180000006400650076006900630065002d0069006400000008000000c00ade10180000006c00610079006f00750074002d0069006400000008000000960200002c000000730075006200730079007300740065006d002d00760065006e0064006f0072002d0069006400000008000000de1000001e000000730075006200730079007300740065006d002d006900640000000800000079cb000028000000500069006e0043006f006e00660069006700750072006100740069006f006e007300000005000000003e0000000100000002010c00d041030a010000000101060000037fff0400180000006400650076006900630065002d0069006400000008000000ac0ade10 ---------------------A T T E N T I O N ! ! ! IT NEEDS THIS EFI STRING IN /Extra/com.apple.Boot.plist */ Scope (_PR_) { Processor (CPU0, 0x00, 0x00000000, 0x00) {} Processor (CPU1, 0x01, 0x00000000, 0x00) {} Processor (CPU2, 0x02, 0x00000000, 0x00) {} Processor (CPU3, 0x03, 0x00000000, 0x00) {} } Name (_S0_, Package (0x04) {Zero,Zero,Zero,Zero}) Name (_S1_, Package (0x04) { One,Zero,Zero,Zero}) Name (_S3_, Package (0x04) {0x05,Zero,Zero,Zero}) Name (_S4_, Package (0x04) {0x06,Zero,Zero,Zero}) Name (_S5_, Package (0x04) {0x07,Zero,Zero,Zero}) Method (_PTS, 1, NotSerialized) {Store (Arg0, Local0) If (LEqual (Arg0, 0x05)) {Sleep (0x01F4) } } Method (_WAK, 1, NotSerialized) {Notify (\_SB.PWRB, 0x02) Notify (\_SB.PCI0.OHC1, Zero) Notify (\_SB.PCI0.OHC2, Zero) Return (Zero) } Scope (_GPE) { Method (_L0E, 0, NotSerialized) {Notify (\_SB.PCI0.IXVE.IGPU, 0x81)} Method (_L11, 0, NotSerialized) {Notify (\_SB.PCI0.RP01, 0x02) Notify (\_SB.PCI0.RP02, 0x02) Notify (\_SB.PCI0.RP03, 0x02) Notify (\_SB.PCI0.RP04, 0x02) Notify (\_SB.PCI0.RP05, 0x02) Notify (\_SB.PCI0.RP06, 0x02) } Method (_L0B, 0, NotSerialized) {Notify (\_SB.PCI0.GIGE, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L0D, 0, NotSerialized) {Notify (\_SB.PCI0.OHC1, 0x02)} Method (_L18, 0, NotSerialized) {Notify (\_SB.PCI0.OHC2, 0x02)} Method (_L05, 0, NotSerialized) {Notify (\_SB.PCI0.EHC1, 0x02)} Method (_L17, 0, NotSerialized) {Notify (\_SB.PCI0.EHC2, 0x02)} Method (_L15, 0, NotSerialized) {Notify (\_SB.PCI0.HDEF, 0x02)} } Scope (_SB) { Device (PNLF) {Name (_HID, EisaId ("APP0002")) Name (_CID, "backlight") Name (_UID, 0x0A) Name (_STA, 0x0B)} //added 4 luminosity Device (PWRB) {Name (_HID, EisaId ("PNP0C0C")) Method (_STA, 0, NotSerialized) {Return (0x0B)}} Device (PCI0) {Name (_HID, EisaId ("PNP0A08")) Name (_CID, EisaId ("PNP0A03")) Name (_ADR, Zero) Name (_UID, One) Method (_STA, 0, NotSerialized) {Return (0x0F)} Name (_PRT, Package (0x10) { Package (0x04) {0x0003FFFF,Zero,LMAC,Zero}, Package (0x04) {0x0003FFFF, One,LPMU,Zero}, Package (0x04) {0x0004FFFF,Zero,LUS0,Zero}, Package (0x04) {0x0004FFFF, One,LUS2,Zero}, Package (0x04) {0x0006FFFF,Zero,LDRC,Zero}, Package (0x04) {0x0006FFFF, One,LSMB,Zero}, Package (0x04) {0x000AFFFF,Zero,LPCH,Zero}, Package (0x04) {0x0008FFFF,Zero,LAZA,Zero}, Package (0x04) {0x0008FFFF, One,LAZA,Zero}, Package (0x04) {0x000BFFFF,Zero,LSI0,Zero}, Package (0x04) {0x000CFFFF,Zero,Z000,Zero}, Package (0x04) {0x0015FFFF,Zero,Z001,Zero}, Package (0x04) {0x0016FFFF,Zero,Z003,Zero}, Package (0x04) {0x0017FFFF,Zero,Z00F,Zero}, Package (0x04) {0x0018FFFF,Zero,Z00J,Zero}, Package (0x04) {0x0010FFFF,Zero,LGPU,Zero} }) Device (SATA) {Name (_ADR, 0x000B0000)} Device (IXVE) {Name (_ADR, 0x00100000) Device (IGPU) {Name (_ADR, Zero)} Method (_PRT, 0, NotSerialized) {Return (Package ( One) {Package (0x04) {0xFFFF,Zero,LGPU,Zero} }) } } Device (RP01) {Name (_ADR, 0x000C0000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP02) {Name (_ADR, 0x00090000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP03) {Name (_ADR, 0x00150000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP04) {Name (_ADR, 0x00160000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP05) {Name (_ADR, 0x00170000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (RP06) {Name (_ADR, 0x00180000) Name (_PRW, Package (0x02) {0x11,0x05}) } Device (SBUS) {Name (_ADR, 0x00030002) Device (BUS0) {Name (_CID, "smbus") Name (_ADR, Zero) Device (DVL0) {Name (_ADR, 0x57) Name (_CID, "diagsvault") } } Device (BUS1) {Name (_CID, "smbus") Name (_ADR, One)} } Device (LPCB) {Name (_ADR, 0x00030000) Device (IPIC) {Name (_HID, EisaId ("PNP0000")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x0020,0x0020,0x01,0x02,) IO (Decode16,0x00A0,0x00A0,0x01,0x02,)}) } Device (EC) {Name (_HID, EisaId ("PNP0C09")) Name (_UID, Zero) Name (_CRS, ResourceTemplate () {IO (Decode16,0x0062,0x0062,0x00,0x01,) IO (Decode16,0x0066,0x0066,0x00,0x01,) }) Name (_GPE, 0x3F) Name (_PRW, Package (0x02) {0x3E,0x03})} Device (DMAC) {Name (_HID, EisaId ("PNP0200")) Name (_CRS, ResourceTemplate () { DMA (Compatibility, BusMaster, Transfer8, ) {4} IO (Decode16,0x0000,0x0000,0x01,0x10,) IO (Decode16,0x0080,0x0080,0x01,0x11,) IO (Decode16,0x0094,0x0094,0x01,0x0C,) IO (Decode16,0x00C0,0x00C0,0x01,0x20,) }) } Device (TIMR) {Name (_HID, EisaId ("PNP0100")) // TIMR FIX Name (_CRS, ResourceTemplate () {IO (Decode16,0x0040,0x0040,0x00,0x04,)}) } Device (HPET) {Name (_HID, EisaId ("PNP0103")) // HPET FIX Name (_CRS, ResourceTemplate () {IRQNoFlags () {0} IRQNoFlags () {8} Memory32Fixed (ReadWrite,0xFEFF0000,0x00000400,) }) Method (_STA, 0, NotSerialized) {Return (0x0F)} } Device (RTC) {Name (_HID, EisaId ("PNP0B00")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x0070,0x0070,0x00,0x02,) }) } Device (MATH) {Name (_HID, EisaId ("PNP0C04")) Name (_CRS, ResourceTemplate () {IO (Decode16,0x00F0,0x00F0,0x01,0x10,) IRQNoFlags () {13} }) } } // END LPCB Device (MCHC) {Name (_ADR, Zero)} // copied from mac Device (MCH2) {Name (_ADR, One)} Device (TRIM) {Name (_ADR, 0x00030004)} Device (NVPM) {Name (_ADR, 0x00030005)} Device (P4MI) {Name (_ADR, 0x00030003)} //end copied from mac Device (IMAP) {Name (_ADR, 0x00030001)} Device (OHC1) {Name (_ADR, 0x00040000) Name (_PRW, Package (0x02) {0x0D,0x03}) } Device (OHC2) {Name (_ADR, 0x00060000) Name (_PRW, Package (0x02) {0x18,0x03}) } Device (EHC1) {Name (_ADR, 0x00040001) Name (_PRW, Package (0x02) {0x05,0x03})} Device (EHC2) {Name (_ADR, 0x00060001) Name (_PRW, Package (0x02) {0x17,0x03})} Device (HDEF) {Name (_ADR, 0x00080000) Name (_PRW, Package (0x02) {0x15,0x05})} Device (GIGE) {Name (_ADR, 0x000A0000) Name (_PRW, Package (0x02) {0x0B,0x05})} Device (LAZA) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5C)} Device (Z000) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x35)} Device (Z001) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x41)} Device (Z003) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x45)} Device (Z00F) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x49)} Device (Z00J) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x4D)} Device (LGPU) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x55)} Device (LPCH) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5A)} Device (LMAC) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5D)} Device (LPMU) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x5B)} Device (LSI0) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x60)} Device (LDRC) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x58)} Device (LSMB) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x59)} Device (LUS2) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x57)} Device (LUS0) {Name (_HID, EisaId ("PNP0C0F")) Name (_UID, 0x56)} } } } EDIT: Also AUDIO (HDEF)injection is now in EFI now time to work on the USB... EDIT2: Made a 3.9.5 version with Added Device (PNLF) for brightness test. EDIT3: New 3.9.6 version without all the injections (needs the new ZEvOreboot.kext attached here) ZEvOreboot.kext_v2.zip Here also some generic c.a.B.p and smbios.plist: <?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>Kernel</key> <string>mach_kernel</string> <key>Kernel Flags</key> <string>arch=i386</string> <key>Hide Partition</key> <string></string> <key>GUI</key> <string>Yes</string> <key>Theme</key> <string>Default</string> <key>DropSSDT</key> <string>Yes</string> <key>GenerateCStates</key> <string>Yes</string> <key>GeneratePStates</key> <string>Yes</string> <key>Graphics Mode</key> <string>1920x1080x32</string> <key>PciRoot</key> <string>0</string> <key>RestartFix</key> <string>No</string> <key>SystemType</key> <string>1</string> <key>Timeout</key> <string>1</string> <key>device-properties</key> <string>ed0300000100000004000000620200000d00000002010c00d041030a010000000101060000100101060000007fff04001e00000072006f006d002d007200650076006900730069006f006e0000002b0000006e5669646961204765466f7263652039343030204f70656e474c20456e67696e65205b4546495d22000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000004e00560043004100500000001800000004000100000003000c0000000000000a0000000014000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d41100000006d006f00640065006c000000170000006e5669646961204765466f7263652039343030140000006800640061002d0067006600780000000d0000006f6e626f6172642d310e0000004e00560050004d000000200000000100000000000000000000000000000000000000000000000000000014000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163220000005600520041004d002c0074006f00740061006c00730069007a0065000000080000000000002020000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616322000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c61791c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e743e0000000100000002010c00d041030a0100000001010600000b7fff0400180000006400650076006900630065002d0069006400000008000000b90ade10030100000600000002010c00d041030a010000000101060000087fff04001600000063006f006400650063002d00690064000000080000006206ec10180000006400650076006900630065002d0069006400000008000000c00ade10180000006c00610079006f00750074002d0069006400000008000000960200002c000000730075006200730079007300740065006d002d00760065006e0064006f0072002d0069006400000008000000de1000001e000000730075006200730079007300740065006d002d006900640000000800000079cb000028000000500069006e0043006f006e00660069006700750072006100740069006f006e007300000005000000003e0000000100000002010c00d041030a010000000101060000037fff0400180000006400650076006900630065002d0069006400000008000000ac0ade10</string> </dict> </plist> <?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>SMbiosversion</key> <string>IM91.008D.B08.0909031926</string> <key>SMfamily</key> <string>iMac9,1</string> <key>SMmanufacter</key> <string>Apple Inc. Mac-F2268CC8</string> <key>SMproductname</key> <string>iMac9,1</string> <key>SMsystemversion</key> <string>1.0</string> <key>SMserial</key> <string>YM90289488X</string> <key>SMmemmanufacter_1</key> <string>RAM MANUFACTER</string> <key>SMmemmanufacter_2</key> <string>RAM MANUFACTER</string> <key>SMmempart_1</key> <string>50M3P4R7</string> <key>SMmempart_2</key> <string>50M3P4R7</string> <key>SMmemserial_1</key> <string>50M353R14L</string> <key>SMmemserial_2</key> <string>50M353R14L</string> </dict> Other things needed are FakeSMC.kext and ZEvOreboot.kext in /Extra/Extensions/ or in S/L/E (they were posted previously in this topic) Note FakeSMC needs to be installed in S/L/E if you are using the one with thermal sensor. HERE YOU ARE Two versions 1. A light zip with only the essential (Extra, Audiopatch and kextutility) Zotac_GF9300_ITX_WiFi_2011_2_8_LIGHT.zip 2. A more full zip with dsl dump and more useful things... Zotac_GF9300_ITX_WiFi_2011_2_8_FULL.zip Link to comment Share on other sites More sharing options...
espo Posted February 8, 2011 Share Posted February 8, 2011 Hi, is it possible to use the hdmi and the dvi port at once? Greetings Link to comment Share on other sites More sharing options...
scrax Posted February 8, 2011 Share Posted February 8, 2011 Hi, is it possible to use the hdmi and the dvi port at once? Greetings Hi, i don't think they share something if i don't remember wrong. But I can't test, no hdmi device here... i'm attching the file to my previous post. Just need to make a litte ReadMe to drop in the zip Link to comment Share on other sites More sharing options...
scrax Posted February 8, 2011 Share Posted February 8, 2011 Scrax, I have attached the ACPI tables with the MacMini3,1 device properties plist in them if you want to try (obviously need to change the PCI address bits). hyum interesting... thankyou! PS: The PCI adress is the same this board is pretty identical to a similar mac mini or imac. file posted above EDIT: It works I can't say if better or not, still no luminosity slider, but i think we need a imac9,1 dump from one with the GF9400. Mac mini can't control luminosity either, only mac book, macbook pro and imac can.from my test in a mac store. Link to comment Share on other sites More sharing options...
scrax Posted February 9, 2011 Share Posted February 9, 2011 Guess you tried adding Device (PNLF) into DSDT? I needed that, plus the dev prop.s from the MBP6,1 to get my Vostro brightness slider working. As for a iMac9,1 dump the only one I can find has a broken link on ProjectOSX. I'll give your Zotac stuff a shot later today. Thanks for sharing! All best. Yes I added it, and I made some test one with the macmini data and other merging in data from the dev prop of an iMac10.1 but it's a pain because isthe model with ati not nvidia.. I will try to check all the device prop I have to find out how to enable brightness slider Could you check if your AAPL,backlight-control is 00 00 00 00 like the mac mini or 01 00 00 00 like the iMac in ioreg ? here a screen of my IOREG now: Link to comment Share on other sites More sharing options...
scrax Posted February 9, 2011 Share Posted February 9, 2011 BTW, tried your extra folder. 3 wheel rotations faster to boot than my old extra folder..... Good to her that, same for me. Have you used Audio Patch? If not it will boost the boot more than removing all the unused codecs and pin config in AppleHDA info.plist this way it first find the value we use in legacyHDA instad of watchin all the unused one in AppleHDA EDIT: DONE WITH USB! i-ve used this method instead of EFI: http://www.insanelymac.com/forum/index.php...t&p=1600262 I added this to ZEvOreboot Info.plist <key>EHC2 Inject</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBMergeNub</string> <key>IOClass</key> <string>AppleUSBMergeNub</string> <key>IONameMatch</key> <string>pci10de,aa9</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOProviderMergeProperties</key> <dict> <key>APPL,current-avaiable</key> <integer>1500</integer> <key>AAPL,current-extra</key> <integer>1100</integer> <key>AAPL,current-in-sleep</key> <integer>2500</integer> </dict> </dict> <key>EHC1 Inject</key> <dict> <key>CFBundleIdentifier</key> <string>com.apple.driver.AppleUSBMergeNub</string> <key>IOClass</key> <string>AppleUSBMergeNub</string> <key>IONameMatch</key> <string>pci10de,aa6</string> <key>IOProviderClass</key> <string>IOPCIDevice</string> <key>IOProviderMergeProperties</key> <dict> <key>APPL,current-avaiable</key> <integer>1500</integer> <key>AAPL,current-extra</key> <integer>1100</integer> <key>AAPL,current-in-sleep</key> <integer>2500</integer> </dict> </dict> and removed the 2 Method _DSM in EHC1 and EHC2 and the Method MCDP at the end of the dsdt. Now all is good with the reduction I just have some test to make to activate the brightness. EDIT: Posted new ZEvOreboot-v2 in the previous post, updated dsdt (not the zipped one!!!) Link to comment Share on other sites More sharing options...
scrax Posted February 9, 2011 Share Posted February 9, 2011 That's clever. So if I understand right, device 10de,aa9 and 10de,aa6 is the vendor/prodid of the EHC1 and EHC2 parts and this injects the information you would have needed from the DSM sections directly to the devices yes? Yes, it's a way to inject _DSM like proprieties using a dummy kext that i have integrated in ZEvOreboot with other dummy code for other patch like HDA, my mouse, orange icons etc... Note IOPCIDevice also is an important value to make the injection works. Have I already linked this?: http://www.insanelymac.com/forum/index.php...st&id=82358 Link to comment Share on other sites More sharing options...
mrdale Posted February 9, 2011 Share Posted February 9, 2011 Hi Guys. Scrax's work looks amazing. I'm thinking about ditching my stable system and trying this. So If I understand correctly, this DSDT setup is super minimal and you're handling most everything with EFI strings. How universal is your setup. ie, any processor specific stuff? Does sleep work? Does hibernate work? Do we still have the sound mute issue? I'm really excited to try. So when it is complete, can you post a simple "how to" and link to all the needed files? Thanks Link to comment Share on other sites More sharing options...
scrax Posted February 10, 2011 Share Posted February 10, 2011 How universal is your setup. ie, any processor specific stuff? Does sleep work? Does hibernate work? Do we still have the sound mute issue? Thanks No, we use chameleon for that (check the c.a.B.p) Yep as usual Not tested (I keep it off) The mute issue is laready solved using Soundflower or Soundflowerx, so yes we still have that issue because the audio patch has not changed, we have only changed the way it's injected. The zip posted previously contains a ReadMe file with a little step by step install guide, Just the dsdt and the EFi string are not the last, but they works the same.To avoid problem, better try on a secondary HD or a 8GB usbkey @MiniHack look at this : BRIGHTNESS "WORKING!!!" I've managed to find out what to inject using dev prop of a MacBook6,1 (it has the GF9400M) now I have the brightness slider and bezel but no change to the display brightness Link to comment Share on other sites More sharing options...
mrdale Posted February 10, 2011 Share Posted February 10, 2011 No, we use chameleon for that (check the c.a.B.p) Sorry. you lost me. feel like explaining this to a 3 year old Yep as usual Not tested (I keep it off) Anyone else got hibernate working? Any Issues, instructions caveats The mute issue is laready solved using Soundflower or Soundflowerx, so yes we still have that issue because the audio patch has not changed, we have only changed the way it's injected. I have a patched appleHDA.kext but I could never get soundflower to work... maybe I'll start again with a stock kext repatch and try again. Link to comment Share on other sites More sharing options...
scrax Posted February 10, 2011 Share Posted February 10, 2011 New zip with the minimal requirement to boot an almost perfect iMac9,1 clone: Zotac_GF9300_ITX_WiFi_2011_2_10_LIGHT.zip Inside a little readme with how to install it. Issue that are unresolved: Ethernet not working after sleep, mute not active on ALC662, No driver for USB wifi, Workarounds: None for now (or another Eth device in the PCI-e slot? The Apple Eth2usb adapter ) Soundflowerbed (Set your audio out to Soundflower 2ch Audio pref panel and then start Soundflowerbed.app and select the output you want to hear from) Use a PCIe to MiniPCIe converter with a cheap aetheros card for full native Airport support Not yet tested but should works: SPDIF (DIGITAL OUT) Just a quick try Ibernation -> It makes the ram image but after chameleon gives me errors Not Implemented (next updates maybe...) HDMI (I can't test it.) Link to comment Share on other sites More sharing options...
mactition Posted February 12, 2011 Share Posted February 12, 2011 The Zotac H55ITX-A-E DSDT based install guide and files has been posted . . . http://www.tonymacx86.com/viewtopic.php?f=81&t=12940 It supports fully functional Snow Leopard 10.6.6 The guide includes illustrated editing and install instructions, and a vanilla and edited DSDT. It's well documented for experts and easy for newbies to follow. You might find it useful to fix any issues with this board. Thanks Link to comment Share on other sites More sharing options...
scrax Posted February 12, 2011 Share Posted February 12, 2011 Hi Scrax,Your latest gave me KPs from the power management kext. Went back to your previous version..... Keep up the good work though. uhm maybe i posted a version with a bad efi. Now I have this config that gives me a good working dual monitor but no brightness (i can live without if it's enabled my srceen can't be rotaded anymore so I prefer rotation over a not working recognized brightness) Last_Zotac_Test_12_02_2011.zip A note that i forgot to mention is that Rear Line IN is configured to be a secondary Line Out. That way you can have a 6 out for analog surround (using also the frontal out) To use your configuration instead you need to copy from your legacyHDA or what you use to inject audio pinconfigs and path maps your injection dictionary "HDA Hardware Config Resource" and "HDA Platform Resource" and paste them in the info.plist located inside ZEvOreboot.kext under IOKitPersonalities Minihack do you have at hand the legacy kext with the correct Rear LineIn? I'll add in the zip for who needs Line In. Link to comment Share on other sites More sharing options...
scrax Posted February 13, 2011 Share Posted February 13, 2011 Here you go. Patched for ALC662. Thanks. What about KP with the last files? So this is the info.plist for ZEvoreboot.kext that enables this configuration: How to: With right click on /Extra/Extensions/ZEvOreboot.kext chose "Show package contents" Go to Contents and delete or backup somewhere the info.plist fou 6.1 audio already there Paste the Info.plist for 4.1 audio in Contents After that repair permissions with Kext Utility droppin /Extra/Extensions on the app icon. Info.plist.zip Note: I didn't noticed before that my pinconfig mods didn't include the front mic also, I'll look at it soon or later... I don't have the front connections so I never bothered about Link to comment Share on other sites More sharing options...
mrdale Posted February 18, 2011 Share Posted February 18, 2011 SOUND ISSUES I simply can not raise a sound from Soundflower. When I select it in prefs, no sound. Tried reinstalling, restarting etc. There is an audible "click" just prior to when a sound plays I have scrax's latest setup with the custom AppleHDA.kext and the EFI string for graphics, sound, etc. I'm using the rear headphone port for my speakers (which is called internal speakers) Any help appreciated. I may have to move back to my earlier setup, which was not as lean, but worked better for sound. Link to comment Share on other sites More sharing options...
kmare Posted February 24, 2011 Share Posted February 24, 2011 FYI - the following $9 PCIe card is working great with my hack using the official Realtek drivers (sleep/wake is working fine) - Apparently its an 8111C http://www.dealextreme.com/p/pcie-10-100-1...d-adapter-52612 Link to comment Share on other sites More sharing options...
scrax Posted February 24, 2011 Share Posted February 24, 2011 SOUND ISSUES I may have to move back to my earlier setup, which was not as lean, but worked better for sound. Please post it so I can check the differences an maybe we can have the best of both EDIT: SOLVED use this in c.a.B.p <key>SMfamily</key> <string>Mac Pro</string> <key>SMproductname</key> <string>MacPro3,1</string> Link to comment Share on other sites More sharing options...
Recommended Posts