Šta je novo?

DSDT - kako da...?!?

@Vlada
zaboravio sam da kazem da sleep radi bez ikakvog kexta, znaci samo ovaj tvoj doterani DSDT, ali kad odem u sleep, ne mogu da se vratim preko misa i tastature, samo kad pritisnem power dugme na kucistu...ali ok je, i onako mi ne treba sleep funkcija, nego samo da te obavestim :p

edit 1: restart radi bez OSXRestart kexta !
 
Poslednja izmena:
Uključi u BIOS-u opcije: USB wake from [S3] [S4] i Kayboard & Mouse Wake from [S5] pa vidi dal će onda da se budi preko miša. Mada to je zbilja sitnica, za koju mi se čini da se možda ne bi javljala da sam odradio tvoj originalni DSDT, a ne neki pitaj boga čiji...

Što se tiče grafike, ako i dalje imaš iste probleme, onda je to verovatno do grafičke... Vidi da pozajmiš neku drugu u toj klasi za probu pa ako se ispostavi da druga radi, onda menjaj brate tu koju imaš za neku drugu i rešio si problem... :)
 
Poslednja izmena:
pa verovatno je graficka....

probao sam neke varijante...kada stavim da je MacPro 4,1 u smbios.plist(umesto 3,1 kako mi sad stoji) onda dobijam panic pri bootu, malo sam guglao i nasao da MacPro 4,1 koristi onaj AppleGraphicsPowerManagement.kext, probao da uglavim ID graficke u taj kext, ali dzaba, mada ne verujem da bi ista pomoglo...nego sam se malo igrao ;p

pre sam mislio da nije vazno kakav smbios.plist se koristi, ali izgleda da jeste....ovaj DSDT super radi, hvala jos jednom :)

krajem leta cu pazariti SandyBridge, Gigabyte plocu, novu graficku, sve sto proverno radi na Lion-u kod ljudi sa Hackintosh foruma ;p tonymacx86, insanelymac itd....
 
Poslednja izmena:
Pa sto se mene tiče Lion radi kako treba, znači sve kao i u SL-u, jedino što su za ovaj poslednji DP2 nesto muljali grafičke drajvere pa nije htela grafika da se startuje iz DSDT-a nego sam morao preko NVenabler64.kext-a... Ali radi! :eyebrows:
 
@Neogeo

Šta napravi sa onim zadnjim DSDT-om??? Jel ti završio posao drugar?
 
@Neogeo

Šta napravi sa onim zadnjim DSDT-om??? Jel ti završio posao drugar?

Evo, tek noćas nađoh pristojno vreme da isprobam DSDTe (i opet nisam sve). Onaj DSDT sa HD 5770 patchom nemere nikako. Kada njega ubacim uvek dođe do Waiting DSMOS i tu zaglavi. Tako je i sa DSDTom iz kog je izbačen kod za HD 5770. E, sd, ovaj drugi krene još 2-3 linije posle Witing DSMOS i tu zaglavi... Trći ću isprobati danas jer ne radim do ponedeljka pa javljam ostatak zapažanja ;)
thx
 
Treći je osnovni... Ne sećam se više, ali mislim da nije prepravljan, a i ako jeste onda je nešto sitno, tako da on nije nešto naročito bitan... Jedan od ova prva dva je trebalo da ti proradi... Izgleda da je neka sitnica u pitanju i to najverovatnije vezano za grafiku, čim ti zakucava iza DSMOS poruke. Kod mene kad izbaci da je dobio DSMOS bukvalno par sekundi iza ulazi u OS i praktično startuje desktop. Šteta što nisi ostao na staroj grafičkoj još neko vreme, jer onda bi smo imali jasniji pregled... Što se ostalog tiče, to ostaje da se vidi šta i kako kad se budeš konačno butovao uspešno, premda mislim da će možda neke zakrpe morati neznatno da se modifikuju i to pre svega zato jer tvoj DSDT u određenim delovima kompleksniji od napr. mojeg...
 
Poslednja izmena:
Treći je osnovni... Ne sećam se više, ali mislim da nije prepravljan, a i ako jeste onda je nešto sitno, tako da on nije nešto naročito bitan... Jedan od ova prva dva je trebalo da ti proradi... Izgleda da je neka sitnica u pitanju i to najverovatnije vezano za grafiku, čim ti zakucava iza DSMOS poruke. Kod mene kad izbaci da je dobio DSMOS bukvalno par sekundi iza ulazi u OS i praktično startuje desktop. Šteta što nisi ostao na staroj grafičkoj još neko vreme, jer onda bi smo imali jasniji pregled... Što se ostalog tiče, to ostaje da se vidi šta i kako kad se budeš konačno butovao uspešno, premda mislim da će možda neke zakrpe morati neznatno da se modifikuju i to pre svega zato jer tvoj DSDT u određenim delovima kompleksniji od napr. mojeg...

