Mac OS X on x86 Hardware 2008–2024 Technical Archive
InfiniteMac OSx86 › International Dispatches › The DSDT (.dsl) Thread
80,699 reads · 2010-01-07 – 2011-04-27
Dossier International DSDT

The DSDT (.dsl) Thread

------------------------- This thread available in English using online translator (google translate) by following this link bit .ly/8djPhV ------------------------- Λοιπόν, εντόπισα μια πολύ καλή πηγή με αρκετά DSDT, βέβαια γύρω από την…

Primary Author
@SomniusX Published 2010-01-07
Collection
International Dispatches
Archival Footprint
80,699 historical reads · 22 curated field notes (from 32 dispatches) · 2010-01-07 – 2011-04-27
Credited Voices (8)
@excos (11)@SomniusX (9)@Lays (3)@tangon (3)@Dejangs (2)@dantamis (2)@Xan21@odin1937

-------------------------
This thread available in English using online translator (google translate)
by following this link
bit .ly/8djPhV

-------------------------

Λοιπόν,

εντόπισα μια πολύ καλή πηγή (aceracpi.googl ecode.com/svn/trunk/dsdt/) με αρκετά DSDT, βέβαια γύρω από την Acer και τα Laptop/Desktop της, όπως και άλλες παρεμφερείς εταιρείες που μπορεί να συνεργάζεται,

εάν βρείτε κι εσείς, παραθέστε τα σαν απάντηση στο παρόν thread για να μεγαλώσει η λίστα! ΑΚΟΜΑ και το δικό σας, με αναλυτική όμως περιγραφή του μηχανίματός σας, ώστε όταν κάποιος θα το ψάξει να το βρεί!

παραθέτω λίστα και επίσης ένα πακέτο για να τα κατεβάσετε.. σε περίπτωση που στο μέλλον δεν είναι διαθέσιμα, για τα μέλη του InfiniteMac.com!

Αρχεία DSDT για

  • Acer
  • Belinea
  • Compal
  • Fujitsu Siemens
  • Medion
  • Prestigio

Και για να είμαι πιο σαφής πάρτε και την λίστα..

  • Acer
    • Aspire
      • 1300.dsl
      • 1360.dsl
      • 1410.dsl
      • 1500.dsl
      • 1510.dsl
      • 1520.dsl
      • 1640.dsl
      • 1650.dsl
      • 1680.dsl
      • 1690.dsl
      • 1700.dsl
      • 2920.dsl
      • 3000.dsl
      • 3050.dsl
      • 3100.dsl
      • 3500.dsl
      • 3610.dsl
      • 3620.dsl
      • 3630.dsl
      • 3680.dsl
      • 3690.dsl
      • 3930.dsl
      • 4315.dsl
      • 4520.dsl
      • 4530.dsl
      • 4710.dsl
      • 4720.dsl
      • 4730.dsl
      • 4920.dsl
      • 4930.dsl
      • 5000.dsl
      • 5010.dsl
      • 5020.dsl
      • 5030.dsl
      • 5040.dsl
      • 5050.dsl
      • 5100.dsl
      • 5315.dsl
      • 5500.dsl
      • 5520.dsl
      • 5560.dsl
      • 5570.dsl
      • 5580.dsl
      • 5600.dsl
      • 5610.dsl
      • 5630.dsl
      • 5650.dsl
      • 5670.dsl
      • 5680.dsl
      • 5710.dsl
      • 5715.dsl
      • 5720.dsl
      • 5920.dsl
      • 5930.dsl
      • 6930.dsl
      • 7110.dsl
      • 7220.dsl
      • 7520.dsl
      • 7720.dsl
      • 9110.dsl
      • 9300.dsl
      • 9420.dsl
      • 9810.dsl
      • One.dsl
    • Extensa
      • 2900.dsl
      • 4010.dsl
      • 4100.dsl
      • 4220
      • 4220.dsl
      • 5010.dsl
      • 5220.dsl
      • 5620.dsl
      • 5630.dsl
      • 6700.dsl
      • 7630.dsl
    • Ferrari
      • 1000.dsl
      • 1100.dsl
      • 3400.dsl
      • 4000.dsl
      • 5000.dsl
    • TravelMate
      • 220.dsl
      • 2300.dsl
      • 240.dsl
      • 2400.dsl
      • 2410.dsl
      • 2420.dsl
      • 2450.dsl
      • 2480.dsl
      • 2490.dsl
      • 2700.dsl
      • 290.dsl
      • 3010.dsl
      • 3200.dsl
      • 3260.dsl
      • 3620.dsl
      • 380.dsl
      • 4000.dsl
      • 4020.dsl
      • 4050.dsl
      • 4100.dsl
      • 4150.dsl
      • 4200.dsl
      • 4220.dsl
      • 4230
      • 4230.dsl
      • 4280.dsl
      • 4400.dsl
      • 4500.dsl
      • 4650.dsl
      • 4730.dsl
      • 520.dsl
      • 5320.dsl
      • 5520.dsl
      • 5620.dsl
      • 5720.dsl
      • 610.dsl
      • 6290.dsl
      • 6292.dsl
      • 6490.dsl
      • 650.dsl
      • 6590.dsl
      • 7510.dsl
      • 7520.dsl
      • 800.dsl
      • 8100.dsl
      • 8210.dsl
      • C100.dsl
      • C200.dsl
      • C300.dsl
      • C310.dsl
  • Belinea
    • b.book
      • 3.dsl
  • Compal
      • CL56.dsl
  • Fujitsu Siemens
    • Amilo
      • a1650.dsl
      • a1650g.dsl
      • li21732.dsl
      • li2727.dsl
      • v3505.dsl
  • Medion
    • MD
      • 42200.dsl
      • 95400.dsl
      • 96500.dsl
      • 98300.dsl
  • Prestigio
    • Nobile
      • 157.dsl