:(. U krajnjem slučaju, bitno je da radi i nez DSDTa ali videću šta i kako :(:(:(.

Fala na pomoći!
 
Pa ništa samo, malo je bezveze što nije proradilo... Err... Probaj i taj treći za svaki slučaj, pa vidi hoće li sa njime da butuje računar uopšte, s tim što bi u tome slučaju verovatno morao da ostaviš neke kextove u E/E i u S/L/E...

Recimo za grafiku bi ti trebao, zatim ovaj oranž icon fix i još ponešto... Ali bitno je da se ustanovi dal uopšte funkconiše bilo koji od tih DSDT-a. Onaj oranž DSDT, je baš skockan propisno, jedino što mislim (ali nisam 100% siguran) da će za USB morati drugi fix da se aplicira jer ti imaš u tom delu ubačen i Device (HUB)... Ja sam tu stavio univerzalni fix koji se inače stvalja, ali postoje još nekoliko sličnih...

Pa ok, ništa javi šta si napravio kada sve to isprobaš...

Pozz ;)
 
Do sada sam na laptopu koristio neki stari iAtkos pa reko da probam ovu metodu, ali ovo mi je sve novo i ne znam kako da resim problem odmah na prvom koraku posle compile, ne znam sta znaci ova greska i kako je resiti?


Kod:
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20100331 [Mar 31 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1088 -                            ^ Not all control paths return a value (_PRT)

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1081 -                            ^ Reserved method must return a value (Package required for _PRT)

ASL Input:  dsdt.dsl - 6034 lines, 203417 bytes, 2349 keywords
AML Output: DSDT.aml - 20402 bytes, 609 named objects, 1740 executable opcodes

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 827 Optimizations
[Completed]
 
Do sada sam na laptopu koristio neki stari iAtkos pa reko da probam ovu metodu, ali ovo mi je sve novo i ne znam kako da resim problem odmah na prvom koraku posle compile, ne znam sta znaci ova greska i kako je resiti?


Kod:
IIntel ACPI Component Architecture
ASL Optimizing Compiler version 20100331 [Mar 31 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1088 -                            ^ Not all control paths return a value (_PRT)

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1081 -                            ^ Reserved method must return a value (Package required for _PRT)

ASL Input:  dsdt.dsl - 6034 lines, 203417 bytes, 2349 keywords
AML Output: DSDT.aml - 20402 bytes, 609 named objects, 1740 executable opcodes

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 827 Optimizations
[Completed]
 
Pa ništa samo, malo je bezveze što nije proradilo... Err... Probaj i taj treći za svaki slučaj, pa vidi hoće li sa njime da butuje računar uopšte, s tim što bi u tome slučaju verovatno morao da ostaviš neke kextove u E/E i u S/L/E...

Recimo za grafiku bi ti trebao, zatim ovaj oranž icon fix i još ponešto... Ali bitno je da se ustanovi dal uopšte funkconiše bilo koji od tih DSDT-a. Onaj oranž DSDT, je baš skockan propisno, jedino što mislim (ali nisam 100% siguran) da će za USB morati drugi fix da se aplicira jer ti imaš u tom delu ubačen i Device (HUB)... Ja sam tu stavio univerzalni fix koji se inače stvalja, ali postoje još nekoliko sličnih...

Pa ok, ništa javi šta si napravio kada sve to isprobaš...

Pozz ;)


OK.
Čim probam, javiću.
:)
 
Do sada sam na laptopu koristio neki stari iAtkos pa reko da probam ovu metodu, ali ovo mi je sve novo i ne znam kako da resim problem odmah na prvom koraku posle compile, ne znam sta znaci ova greska i kako je resiti?


Kod:
IIntel ACPI Component Architecture
ASL Optimizing Compiler version 20100331 [Mar 31 2010]
Copyright (c) 2000 - 2010 Intel Corporation
Supports ACPI Specification Revision 4.0

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1088 -                            ^ Not all control paths return a value (_PRT)

dsdt.dsl  3537:                 Method (_PRT, 0, NotSerialized)
Warning  1081 -                            ^ Reserved method must return a value (Package required for _PRT)

ASL Input:  dsdt.dsl - 6034 lines, 203417 bytes, 2349 keywords
AML Output: DSDT.aml - 20402 bytes, 609 named objects, 1740 executable opcodes

Compilation complete. 0 Errors, 2 Warnings, 0 Remarks, 827 Optimizations
[Completed]

To su ti upozorenja a ne greške i prilično ih je lako otkloniti...

dsdt.dsl 3537: Method (_PRT, 0, NotSerialized)
Warning 1081 - ^ Reserved method must return a value

To znači da nedostaje povratna vrednost... To je slična situacija koju sam ja opisao u svom prvom primeru, a koja se negde i najčešće dešava... Dakle sve što treba da uradiš da bi to rešio, je da dodaš tamo negde u zagradama, umesto 0x00 odnosno zero ili tačnije kako stoji tamo

Method (_PRT, 0, NotSerialized)

zameniti sa napr...

Method (_PRT, 0x02, NotSerialized)

i trebalo bi da proradi... ako ne onda pogledaj malo naviše koje su vrednosti dodate za taj device pa njih upiši...
 
Do sada sam na laptopu koristio neki stari iAtkos pa reko da probam ovu metodu, ali ovo mi je sve novo i ne znam kako da resim problem odmah na prvom koraku posle compile, ne znam sta znaci ova greska i kako je resiti?


Ok, evo rešenja...

U tvom slučaju fali nešo drugo... Sad vidim pošto si mi poslao DSL fajl.

Sve što treba da napraviš ja da dodaš sledeću vrednost Return (Zero) na kraju dela koda koji se odnosi na Device (PCIB) a u okviru koga ti imaš ovaj Method (_PRT bla, bla , bla...

Znači idi na 3646 red ili liniju i iza zagrade koju tu imaš dopiši gore navedeni Return (Zero), i dobijaš ovo:

Kod:
[COLOR="#8b0000"]Intel ACPI Component Architecture
ASL Optimizing Compiler version 20091214 [Dec 16 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

ASL Input:  /Users/Vladimir/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 6034 lines, 209487 bytes, 2350 keywords
AML Output: /Users/Vladimir/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/DSDT.aml - 20404 bytes, 609 named objects, 1741 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 827 Optimizations[/COLOR]
 
Moze li mi reci tacno kako bi trebalo da izgleda ta 3646 linija jer ja kada uradim ovo:

clip3.jpg




Dobijam ovo:

Kod:
dsdt.dsl  3646:                         }Return (Zero)
Error    4080 -                                     ^ Invalid object type for reserved name (found ZERO, requires Package)
 
Lakše mi je da ti zakačim gotov DSDT... Mada nije mi jasno zašto si ovo dobio, jer si u principu odradio baš onako kako sam ti rekao... Hmm...

Kod mene je to prošlo bez greške, ali verovatno ima tu neke razlike jer nam se mašine razlikuju...

Ništa... Okačiću ti ovaj koji sam ja sredio, pa dalje teraj sam...

Inače zaboravio sam jednu stvar da napomenem... Tvoj DSDT u osnovi već prilično dobro izgleda, a inače koliko sam ja mogao do sada da primetim, neki specijalni boljitak se ne dobija kod notebook računara jer je tu BIOS malo drgačiji i jednostavniji... Dakle sam DSDT ima mnogo veći učinak kod desktop mašina, jer su izgleda ove zakrpe namenski izvedene baš za njih, a ne za notebook računare. Znači pazi, nisam siguran dal je ovo tačno, ali sam takav utisak stekao... Kada bih imao DSL skinut sa nekog originalnog macbook računara rako bih ti tačno o čemu se tu radi...
 

Prilozi

  • DSDT.aml.zip
    8.7 KB · Pregleda: 85
Poslednja izmena:
Ko je isprobao 10.7 Lion u ovoj hack varijanti, zasigurno je primetio do sada da jedna stvar ne funkcioniše onako kako bi trebalo. Radi se o izvesnom problemu ili da tako kažem maloj iritantnoj anomaliji koja se vezuje za sleep funckiju. Naime uspavljivanje računara zapravo i nije problem, niti je to njegovo buđenje, jer obe ove funkcije rade savršeno normalno, ali je zato problem ono što se dešava nakon ovih operacija i nakon restarta. Drugim rečima kada se odradi sleep-wake pa onda restart, dolazi do tzv. CMOS checksum bad report greške, ili drugim rečima BIOS restarta... Za sada još uvek nije pronađeno adekvatno rešenje koje bi bilo primenjeno na DSDT, ali ja iskreno verujem da će se to desiti u skorijoj budućnosti i to pre svega što se sada već jedan izvestan broj značajnih ljudi (Cartri takođe radi na ovome) u ovoj oblasti uključio i pokušava da reši ovaj problem.

Međutim nije baš sve tako crno, jer zapravo izvesno rešenje već sada postoji... Dežurni krivac za BIOS restart je zapravo AppleRTC.kext na kome je Apple dodatno radio u međuvremenu! Dakle postoje dva privremena rešenja u ovom momentu... Znači moguće je odraditi rollback AppleRTC.kexta (v. 1.3.1) koji koristi SL, Ili primeniti sledeći patch na originalni Lion AppleRTC.kext (v.1.4):

sudo perl -pi -e 's|\xE9\x91\x06\x00\x00|\xC3\x90\x90\x90\x90|; s|\xE8\x7D\xFB\xFF\xFF|\x90\x90\x90\x90\x90|; s|\xE9\xFF\xF9\xFF\xFF|\xC3\x90\x90\x90\x90|; s|\xE8\x1F\x07\x00\x00|\x90\x90\x90\x90\x90|; s|\xE8\xF4\xFA\xFF\xFF|\x90\x90\x90\x90\x90|; s|\xE8\xA0\xF9\xFF\xFF|\x90\x90\x90\x90\x90|' /System/Library/Extensions/AppleRTC.kext/Contents/MacOS/AppleRTC

Oba solucije završavaju posao, ali svakako ne predstavljaju "neat" rešenje kakva bi mogla biti sutra možda nekakva DSDT zakrpa...
 
Poslednja izmena:
Ostaviću ovde još kompletan set zakrpa koje sam ja koristio a i koje se nege najčešće koriste...

Device (CPU)

Za Award BIOS-e...

Kod:
 Scope (_PR)
    {
        Processor (CPU1, 0x01, 0x00000410, 0x06) {}
        Processor (CPU2, 0x02, 0x00000410, 0x06) {}
        Processor (CPU3, 0x03, 0x00000410, 0x06) {}
        Processor (CPU4, 0x04, 0x00000410, 0x06) {}
    }

za Ami BIOS-e:

Kod:
 Scope (_PR)
    {
        Processor (CPU1, 0x01, 0x00000810, 0x06) {}
        Processor (CPU2, 0x02, 0x00000810, 0x06) {}
        Processor (CPU3, 0x03, 0x00000810, 0x06) {}
        Processor (CPU4, 0x04, 0x00000810, 0x06) {}
    }

Device (HPET)

Ukoliko DSDT ne sadrži ovaj device onda treba primeniti tzv. New HPET patch i praktično dodati ovaj uređaj pod Device (LPCB/SBRG) granom...

Kod:
Device (HPET)
                {
                    Name (_HID, EisaId ("PNP0103"))
                    Name (ATT3, ResourceTemplate ()
                    {
                       [COLOR="red"] IRQNoFlags ()
                            {0}
                        IRQNoFlags ()
                            {8}[/COLOR]
                        Memory32Fixed (ReadWrite,
                            0xFED00000,         // Address Base
                            0x00000400,         // Address Length
                            )
                    })
                    Name (ATT4, ResourceTemplate ()
                    {
                    })
                    Method (_STA, 0, NotSerialized)
                    {
                        Return (0x0F)
                    }

                    Method (_CRS, 0, NotSerialized)
                    {
                        Return (ATT3)
                    }
                }

Ukoliko sadrži (Device HPET) onda samo pridodati IRQ code u gore makirano crvenom delu...

Kod:
IRQNoFlags ()
     {0}
IRQNoFlags ()
     {8}

Device (RTC)

Ovaj patch rešava CMOS reset na pojedinim pločama...

Kod:
Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                    })
                }

Method (_WAK, 1, NotSerialized)

Kod:
        Notify (\_SB.PWRB, 0x02)
        Notify (\_SB.PCI0.UHC1, Zero)
        Notify (\_SB.PCI0.UHC2, Zero)
        Notify (\_SB.PCI0.UHC3, Zero)
        Notify (\_SB.PCI0.UHC4, Zero)
        Notify (\_SB.PCI0.UHC5, Zero)
        Notify (\_SB.PCI0.UHC6, Zero)
        Notify (\_SB.PCI0.EHCI, Zero)
        Notify (\_SB.PCI0.EHC2, Zero)
        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }


BUS PCI (_HID)

Zameniti _CID u _HID i PNP code:

Kod:
Name (_HID, EisaId ("PNP0A08"))

BUS PCI (_CID) bi trebalo da izgleda ovako:

Kod:
Name (_CID, EisaId ("PNP0A03"))

POWERBUTTON fix

Kod:
Device (PWRB)
        {
            Name (_CID, EisaId ("PNP0C0C"))
            Name (_UID, 0xAA)
            Name (_STA, 0x0B)
        }

Device (TIMR)
Device (IPIC)

Preimenujte ova dva uređaja ukoliko vam se zovu drugačije u TIMR i IPIC. Odavde je potrebno samo ukloniti IRQ code i to treba da izagleda ovako:

Kod:
Device (IPIC)
                {
                    Name (_HID, EisaId ("PNP0000"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0020,             // Range Minimum
                            0x0020,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                        IO (Decode16,
                            0x00A0,             // Range Minimum
                            0x00A0,             // Range Maximum
                            0x00,               // Alignment
                            0x02,               // Length
                            )
                    })
                }

Device (TIMR)
                {
                    Name (_HID, EisaId ("PNP0100"))
                    Name (_CRS, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0040,             // Range Minimum
                            0x0040,             // Range Maximum
                            0x00,               // Alignment
                            0x04,               // Length
                            )
                    })
                }

Device (SBUS)

Dodati ovaj uređaj ako ga nema u DSDT-u i to na mesto ispod Device (SATA)

Kod:
Device (SBUS)
            {
                Name (_ADR, 0x001F0003)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x30, 0x3A, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

                Device (BUS0)
                {
                    Name (_CID, "smbus")
                    Name (_ADR, Zero)
                    Device (DVL0)
                    {
                        Name (_ADR, 0x57)
                        Name (_CID, "diagsvault")
                    }
                }
            }

Device (LPCB) ili (SBRG)

Kod:
Device (LPCB)
            {
                Name (_ADR, 0x001F0000)
                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x18, 0x3A, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

USB (UHCI) patch za ICH9 ploče

Kod:
Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x02)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x34, 0x3A, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

USB (EHCI) patch za ICH9 ploče

Kod:
Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x04)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x3A, 0x3A, 0x00, 0x00
                            }, 

                            "AAPL,clock-id", 
                            Buffer (One)
                            {
                                0x01
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

SHUTDOWN/RESTART fix

Ovaj deo varira u svojoj strukturi od ploče do ploče...

Primer sa Foxconn P35A ploče:

Kod:
Method (_PTS, 1, NotSerialized)
	    {
	        [COLOR="red"]If (LEqual (Arg0, 0x05))
	        {
	            Store (Zero, SLPE)
	            Sleep (0x10)
	        }
	        Else
	        {[/COLOR]
	            Store (Arg0, DBG8)
	            If (LAnd (LEqual (Arg0, 0x04), LEqual (OSFL (), 0x02)))
	            {
	                Sleep (0x0BB8)
	            }

	            PTS (Arg0)
	            Store (Zero, Index (WAKP, Zero))
	            Store (Zero, Index (WAKP, One))
	            Store (ASSB, WSSB)
	            Store (AOTB, WOTB)
	            Store (AAXB, WAXB)
	            Store (Arg0, ASSB)
	            Store (OSFL (), AOTB)
	            Store (Zero, AAXB)
	            Store (One, \_SB.SLPS)
	        [COLOR="red"]}[/COLOR]
	    }

Samo ubaciti ono što je markirano crvenom bojom i dodati iznad ovoga još:

Kod:
OperationRegion (PMRS, SystemIO, 0x0430, One)
Field (PMRS, ByteAcc, NoLock, Preserve)
{
        ,   4, 
    SLPE,   1
}

ALC888 patch

Kod:
Device (HDEF)
            {
                Name (_ADR, 0x001B0000)
                Method (_PRW, 0, NotSerialized)
                {
                    Return (Package (0x02)
                    {
                        0x0D, 
                        0x05
                    })
                }

                Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x0E)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x3E, 0x3A, 0x00, 0x00
                            }, 

                            "codec-id", 
                            Buffer (0x04)
                            {
                                0x88, 0x08, 0xEC, 0x10
                            }, 

                            "layout-id", 
                            Buffer (0x04)
                            {
                                0x78, 0x03, 0x00, 0x00
                            }, 

                            "device-type", 
                            Buffer (0x07)
                            {
                                "ALC888"
                            }, 

                            "PinConfigurations", 
                            Buffer (0x30)
                            {
                                /* 0000 */    0x10, 0x40, 0x11, 0x01, 0x20, 0x10, 0x01, 0x01, 
                                /* 0008 */    0x30, 0x60, 0x01, 0x01, 0x80, 0x20, 0x01, 0x01, 
                                /* 0010 */    0x40, 0x90, 0xA0, 0x90, 0x50, 0x90, 0xA1, 0x02, 
                                /* 0018 */    0x60, 0x30, 0x81, 0x01, 0x70, 0x40, 0x21, 0x02, 
                                /* 0020 */    0xF0, 0x01, 0x33, 0x59, 0x03, 0xF6, 0x17, 0x40, 
                                /* 0028 */    0x90, 0x61, 0x4B, 0x01, 0xA0, 0x01, 0xCB, 0x01
                            }, 

                            "reg", 
                            Buffer (0x28)
                            {
                                /* 0000 */    0x00, 0xD8, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0008 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0010 */    0x00, 0x00, 0x00, 0x00, 0x10, 0xD8, 0x00, 0x02, 
                                /* 0018 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
                                /* 0020 */    0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00
                            }, 

                            "platformFamily", 
                            Buffer (One)
                            {
                                0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }
            }