Το παρακάτω Link σας πάει στο MultiUpload όπου το πακέτο είναι διαθέσιμο σε αρχείο .zip για τα παρακάτω sites..

multi upload.com/AU8E1XLH4L

Επίσης και στο δικό μου server σε .rar εδώ

hellas project.com/files/dsdts_p1.rar

Author Updates & Technical Revisions

Follow-up dispatches by @SomniusX

Author Update #1 @SomniusX 2010-01-07

Τα wak == είναι ?

edit : βρήκα και το muzzle (bit .ly/87KP5K) θα του ρίξω μια ματιά μήπως έχει κάτι για μας!

Author Update #2 @SomniusX 2010-01-07

Επίσης εδώ ↗ βρήκα έναν τρόπο με π.χ. ένα live linux distro (βλέπε ubuntu) να πάρεις ένα dsdt

http://ubuntuforums.org/showthread.php?t=1036051 ↗

Παραθέτω το thread από εκεί για να υπάρχει στο αρχείο μας!

This guide will help you fix your DSDT file to fix common ACPI problems on any Debian based OS. With Mint 6/Ubuntu 8.10, I started having a lot of problems with my laptop thermal temps, and not wanting to boot without holding down a keyboard key. This was in my case because of a buggy DSDT file. To read more about ACPI/DSDT go here:…
Author Update #3 @SomniusX 2010-01-08

Μάλιστα καλά πάει το thread, κανείς άλλος να μας παραθέσει ένα .zip/.rar με το δικό του DSDT.aml και τι hardware έχει?

Author Update #4 @SomniusX 2010-01-12

Και για να είμαστε πιο σαφής, το thread Αναβάθμιση σε Snow Leopard θα το βρείς εδώ!

Αναβάθμιση Leopard σε Snow Leopard →

και στο HellasProject θα το βρεις στον τομέα OSX -> Μεταφορτώσεις -> Εργαλεία

Υ.Γ. ευχαριστώ excos!

Author Update #5 @SomniusX 2010-01-12

ΘΑ ΣΕ ΦΑΩ ΡΕΕ!

Θέλω κι εγώ!

Κοίτα να το κάνεις copywrite ρε.. πήγαινε και στο άλλο το γνωστό forum και δώστο αλλά πες τους να σε θυμούνται στα credits!

Author Update #6 @SomniusX 2010-02-18

Πάντως για την κάρτα γραφικών εγώ με EFI strings την πέρασα από το OSx86 Tools και παίζουν όλα κομπλε στην nVidia GTS 250 με 1gb ram..

Δεν την είχε στην λίστα, αλλά ην έδωσα χειροκινητα στο προγραμμα απαντώντας σε απλούς διαλόγους/παράθυρα για όνομα, μνήμη, dvi/VGA κλπ.

Δεν το δοκιμασεις;

(πρέπει να έχω mirror στο site μου)

Author Update #7 @SomniusX 2010-06-01

@Xan21

if I find anything I will post it here mate!

Synthesized Community Field Notes

22 technical responses curated from 32 original dispatches

Field Note #1 @excos 2010-01-07

Και μερικα ακρονυμια ειναι :
Method - Description

PBL (S/G) = BackLight
CAM (S/G) = Camera
CRD (S/G)= Card Reader
WLD (S/G) = Wireless Lan Set / Get
CFV (S/G) = FSB Speed & Voltage Set / Get
CAM (S/G) = Camera Set / Get
BTH (S/G) = BlueTooth Set / Get
SDSP = Switch/Swap Display
CRD (S/G) = Card Reader Set / Get
HDPS = ?
PBP (S/G) =
M3G (S/G) = Mobile 3G
HWCF = ?
GNVS = Get Volume (I'm sure this is wrong. Probably gets and sets memory references?)
SNVS = Set Volume (I'm sure this is wrong. Probably gets and sets memory references?)

Field Note #2 @excos 2010-01-07

Παραδειγματα για fix και τι προσθετουμε στο dsdt για να λυνει προβληματα

:Method 

(WAK, 1, NotSerialized) //WAKE up
{
\_SB.PCI0.SBRG.EC0.EC0W (Arg0)
\_SB.PCI0.NWAK (Arg0)
\_SB.PCI0.SBRG.SWAK (Arg0)
LPWK (Arg0)
Store(\_SB.ATKD.PBLG(),local0) //---> Get Brightness level from NVS
\_SB.ATKD.PBLS(local0) //---> Set Brightness level.
} 
Device (LID0)
{
Name (_HID, EisaId ("PNP0C0D")) //LID detection
Method (_PRW, 0, NotSerialized)
{
Return (Package (0x02)
{
0x0B,
0x04
})
}
Name (LIDS, One)
Method (_LID, 0, NotSerialized)
{
Store (^^PCI0.SBRG.EC0.SF13, LIDS) //LID register
XOr (LIDS, One, Local0)
IF (Local0) //if LID is closed 
{ 
Notify (SLPB, 0x80) //Set system to sleep
} 
Return (LIDS)
}

Sample code..

Method (CAMS, 1, Serialized) //Camera Set
{
Return (OCMS (Arg0))
}

Method (CAMR, 0, Serialized) //Camera toggle : added
{
Store (OCMG (), Local0)
XOr (Local0, One, Local0) 
Return (OCMS (Local0))
}

Method (CAMG, 0, Serialized) //Camera Set
{
Return (OCMG ())
}

The code above is very tell tale, it is for switching the Camera on and off.

Method (_Q2A, 0, NotSerialized) //Camera
{
^^^^ATKD.CAMR() //Toggle Camera
ATKN (0x1D) //notify ATKD
}
 

…κλπ κλπ

Field Note #3 @excos 2010-01-08

Λοιπον μιας και εχω χρονο σημερα το βραδυ θα κανω καποια αναφορα στα fix για το dsdt που ειναι γενικα σε ολα τα μηχανηματα.

1 fix dsdt RTC για notebook & netbook η RTC0 για DESKTOP :

Το εξαγωγιμο dsdt χωρις την διορθωση η τιμες ειναι :

 Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                    })
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x08,               // Length
                            )
                    })