Patch za grafičke kartice je varijabilan a i već sam ostavio objašnjenje predhodno kako se isti izrađuje. Bitno je reći još da Device (PEGP) treba da stoji kao prvi odmah ispod Device (PCI0) jer u protivnom se može desiti da ga OS X preskoči...
 
Poslednja izmena:
Oni koji koriste DSDT injection patch za NVIDIA grafičke karte su zasigurno do sada već primetili da ovaj metod više ne funkcioniše sa poslednjim updejtom na 10.7.2. Srećom tu je dopuna za ovaj patch koji tzv. "blackout" anomaliju uspešno otklanja...

Black Screen FIX (DSDT Injection):

Ispod sekcije koja se odnosi na video memoriju se nalazi ovaj deo koda:

Kod:
[COLOR="#8b0000"]"device_type"[/COLOR]
[COLOR="blue"]Buffer (0x0D)[/COLOR]
{
[COLOR="#8b0000"]"NVDA,Geforce"[/COLOR]
}

koji treba zameniti sa:

Kod:
[COLOR="#8b0000"]"device_type[/COLOR]"
[COLOR="blue"]Buffer (0x0C)[/COLOR]
{
[COLOR="#8b0000"]"NVDA,Parent"[/COLOR]
}
 
Samo da pomenemo i ovu poslednju DSDT alatku. Reč je o DSDTfixeru iz EVOSX86 radionice, inače jako korisna alatka koja modovanje DSDT-a bukvalno i totalno svodi na par klikova mišem.