Η διορθωση στις τιμες πρεπει να ειναι : 0x02 //Length

Device (RTC)
                {
                    Name (_HID, EisaId ("PNP0B00"))
                    Name (BUF0, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length   <---------εδω
                            )
                    })
                    Name (BUF1, ResourceTemplate ()
                    {
                        IO (Decode16,
                            0x0070,             // Range Minimum
                            0x0070,             // Range Maximum
                            0x01,               // Alignment
                            0x02,               // Length  <-------- εδω
                            )
                    })

Διορθωση του Power button ωστε να υποστηριζει και εντολη sleep :

Device (PWRB)
        {
            Name (_CID, EisaId ("PNP0C0C")) // <----- πρεπει να ειναι ετσι 

Κανω καποιες δοκιμες με το dsdt του Αcer one για να φτιαξω και το sleep
Τα επομενα fix θα ειναι :

WAK 1
LID 0

Θα ενημερωσω για τα αποτελεσματα.

edit by Bloodiator: με πέθανες, βάλε code brackets

Blood κατεβασε το δικο μου

rapid share.com/files/332566156/DSDT.aml.zip.html

που δεν εχει καθολου error σε τιποτα και κοιτα μπας και φτιαξεις και τα δικα σου error στο Acer σου.
Τσεκαρα πως το WAK 1, LID 0 στο μικρο μου παιζει μια χαρα συγκρινομενο με το macbook μου, οπως και το HPET.
Το μονο bug που εχω ειναι το deep sleep και δεν εχω καταφερει να το λυσω εως τωρα.:(

Λοιπον κατι καινουργιο περι RTC που ανακαλυψα ειναι οτι οι τιμες που αλλαζαμε σε :

 0x02,               // Length   <---------εδω

παιζουν μονο για 10.6 & 10.6.1 γιατι χαλανε το sleep.

Με το update σε 10.6.2 οι τιμες ξαναγυριζουν σε :

0x08,               // Length <----------- εδω 

και ετσι φτιαχνουμε ενα bug που χτυπαει για το sleep.

Ηδη το εχω διορθωσει στο μικρο μου και τρεχει μια χαρα με το καινουργιο DSDT.aml.

Field Note #4 @Lays 2010-01-12

Παιδια χρεαζομαι και εγω ενα τετιο για το snow που θα βαλω!
motherboard
MS-7336

ευχαριστω!

Field Note #5 @excos 2010-01-12

Κανε login στο

hellas project.com

και κατεβασε το DSDT simpler editor V 1.3.6 εχει τα παντα για να φτιαξεις dsdt και στο 10.5 οπου μπορεις να το εχεις και για το 10.6.

Field Note #6 @Lays 2010-01-12

δηλαδη το κατεβαζω και τι πρεπει να κανω
επισις εκανα install το snow το ξεκεινησα με το bootloader και μπηκα κανονικα εβαλα στοιχια στην επανακινηση μου πεταει μηνημα κανε ρεσταρτ εκι που δειχνει το μηλο και δεν κανει τπτ θα φτει λογικα το dsdt?

Field Note #7 @excos 2010-01-12

kανε boot με -v για να δεις που σταματα η εκκινηση.
Γραφε στο threat Αναβαθμιση σε Snow Leopard τι προβλημα εχεις για να μην γεμιζουμε αυτο.

Field Note #9 @excos 2010-01-12

Μετα απο τα πολλα εφτιαξα και το sleep στο μικρο μου.

Το καινουργιο που προσθεσα ειναι με τα κοκκινα γραμματα :

 Method (_WAK, 1, NotSerialized)
    {
        If (ECON)
        {
            \_SB.BAT1.UBIF ()
            Notify (\_SB.BAT1, 0x80)
            Notify (\_SB.BAT1, 0x81)
        }

        If (LEqual (Arg0, 0x03))
        {
            Notify (\_SB.PCI0.EXP1, Zero)
            Notify (\_SB.PCI0.EXP4, Zero)
            Store (0x96, APMD)
            Store (0xB2, APMC)
            Store (0xE3, P80H)
        }

        If (LEqual (Arg0, 0x04))
        {
            Notify (\_SB.PCI0.EXP1, Zero)
            Notify (\_SB.PCI0.EXP4, Zero)
            Store (0x96, APMD)
            Store (0xB2, APMC)
            Notify (\_SB.PWRB, 0x02)
            Store (0xE4, P80H)
        }

        Return (Package (0x02) 
        {
            Zero, 
            Zero
        })
    }

Το μικρο μου Acer πλεον ειναι τελειο

Field Note #10 @excos 2010-01-12

Οτι θες φιλε και για το δικο σου dsdt να το φτιαξουμε.
Για τους αλλους αστο γιατι ειναι τελειος αμπαλοι! θα με ζαλισουν.
Αμα θες καντο εσυ να τους μπεις και στο ματι.

Field Note #11 @Dejangs 2010-02-17

Παιδες ποσταρω σε αυτο το thread μιας που μετα απο συζητηση με τον φιλο excos σχετικα με το ενα και μοναδικο ψιλο-προβλημα (νομιζω) που αντιμετωπιζω στο desktop μου πλεον (το οτι δεν δουλευει το automatic sleep δλδ) αποφασισα να δω τι ακριβως παιζει με τα dsdt files.

Κατεβασα λοιπον ενα προγραμμα για dsdt edit απο εδω (osx 86.es/) . Μονο που η σελιδα ειναι στα ισπανικα και δεν καταλαβαινω τπτ απο τα guides που εχει. Το δε προγραμμα ειναι στα αγγλικα και δειχνει ευχρηστο.
Το ερωτημα που μου εχει δημιουργηθει ειναι το εξης... δοκιμαζω διαφορα dsdt's και βλεπω πως συμπεριφερονται αλλα πολλα απο αυτα εχουν ενσωματωμενα graphics infos. Εγω αυτο που θελω ειναι αλλαξω αυτες τις πληροφοριες και να βαλω τη δικη μου καρτα γραφικων.
Βρηκα ενα κομματι στο dsdt που λεει για model (π.χ. 0x17 ) και vram αλλα δεν ξερω τι ακριβως πειραζω για να αλλαξω καρτα γραφικων, τους κωδικους δλδ αν υπαρχουν για καθε καρτα, και αν χρειαστει να μπει οτιδηποτε αλλο (πχ υπαρχει και ενα κομματι reg)

Εαν εχετε κατι υποψιν για τετοια codes γραφικων, πως αλλαζουν κλπ καποιο guide δλδ στα αγγλικα.
Οχι τπτ αλλο δλδ αλλα κανω και προπονηση εν'οψει του laptop που ολο λεω οτι θα το φτιαξω επιτελους με osX και ολο το αναβαλλω.:(

Χμ, φαινεται οτι μια απλη αλλαγη στο model διορθωσε το προβλημα.
Τεσταρω λιγο και κατι αλλα που θελω μιας που το χασαμε ουτως ή αλλως το βραδυ μπροστα στο PC και ενημερωνω αργοτερα..

Field Note #12 @Dejangs 2010-02-18

Με efi strings ολα ΟΚ ηταν, απλα δοκιμαζω κατι dsdt.aml που εχουν μεσα infos για graphics και το συστημα διαβαζει τα δικα τους και οχι τα efi που εχω χωσει στη bootlist . Αλλα οκ με μια αλλαγη στο .aml νομιζω οτι βρηκα πως αλλαζει αυτο οποτε ΟΚ
Επισης μια παρατηρηση ειναι οτι με graphics απο dsdt.aml το boot time μειωνεται κατι παραπανω απο 5-6 seconds !

Αυτο που παρατηρω ειναι οτι καποια dsdt.aml που δοκιμασα εμφανιζουν τους internal drivers ως external. Εβαλα ΙΟΑCHIBlockStorageInjector.kext και το διορθωσε αλλα θα ειχε ενδιαφερον να ηξερα τι ακριβως πρεπει να μπει και μεσα στο .aml για να μην χρειαζεται το συγκεκριμενο kext.

Field Note #13 @excos 2010-02-18

Φιλε Dejangs και βεβαια κερδιζεις σε ταχυτητα εαν μπορεις να εχεις ενα αρχειο DSDT.aml κομενο και ραμενο στα μετρα του συστηματο σου διοτι το πρωτο που διαβαζει ο chameleon κατα την εκκινηση του ειναι αυτο το αρχειο.

Για να μπορεις να τροποποιησεις οπως και να καταλαβεις την δομη του DSDT.aml και επισης την δομη του συστηματο σου πρεπει να αρχισεις να διαβαζεις ολιγον απο αυτο :

developer.apple.com/Mac/library/documentation/Darwin/Conceptual/KernelProgramming/About/About.html#//apple_ref/doc/uid/TP30000905-CH204-TPXREF101

δεν ξερω εαν εχει κανει καποια ερευνα για αυτα που περιγραφει το παραπανω,οπως και πρεπει να εστιασεις στο σημειο I/O kit οπου εκει κρυβεται ολη η γνωση για να καταφερεις την σωστη επικοινωνεια των υποσυστηματων σου - κατρας γραφικων - CPU - κλπ να λειτουργει χωρις προβληματα με τον mach kernel,με προεκταση βεβαια το DSDT.aml.

Field Note #14 @dantamis 2010-03-03

Γειά σας!

Με μεγάλη μου χαρά και έκπληξη ανακάλυψα σήμερα το βράδυ ότι υπάρχει Ελληνικό section στο InfiniteMac που αποτελείται απο ανθρώπους με πολύ μεράκι και όρεξη!

Πολλά ΕΥΧΑΡΙΣΤΩ και ΜΠΡΑΒΟ για την βοήθεια με τις πληροφορίες που μας δείνετε ώστε να μπορέσουμε να καταλάβουμε κ να λύσουμε πολλά από τα προβλήματα που εμφανίζονται καθημερινά στην προσπάθειά μας να μπορέσουμε να δουλέψουμε κι εμείς Mac στο pc μας..

Συγκεκριμένα ασχολούμαι 2 εβδομάδες πέριπου και έχοντας καταφέρει να δουλέυω SL 10.6.2 στο Desktop pc μπαίνω στην περισσότερο δύσκολη διαδικασία να τα δοκιμάσω και στο laptop μου (Fujitsu Siemens Xi 2428).

Ακολούθησα τον οδηγό που βρήκε ο φίλος SomniusX και μέσω linux εκανα extract το DSDT και κοίταξα για τυχόν λάθη που έπρεπε να διορθώσω και με διάφορες τροποποιήσεις να μπεί κι αυτό στη λίστα με τα DSDT για laptop που φτιάξατε. Τα αποτελέσματα που πηρα ηταν τα εξής:

-----------------------------------------------------------------------------------------------------------------
Intel ACPI Component Architecture
ASL Optimizing Compiler version 20061109 [May 16 2007]
Copyright (C) 2000 - 2006 Intel Corporation
Supports ACPI Specification Revision 3.0a

ASL Input: dsdt.dsl - 5571 lines, 191524 bytes, 1975 keywords
AML Output: dsdt.aml - 20750 bytes 636 named objects 1339 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 44 Optimizations
------------------------------------------------------------------------------------------------------------------

Θα ήθελα να ρωτήσω λοιπόν αν το ότι δεν βρέθηκε κανένα λάθος σημαίνει οτι θα μπορούσα να το χρησιμοποιήσω έτσι όπως είναι χωρίς να χρειαστεί να αλλάξω κάτι (εκτός φυσικά απο τα standar fixes όπως ενεργοποίηση του sleep mode κλπ...) ?

Ευχαριστώ.

Field Note #15 @excos 2010-03-05

Φιλε dantamis καλως ορισες στην παρεα,απο οτι γραφεις η εξαγωγη του DSDT που εχεις κανει δεν εχει καθολου Errors-Warnings-Remarks οποτε αφοβα μπορεις να το χρησιμοποιησεις στις εγκατασταση σου.

Για τα υπολοιπα που αναφερεις περι sleep και extra λειτουργιες που σου δινει το DSDT το δοκιμαζει πρωτα και μετα βλεπεις τι γινεται στο συστημα σου.

Για να σου αναφερω ενα παραδειγμα με το δικο μου μηχανακι Acer one ZG5 το DSDT που εξαγω εχει το ιδιο αποτελεσμα με το δικο σου.

Ενω λυνει σημαντικα προβληματα οπως η αναγνωριση cpu με 2 , παιζει το HPET κλπ.
στο sleep & hibernation δεν λειτουργει οχι λογο DSDT αλλα λογο sleepenabler.kext.

Field Note #16 @dantamis 2010-03-06

Πειραματίστηκα αρκετά με το DSDT (στο desktop pc) και το μόνο πρόβλημα που αντιμετωπίζω είναι ότι ενώ το έχω patch.αρει με το "cpus=1 fix" (όπου μάλιστα το σύγκρινα και με ενα ήδη έτοιμο DSDT και έχουν ακριβώς ίδιο αποτέλεσμα) δεν μπορώ με τίποτα να κάνω το σύστημα να δουλέψει χωρίς την χρήση του "cpus=1" ενώ πρέπει να ειμαι απο τις εξερέσεις γιατι εχω ίδια motherboard( P55M-UD2 ), επεξεργαστή ( i5 750 ) και ram ( 4 GB ) με πολλούς άλλους στους οποίους δουλεύει κανονικότατα και βγάζουν score στο geekbench πάνω από 6000 ενω εγώ ακριβώς τα μισά με το ίδιο hardware και όλα τα άλλα να δουλεύουν άψογα (VGA 1 GB όλες τις αναλύσεις, WiFi, Ethernet, Ήχος)!

Υπάρχει περίπτωση να φταίει κάποιο από τα .kext ή να πρέπει να κάνω κάποια extra ρύθμιση στο bios εκτός απο το "AHCI" και το Power σε "S3"?

Field Note #17 @excos 2010-03-06

Φιλε μου dantamis δεν εχεις δωσει ολοκληρωμενη τι λυση στο προβλημα για αυτο εξακολουθει να υπαρχει.

Εκτος του patch με το cpus=1 πρεπει να κανεις και patch το HPET ωστε να μπορει να σου δωσει και την ταχυτητα που εχεις αναφερει οτι εχεις δει σε αλλα ιδια συστηματα με το δικος σου.

Αυτο μπορεις ευκολα να το κανεις με το patch απο εδω :

media fire.com/download.php?xax3olynzmk

το οποιο παραγει DSDT και κανει patch με μιας το HPET το τρεχεις και βλεπεις εαν χρειαζεται να βαλεις και το patch για να σου δουλευουν ολλα τα core.

Υπαρχουν και kexts που βελτιωνουν την αποδοση του της cpu και στο μικρο μου Acer one ZG5 ειναι ο VoodooPowerMini αλλα δεν γνωριζω κατι σχετικο με την δικια σου cpu εαν υπαρχει περα απο το pacth του HPET.

Μπορεις να διαβασεις και τον οδηγο απο τον φιλο Eski για το how to :

Snow Leopard Totaly Vanilla
Vanilla σημαινει καθαροαιμος Mac χωρις patches γι΄αυτο θα χρησιμοποιησουμε το Snow Leopard Retail DVD απο USB για ευελιξια και φορητοτητα.
Εννοειται οτι κανει ολα τα Updates χωρις προβλημα..

Αλλα ας παρουμε τα πραματα απο την αρχη

Tι θα χρειαστουμε:
α. Snow Leoprad Retail DVD
β. Eνα USB τουλαχιστον 8GB 
γ. Μια εγκατασταση Leopard

1. Ειμαστε στο περιβαλον macOS οπου εχουμε το Snow Retail DVD ή image
2. Kατεβαζουμε το πακετο MacLoader_SL απ' αυτου και το κανουμε unzip (εγω το εκανα στο Desktop) οπου δημιουργει ενα φακελο MacLoader_SL
3. Μπαινουμε στο φακελο ανοιγουμε τον υποφακελο 1_DSDΤ_Patcher και τρεχουμε το 1_GetDSDT για να φτιαξει το αρχειο dstd-fixed.dsl το οποιο βρισκεται στο φακελο Tools εννοειται οτι παμε στο φακελο Tools και το ανοιγουμε με TextEdit
Aφου το ανοιξουμε ψαχνουμε να βρουμε την ενοτητα Device RTC0 (σε αλλα Μ/Β μπορει να ειναι Device RTC) οπου εκει διορθωνουμε εαν χρειαστει την τιμη ωστε να ειναι: 0x02 // Length (στο δικο μου ετσι ηταν) 
4. Αφου το σωσουμε τρεχουμε το 2_DSDTpatcher στο τερματικο παταμε Enter και ετσι εχουμε το αρχειο DSTD.aml
5. Bαζουμε το USB εγω το εκανα και erase απο Disk Utility και του εδωσα ονομα SL
Απο Disk Utility επιλεγουμε την ταμπελα Restore μετα στο Source ψαχνουμε για να του δωσουμε το SnowLeopard Retail image και στο Destination απλα τραβαμε και αφηνουμε το partition του USB (επισης φροντιζουμε να μην ειναι τσεκαρισμενο το erase destination) περιμενουμε να τελειωσει, θα παρει λιγη ωρα..
6. Παμε παλι στο φακελο MacLoader_SL και βαζουμε τους drivers που χρειαζομαστε για το συστημα μας στο φακελο KEXTs για το δικο μου Asus P5KPL-AM δε χρειαστηκα τιποτα το μονο που εβαλα ηταν drivers για PS2 (ποντικι-πληκτρολογιο) AppleACPIPS2Nub.kext και ApplePS2Controller.kext
7. Tρεχουμε το 2_SnowLeoInstaller και ακολοθουμε τα μυνηματα δηλ. Οταν μας ρωτησει του λεμε απλα το ονομα του USB partition (εγω αν καταλαβατε εδωσα SL)
8. Αντιγραφουμε καπου (στο ιδιο το USB) το φακελο MacLoader_SL 
9. Ειμαστε ετοιμοι για την εγκατασταση κανουμε boot απο το USB
10. Mε Disk Utility διαλεγουμε δισκο φτιαχνουμε partition αλλα προσεχουμε 
ο δισκος να ειναι GUID (το επολεγουμε απο options) εγω εφτιαξα ενα partition με ονομα Snow 
11. Oταν με το καλο τελειωσει η εγκατασταση κανουμε Boot με το USB παλι αλλα επιλεγουμε (με βελακια) το δισκο που μολις καναμε εγκαστασταση (εμενα ειναι το Snow)
12. Aφου επιτελους μπουμε στο συστημα (χρειαζεται να φτιαξουμε λογαριασμο συμπληρωνοντας καποια στοιχεια στην αρχη) χρειαζεται ενα τελευταιο βημα.
Απο το φακελο MacLoader_SL τρεχουμε το 3_MacLoader και ακολουθουμε τα βηματα που στην ουσια απλα μας ζηταει το ονομα του δισκου που εχει εγκατασταθει το Snow Leopard (εγω εδωσα Snow)

Αυτο ηταν στη επομενη επανεκινηση μπαινουμε στο καθαρο Snow Leopard.
Aλλα ας το βελτιωσουμε λιγο αρχιζοντας με την αναλυση οθονης .
Κατεβαζουμε αυτο
Αφου το αποσυπιεσουμε μπαινουμε στο φακελο Malakas και μετα στον υποφακελο Tools και τρεχουμε το EFIStudio διαλεγουμε τη καρτα οθονης που εχουμε (αν δε υπαρχει διαλεξτε μια παραπλησια) παταμε το Add Device και μετα 
write to com.apple.Boot.plist
Με την επομενη επανεκινηση θα μπορεσετε να φτιαξετε την αναλυση.

Tωρα οσοι απο εσας εχετε Motherboard P5KPL-AM –και οχι μονο- θα χρειαστειτε driver για την καρτα δικτυου που εχει (RTL8102E) οπου τον κατεβαζετε απλα και τον τρεχετε ειτε απο το site της realtec ειτε απο τα δικα μου αρχεια φακελος Realtec

Oσοι θελουν ακομα παραπανω μπορουν να ενεργοποιησουν το 64bit mode με το παρακατω τροπο:
#diskutil list (για να δουμε που στο διαλο ειναι το κρυφο partition EFI)
#mkdir /Volumes/EFI (δημιουργουμε ενα φακελο για να το μονταρουμε εκει)
#mount_hfs /dev/disk0s1 /Volumes/EFI
εκει διορθωνουμε το kernel string σβηνοντας το <string>arch=i386<string> (32bit) 
#umount -f /Volumes/EFI
#rm -f /Volumes/EFI

ΣΗΜΑΝΤΙΚΟ: Αν χρειαστει να ενημερωσουμε το Snow Leopard Boot USB (προσθεσουμε ή αφαιρεσουμε kexts, αλλαξουμε το DSDT.aml ωστε να το χρησιμοποιησουμε σε αλλο συστημα κλπ) απλα πηγαινουμε παλι στο φακελο MacLoader_SL και τρεχουμε το 3_Updater..

Θα χαρω πολυ να ακουσω και να λυσω αποριες..

Κων/νος Κωστ....της
Αποφοιτος 27ου Δημοτικου Σχολειου Περιστεριου
Σχεδον Καλως Πεντε
Field Note #18 @tangon 2010-06-22

Θα ήθελα να μοιραστώ μαζί σας κάποιες πληροφορίες που βρήκα για το DSDT και για το πώς μπορούμε να διορθώσουμε Errors ή Warnings που μας βγάζει μετά το Compile του DSDT.
Πάντως, όποιος άλλος γνωρίζει κάτι παραπάνω ή θέλει να διορθώσει τα γραφόμενά μου πολύ ευχαρίστως να το πράξει. Εδώ είμαστε για να ανταλλάξουμε απόψεις.

Για να δημιουργήσουμε κατ' αρχήν το δικό μας DSDT αρκεί να χρησιμοποιήσουμε το πρόγραμμα DSDT Patcher GUI όπου αυτό με τη σειρά του εξάγει το αρχείο dsdt.aml Αυτό το αρχείο (dsdt.aml) μπορούμε να το επεξεργαστούμε με το DSDTSE v1.4.3.

Ανοίγουμε το dsdt.aml με το DSDTSE και μας εμφανίζει το παράθυρο με όλες τις πληροφορίες του συστήματός μας (πλήθος επεξεργαστών, το RTC και άλλα στοιχεία του υπολογισή μας). Μπορούμε να ψάξουμε π.χ. για το CMOS reset που κάνει το 10.6 & 10.6.1 κατά την εκκίνηση το γνωστό RTC και από τις στάνταρ τιμές

Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (ATT0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x08, // Length   <------------------ εδώ
)
})
Name (ATT1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x04, // Length
)