Problem je jedino što je program napisan za Mac os, što znači da bi windows korisnici morali najpre da podignu Mac os preko VMware-a ili putem recimo iPC X-DL 10.5.6 live DVD-a, pa tek onda da pristupe izradi DSDT-a za sopstvenu ploču...

Bilo bi lepo kada bi EVO tim napravio i Windows verziju ovog alata, kao što su to već uradili sa DSDT simple patcher-om ranije...
 
Evo još jednog načina kako doći do originalnog ne modifikovanog DSDT-a i to putem Ubuntu instalacionog diska.

Naime pošto se pokrene instalacija za Ubuntu, izabere se live verzija koja se pokreće direktno sa CD-a.

Nakon podizanja Live verzije, potrebno je pokrenuti terminal iz menija gore. Najjednostavniji način je da se na search liniju koja se poziva klikom na home ikonicu gore levo, ukuca slovo "T" ili jednotavno upišu prva tri slova "ter".

Zatim se u termnial jednostavno ukuca sledeća komanda:

Kod:
sudo cat /sys/firmware/acpi/tables/DSDT > dsdt.aml

Dobijeni DSDT će biti smešten u Home folderu...

Zatim je odatle potrebno prebaciti ga na fleš, pa onda dalje modifikovati iz windowsa ili os X-a...

Prednost ove metode je taj, što se na ovaj način dobija gotov DSDT.aml fajl bez obzira na moguće greške koje će prijaviti određeni DSDT patcheri, pa je samim time moguće primeniti set zakrpa putem recimo koalala's DSDT patchera direktno iz windowsa a koji traži upravo DSDT.aml a ne osnovni DSDT.dsl fajl.

Naravno tu je i gore pomenuti DSDTfixer, za sve one koji su već nekako podigli mac os...
 
Poslednja izmena:
(LGA1155) Sata patch

Evo mog malog otkrića koji važi za SB ploče. Cenim da bi trebalo da radi na svim SB pločama, ali naravno ništa dok se ne isproba. Radi se o orange icon problemu koji nije zapravo samo to već i nešto malo više od toga, jer neretko u delu za SATA pojedinci imaju sledeću anomaliju:

Removable Media: Yes

a zapravo treba da stoji za hard diskove

Removable Media: No

U slučaju kada stoji Yes umestno No, računar gubi hard diskove nakon ulaska u sleep, iliti spavanjac.

Malo sam pogledao po kom standaradu rade iMac12,2 računari koji imaju SB ploče i skontao da je kod njih u pitanju Intel 6 Series Chipset koji bi trebalo inače i da je za sve SB ploče u načelu. Povadio sam kodove iz iorega za iMac12,2 i koncipirao DSDT patch koji otklanja ove anomalije.