να αλλάξουμε την αντίστοιχη τιμή σε

Device (RTC)
{
Name (_HID, EisaId ("PNP0B00"))
Name (ATT0, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x02, // Length   <------------------ εδώ
)
})
Name (ATT1, ResourceTemplate ()
{
IO (Decode16,
0x0070, // Range Minimum
0x0070, // Range Maximum
0x00, // Alignment
0x04, // Length
)

Το πρόγραμμα όμως δεν σταματάει εδώ. Μπορούμε να διορθώσουμε Errors ή Warnings που μας βγάζει μετά το Compile του DSDT. Σαν παράδειγμα παίρνω το δικό μου DSDT που μετά το Compile μου βγάζει το παρακάτω Warning :

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090730 [Aug 12 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0

/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl   397:     Method (_WAK, 1, NotSerialized)
Warning  1080 -                                    Reserved method must return a value ^  (_WAK) 

ASL Input:  /Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 5915 lines, 192473 bytes, 2235 keywords
AML Output: /Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 18864 bytes, 673 named objects, 1562 executable opcodes

Compilation complete. 0 Errors, 1 Warnings, 0 Remarks, 31 Optimizations

Το Warnings μας λέει ότι υπάρχει πρόβλημα στην γραμμή 397: Method (_WAK, 1, NotSerialized)

Τώρα πάμε στο δεξί παράθυρο του προγράμματος και στο πεδίο ACPI search και στο Search γράφουμε _WAK και μετά πατάμε Search

Το πρόγραμμα μας βρίσκει το Method (_WAK, 1, NotSerialized) που βρίσκεται στη 397 γραμμή, και κάτω από την επικεφαλίδα τα εξής:

Method (_WAK, 1, NotSerialized)
    {
        Store (0xFF, DBG1)
        If (LEqual (Arg0, 0x03))
        {
            Store (0x88, SCP)
        }

        Notify (\_SB.PCI0.PX40.UAR1, Zero)
        If (OSFL)
        {
            Notify (\_SB.PWRB, 0x02)
        }
        Else
        {
            If (LEqual (RTCW, Zero))
            {
                Notify (\_SB.PWRB, 0x02)
            }
        }

        Notify (\_SB.PCI0.USB0, Zero)
        Notify (\_SB.PCI0.USB1, Zero)
        Notify (\_SB.PCI0.USB2, Zero)
        Notify (\_SB.PCI0.USB3, Zero)
        }

Αν πάμε στο μενού του προγράμματος που βρίσκεται αριστερά του παραθύρου θα δούμε το DSDT fixes και το DSDT hacks. Το καθένα από τα δύο μενού μας δίνει, το ένα τον τρόπο να κάνουμε fix το δικό μας DSDT ενώ το άλλο πώς θα κάνουμε hack πχ την κάρτα ήχου ή γραφικών του υπολογιστή μας (εγώ πάντως δεν έχω προσπαθήσει ακόμα να κάνω hack την κάρτα ήχου ή την κάρτα γραφικών από εδώ)

Για να γυρίσουμε στο παράδειγμά μας πατώντας το DSDT fixes πηγαίνουμε στο: must return a value (_WAK).dsl όπου μας βγάζει το παρακάτω:

dsdt.dsl   163:     Method (_WAK, 1, NotSerialized)
Warning  2026 -                ^ Reserved method must return a value (_WAK)

At the end of the _WAK method, this must be added:

Return(Package(0x02){Zero, Zero})


Example:


Method (_WAK, 1, NotSerialized)
    {
        P8XH (One, 0xAB)
        If (LOr (LEqual (Arg0, 0x03), LEqual (Arg0, 0x04)))
        {
            If (And (CFGD, 0x01000000))
            {
                If (LAnd (And (CFGD, 0xF0), LEqual (OSYS, 0x07D1)))
                {
                    TRAP (0x3D)
                }
            }
        }

        If (LEqual (RP2D, Zero))
        {
            Notify (\_SB.PCI0.RP02, Zero)
        }

        If (LEqual (Arg0, 0x03)) {}
        If (LEqual (Arg0, 0x04))
        {
            \_SB.PCI0.LPCB.EC.SELE ()
        }

        P8XH (Zero, 0xCD)

        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

όπου λίγο πολύ μας λέει ότι για να εξαλείψουμε το Warning αυτό αρκεί να κάνουμε copy/paste τα

Return (Package (0x02)
{
Zero,
Zero
})
}

στο σημείο που μας υποδεικνύει

Στο δικό μου γίνεται έτσι (με τα κόκκινα στοιχεία είναι αυτά που πρόσθεσα):

    Method (_WAK, 1, NotSerialized)
    {
        Store (0xFF, DBG1)
        If (LEqual (Arg0, 0x03))
        {
            Store (0x88, SCP)
        }

        Notify (\_SB.PCI0.PX40.UAR1, Zero)
        If (OSFL)
        {
            Notify (\_SB.PWRB, 0x02)
        }
        Else
        {
            If (LEqual (RTCW, Zero))
            {
                Notify (\_SB.PWRB, 0x02)
            }
        }

        Notify (\_SB.PCI0.USB0, Zero)
        Notify (\_SB.PCI0.USB1, Zero)
        Notify (\_SB.PCI0.USB2, Zero)
        Notify (\_SB.PCI0.USB3, Zero)
        Return (Package (0x02)
        {
            Zero, 
            Zero
        })
    }

Μετά από αυτό ξανακάνουμε Compile DSDT και το αποτέλεσμα είναι το παρακάτω:

Intel ACPI Component Architecture
ASL Optimizing Compiler version 20090730 [Aug 12 2009]
Copyright (C) 2000 - 2009 Intel Corporation
Supports ACPI Specification Revision 4.0 

ASL Input:  /Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 5920 lines, 192565 bytes, 2236 keywords
AML Output: /Library/Application Support/EvOSoftware/DSDT/DSDTFiles/./dsdt.aml - 18870 bytes, 673 named objects, 1563 executable opcodes

Compilation complete. 0 Errors, 0 Warnings, 0 Remarks, 31 Optimizations

Όπως παρατηρούμε το Warnings που υπήρχε διορθώθηκε.
Για να διαπιστώσω ότι όλα πάνε καλά έκανα επανεκκίνηση όπου ήταν κανονική και το σύστημα "ανέβηκε" όπως πάντα σωστά και σταθερά.

Θα πρέπει να επισημάνω ότι το όλο εγχείρημα έγινε στο δικό μου DSDT που δημιούργησα από το δικό μου μηχάνημα. Πιστεύω να λειτουργήσει και σε όποιον προσπαθήσει στο δικό του DSDT.

Περισσότερες πληροφορίες καθώς και οπτικοποιημένες οι λειτουργίες του προγράμματος DSDTSE v1.4.3 στην διεύθυνση:

http://www.youtube.com/watch?v=EOyu8sF1YH4&feature=… ↗

Field Note #19 @excos 2010-06-23

Για ολα φιλε tangon εισαι οκ για το WAK, εκτος απο το RTC το οποιο η τιμη 2 ειναι μονο για το 10.6 & 10.6.1 απο το 10.6.2 & περα η τιμη 8 δεν πειραζει πουθενα το dsdt οπως για την φορτωση του απο chameleon.

Field Note #20 @tangon 2010-06-24

Σε αυτό που λες excos, για το RTC, ναι το έχω διαβάσει και εγώ και έχεις δίκιο, αλλά και στο 10.6.2 αλλά και σε 10.6.3 μετά την αναβάθμιση που έκανα, όταν το άλλαξα σε "8" στο δικό μου μηχάνημα, μου έκανε το CMOS reset.

Γι' αυτό το άλλαξα πάλι σε "2" αλλά πάντα μιλάω για το δικό μου μηχάνημα.

Δεν ξέρω αν άλλος έχει παρατηρήσει κάτι διαφορετικό. Πιθανόν επειδή έχω κάνει εγκατάσταση την διανομή SnowOsx 10.6.2 να συμπεριφέρεται διαφορετικά. Δεν ξέρω... τί να πω!

Θα κάνω όμως και μια ακόμα δοκιμή τώρα που έκανα update σε 10.6.4. Με έβαλες σε σκέψεις!

Field Note #21 @tangon 2010-06-24

Επανέρχομαι στο προηγούμενο θέμα με το RTC. Και στο 10.6.4 σε μένα κάνει CMOS reset.

Η διανομή που έχω χρησιμοποιήσει είναι η Snow OX v3.6 10.6.2 (vanilla installation) με διαδοχικές αναβαθμίσεις (από apple official) σε 10.6.3 και 10.6.4

Field Note #22 @odin1937 2011-04-27

παίδες βρήκα ένα dsdt fix για το firewire μου (VT6306/7/8 [Fire II(M)] IEEE 1394) και έλυσα τα firewire errors , όποιος ενδιαφέρεται , να το κάνω ποστ. :-d

Corroborated & Participated: @Xan21
Sources & Contributor Provenance (8 credited usernames · Thread #5143)
UsernameDossier ContributionDispatchesActive Window
@excosCore Contributor112010-01-07 → 2010-06-23
@SomniusXPrimary Author92010-01-07 → 2010-06-01
@LaysCore Contributor32010-01-12
@tangonCore Contributor32010-06-22 → 2010-06-24
@DejangsContributor22010-02-17 → 2010-02-18
@dantamisContributor22010-03-03 → 2010-03-06
@Xan21Contributor12010-06-01
@odin1937Contributor12011-04-27