Kod:
Device (SATA)
            {
                Name (_ADR, 0x001F0002)
                [COLOR="#006400"]Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x08)
                        {
                            "device-id", 
                            Buffer (0x04)
                            {
                                0x02, 0x1C, 0x00, 0x00
                            }, 

                            "revision-id", 
                            Buffer (0x04)
                            {
                                0x05, 0x00, 0x00, 0x00
                            }, 

                            "subsystem-id", 
                            Buffer (0x04)
                            {
                                0x70, 0x72, 0x00, 0x00
                            }, 

                            "vendor-id", 
                            Buffer (0x04)
                            {
                                0x86, 0x80, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }[/COLOR]

[[COLOR="#A52A2A"]nastavak postojećeg koda[/COLOR]]

Removable Media: Yes problem rešava LegacyAppleAHCIPort.kext (koji mi je neophodan zbog Marvell 88SE9172 SATA portova) zajedno sa orange icon problemom uz ovaj patch. Kod mene je nakon apliciranja ove zakrpe sada sve ok. Obrisao sam IOAHCIBlockStorageInjector.kext, u delu za sata stoji Intel 6 Series Chipset i naravno pod Removable Media: stoji No.

p.s.

Pokušaću da uklonim i korišćenje LegacyAppleAHCIPort.kext-a (koji je obavezan u ovom slučaju) u bliskoj budućnosti, premda je on prilično zgodan za manevrisanje, pa se neki iskusniji hackeri umesto DSDT zakrpe ipak odlučuju pre za ovaj ili neki sličan kext (ima ih nekoliko) kada je reč o ovom SATA problemu s obzirom da na njegov rad ne utiču buduće nadogranje sistema.
 

Prilozi

  • LegacyAppleAHCIPort.kext.zip
    2.5 KB · Pregleda: 70
Poslednja izmena:
OK, nakon malo dodatnog istraživanja ustanovio sam da postoji više nego dobar razlog zbog kojeg su se MacMan, Maldon i ostala ekpia sa tonymac foruma ipak odlučili za SATA kext umesto DSDT SATA fix. Očigledno je da je lakše putam kexta modifikovati neke stvari nego li putem DSDT-a, plus što je i veoma teško prevesti kext dictionary na adekvatan DSDT kod koji će OS X da prepozna.

Dakle umesto najavaljenog DSDT patcha za SATA fix i ja se pridružujem većini i ovom prilikom ovde zakačiću LegacyAppleAHCIPort.kext na kome sam već neko vreme radio, ali ovaj put u proširenom izdanju.

Da ne dužim, evo kompletne SATA liste koju ovaj kext pokriva:

ASMedia ASM1061
AppleAHCIDiskDriver (Removable Media fix = orange icon fix)
GenericAHCI
ICH10AHCI
ICH10RAHCI
ICH10RAID
ICH10RRAID
ICH6 ESB2 AHCI
ICH7MAHCI
ICH7MRAID
ICH7RAHCI
ICH7RRAID
ICH8AHCI
ICH8MAHCI
ICH8MRAID
ICH8RAHCI
ICH8RRAID
ICH9AHCI
ICH9MAHCI
ICH9MRAID
ICH9RAHCI
ICH9RRAID
JMicron JMB360 AHCI
JMicron JMB360 RAID
JMicron JMB361 AHCI
JMicron JMB361 RAID
JMicron JMB362 AHCI
JMicron JMB362 RAID
JMicron JMB363 AHCI
JMicron JMB363 RAID
JMicron JMB366 AHCI
JMicron JMB366 RAID
JMicronAHCI
Marvell 88SE9120
Marvell 88SE9123
Marvell 88SE9125
Marvell 88SE9128
Marvell 88SE9172
 

Prilozi

  • LegacyAppleAHCIPort.kext.final.zip
    2.8 KB · Pregleda: 76
Poslednja izmena:
Mogu da pitam par pitanja ?

1. Gde da nadjem dsdt file za moju konfiguraciju ?
2. Da li da otkacinjem preostala 2 hard disk pre pocetka instalacije ? Bojim se da mi ne zeznu filmove .
3. Da li cu kasnije moci da preformatiram hdd na ntfs, obzirom da Mac gura journal fs ?
 
Instalirao sam po uputstvu Iboot, zatim MAc Os x 10.6.7, zatim restart i kada sam
mu posle toga stavio ponovo iboot da zavrsi instalaciju Leoparda kod kreiranja
user accounta se restartovao i ispisao Panic kernel / aspi /... ?

Znaci , nista od velikih macaka...
 
Na tu ploču sigurno mora da rade sve mačke... Ne brini, pitanje je šta si radio i kako? Drugo updejt sa 10.6.7 na 10.6.8 je malo kritičan. Na pojedinim konfiguracijama može da dođe do pucanja ako je Intel Core solo procesor ili ako nije Gigabyte ploča. Pošto kod tebe to nije slučaj, cenim da bi trebalo sve da prođe ok.

Moguće je da nisi u BIOS-u sve podesio kako treba. HPET mora da bude uključen (i to ako imaš opciju za 64bita onda obavezno tako stavi), S3 za spavanjac, AHCI za diskove, paralelni i serijski isključiti jer mekići to nemaju, i možda još poneka sitnica. Drugo, možda taj DSDT ne valja, tj ne odgovara tvojoj konfiguraciji u potpunosti. Skini EvoDSDT simple editor, pa raspakuj DSDT i ponovo ga prekompajliraj. Zatim dobijeni aml fajl prebaci u Extra preko starog i kapitalizuj ga iz dsdt.aml u DSDT.aml. Onda probaj ponovo.

Takođe skini program Chameleon Wizard pa iz njega kreiraj SMBIOS.plist fajl za svoju konfiguraciju. Namesti na MacPro3,1 i za ostale stvari jednostavno "fill in the blanks..."
 
Poslednja izmena:
Na tu ploču sigurno mora da rade sve mačke... Ne brini, pitanje je šta si radio i kako? Drugo updejt sa 10.6.7 na 10.6.8 je malo kritičan. Na pojedinim konfiguracijama može da dođe do pucanja ako je Intel Core solo procesor ili ako nije Gigabyte ploča. Pošto kod tebe to nije slučaj, cenim da bi trebalo sve da prođe ok.

Moguće je da nisi u BIOS-u sve podesio kako treba. HPET mora da bude uključen (i to ako imaš opciju za 64bita onda obavezno tako stavi), S3 za spavanjac, AHCI za diskove, paralelni i serijski isključiti jer mekići to nemaju, i možda još poneka sitnica. Drugo, možda taj DSDT ne valja, tj ne odgovara tvojoj konfiguraciji u potpunosti. Skini EvoDSDT simple editor, pa raspakuj DSDT i ponovo ga prekompajliraj. Zatim dobijeni aml fajl prebaci u Extra preko starog i kapitalizuj ga iz dsdt.aml u DSDT.aml. Onda probaj ponovo.

Takođe skini program Chameleon Wizard pa iz njega kreiraj SMBIOS.plist fajl za svoju konfiguraciju. Namesti na MacPro3,1 i za ostale stvari jednostavno "fill in the blanks..."

Hvala, bro, ali ja ne stigoh do ucitavanja dsdt file, kojeg sam skinuo za moju plocu i za tu verziju biosa.
Posle instalacije, napravio sam account, odredio zemlju, keyboard i kada sam mu dao next ( bez user slike) drndao je nesto po disku, nekih 5 min.
Naravno, nervozni, nije imao zivaca, uradio reset i nakon toga pri sledecem bootu, panic kernel.

A bas sam se napalio , da ga vidim. Mislim na Os x.
Danas cu probati instalaciju pod vmware 8.0.1 sa patchom za mac Os x i sa imageom 10.6 kojii je spremljen za vmware.
Ima sli nekih sugestija , pre nego se opet iznerviram ?
 
Hvala, bro, ali ja ne stigoh do ucitavanja dsdt file, kojeg sam skinuo za moju plocu i za tu verziju biosa.
Posle instalacije, napravio sam account, odredio zemlju, keyboard i kada sam mu dao next ( bez user slike) drndao je nesto po disku, nekih 5 min.
Naravno, nervozni, nije imao zivaca, uradio reset i nakon toga pri sledecem bootu, panic kernel.

A bas sam se napalio , da ga vidim. Mislim na Os x.
Danas cu probati instalaciju pod vmware 8.0.1 sa patchom za mac Os x i sa imageom 10.6 kojii je spremljen za vmware.
Ima sli nekih sugestija , pre nego se opet iznerviram ?

Trebalo je da sačekaš. Nema jurnjave kada podižeš sistem, premda nije ni trebalo toliko dugo da radi... 5 minuta draljanja je mnoooogo...

DSDT koji si skinuo treba da smestiš u Extra folder, na particiju gde si instalirao OSX. Takođe unutar Extra foldera treba da se nalaze još sledeće stvari:

1. org.chameleon.Boot.plist fajl
2. smbios.plist fajl
3. Extensions folder u koji smeštaš dodatne drajvere za svoju mašinu
4. DSDT naravno
5. SSDT (opciono)
6. Theme folder sa temama za kameleona

Chameleon kada instaliraš sam kreira Extra folder sa preostala dva foldera unutra, ostale stvari trebalo bi da dodaš sam.

Preko virtualne makine mislim da stvari malo drugačije funkcionišu. Nisam siguran oko butovanja, jer nikada nisam tako probao da podignem OSX. Nekako mi to nije to... (to mu dođe ko neki demo).

E da, preostale diskove nisi morao da otkačinješ pri instalaciji. To je potrebno da uradiš samo kada podižeš windows, jer za isti instalacija neće da se pokrene ako imaš zakačene NTFS diskove u kombinaciji sa HFS formatom. Malo je ovo glupo, ali nažalost tako je!?!

Mac os-u ovo naravno nimalo ne smeta, tako da nema potrebe ništa da otkačinješ.

I da, nema nerviranja. Ume da bude malo mučno i poučno dok ne skontaš kako cela stvar funkcioniše, ali kad jednom to pohvataš sve će posle ići ko podmazano. ;)
 
Poslednja izmena:
Nazad
Vrh Dno