PDA

View Full Version : The DSDT (.dsl) Thread


SomniusX
01-07-2010, 08:15 PM
-------------------------
This thread available in English using online translator (google translate)
by following this link
http://bit.ly/8djPhV
-------------------------

Λοιπόν,

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

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

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

Αρχεία 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..

http://www.multiupload.com/AU8E1XLH4Lhttp://i50.tinypic.com/111rnmb.jpghttp://i46.tinypic.com/2ymexon.jpghttp://i46.tinypic.com/ip6oli.jpg
http://i50.tinypic.com/245f0k2.jpghttp://i48.tinypic.com/24fmhw5.jpghttp://i47.tinypic.com/2ih11xe.jpg
http://i50.tinypic.com/vh5etl.jpghttp://i50.tinypic.com/2i0cgls.jpg (http://www.anonym.to/?http://www.multiupload.com/AU8E1XLH4L)

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

http://hellasproject.com/files/dsdts_p1.rar

excos
01-07-2010, 08:57 PM
Και μερικα ακρονυμια ειναι :
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???)

SomniusX
01-07-2010, 08:58 PM
Τα wak == είναι ?

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

SomniusX
01-07-2010, 09:06 PM
Επίσης εδώ (http://ubuntuforums.org/showthread.php?t=1036051) βρήκα έναν τρόπο με π.χ. ένα 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: http://forums.opensuse.org/how-faq-read-only/unreviewed-how-faq/386054-how-fix-your-buggy-dsdt.html It is the catalyst behind this how to. The process is a little different for Debian based operating systems. This how to will show you how to do it with Mint/Ubuntu.

WARNING: This might mess up your operating system. Even if you have zero errors after fixing the DSDT, it may still cause you to not be able to boot your OS. It will not harm your PC or hardware.

Before trying this tutorial, try updating your BIOS to fix bugs first. This is a last resort to try and manually fix DSDT related bugs.

The first thing we need to do is install the Intel DSDT compiler. Open a terminal and run sudo apt-get install iaslThen we need to get a copy of your current DSDT and save it in your home folder with this command sudo cat /proc/acpi/dsdt > dsdt.datThen we will disassemble it with iasl with this command iasl -d dsdt.dat You should now have a file called dsdt.dsl in your home folder. This is the file you will be editing. Once you are done making changes, we will use it to make a new DSDT file. The next step is to use iasl to recompile the dsdt.dsl file to see any errors/warnings/optimizations with this command. Replace <yourusername> with your username.
iasl -tc /home/<yourusername>/dsdt.dsl This will show you the output of the recompiling process. At this point, you can use the output to find errors in the DSDT and attempt to fix them by editing the dsdt.dsl file with your favorite text editor. Go into the preferences for your text editor and turn on "line numbering". Then open dsdt.dsl with your text editor. You can use the output of the last command to find the errors by their line number. The following is an example of a common error. "dsdt.dsl 349" means the error is on line 349 of the dsdt.dsl file. Go to that line in your dsdt.dsl file with the text editor to fix it and save.

dsdt.dsl 349: Method (\_WAK, 1, NotSerialized)
Warning 1079 - ^ Reserved method must return a value (_WAK)Each time you make a change in the dsdt.dsl file, be sure to save it, and then recompile to see the new output with iasl -tc /home/<yourusername>/dsdt.dsl This will recompile it with the new changes and give you a new output to see if things look better :D Below are several links with common DSDT errors and their fixes.

http://forums.opensuse.org/how-faq-read-only/unreviewed-how-faq/386054-how-fix-your-buggy-dsdt.html
https://wiki.edubuntu.org/LaptopTestingTeam/HPdv5z
http://forums.opensuse.org/archives/sf-archives/archives-tips-tricks-tweaks/320199-howto-fix-your-buggy-dsdt.html
http://forums.gentoo.org/viewtopic.php?t=122145

You might get lucky and find one already fixed for your make/model here: http://acpi.sourceforge.net/dsdt/view.php If so then you can skip to the last two commands.

Once you have successfully edited the dsdt.dsl file, we should have a dsdt.aml in your home folder. This was the goal of the how to.

WARNING: The commands up till this point have not made any changes to your system. You can simply delete the files that have been created. After the last two commands, you will be using a custom DSDT at boot. This is the point of no return.

These commands will rename the dsdt.aml file and copy it to your /etc/initramfs-tools folder. Then we will update the initrd image to include the DSDT override at boot. The very last command will update the initrd image. You need to replace "kernel version" with your kernel version. You can see it by running uname -r in a terminal.

sudo cp dsdt.aml /etc/initramfs-tools/DSDT.amlsudo update-initramfs -u -k kernel-versionNow cross your fingers and reboot To see if it stuck, you can look in your dmesg output. Open a terminal and run dmesg > /home/yourusername/Desktop/dmesg This will put your dmesg output into a text file on your desktop. You should see a line similar to this:

[ 0.020495] ACPI: Checking initramfs for custom DSDT
[ 0.353464] ACPI: Found DSDT in DSDT.aml.
[ 0.353470] ACPI: Override [DSDT- MCP67], this is unsafe: tainting kernel
[ 0.353478] ACPI: Table DSDT replaced by host OS
[ 0.353482] ACPI: DSDT 00000000, 7CB3 (r1 NVIDIA MCP67 6040000 INTL 20061109)
[ 0.353487] ACPI: DSDT override uses original SSDTs unless "acpi_no_auto_ssdt"
Places to check before and after are: dmesg output and /proc/acpi. I would especially check /proc/acpi/fan and /proc/acpi/thermal_zone to see if they are populated after this tutorial if they weren't before. Another trick I've learned during this process is to specify the operating system at boot. More about this is explained in the links I provided. I found that by adding acpi_osi="Linux" to the boot options, the operating system even saw my hardware differently at boot. This seems to be very affective on HP laptops with Vista preinstalled. I outlined these steps here: http://www.linuxmint.com/forum/viewtopic.php?f=60&t=18222 The DSDT code is very hard to read, and I myself don't understand all of it. I left my HP desktop with 0 errors, and 4 warnings. Everything works, so I left the warnings. My laptop DSDT is perfect. It is a HP dv6815nr if someone with the same model wants to use my custom DSDT file. DSDT files are PC specific. Do not try using a DSDT from another PC unless it has the same hardware as yours.

EDIT: To remove a custom DSDT, delete the DSDT.aml file with sudo rm /etc/initramfs-tools/DSDT.aml and reupdate the init image with sudo update-initramfs -u -k kernel-version This will revert your system back to the original state after a reboot.

EDIT: This will not work with kernels that are still in development. The patches that allow the custom DSDT are not included until the kernel is released as "stable".

UPDATE: The kernel dev's will no longer use the patch to enable custom DSDT files for Karmic 9.10 and beyond. Jaunty 9.04 is the last version this will work on. You are urged to file a bug report for DSDT errors.

excos
01-07-2010, 09:21 PM
Παραδειγματα για 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
}


..................κλπ κλπ

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

excos
01-08-2010, 09:26 PM
Λοιπον μιας και εχω χρονο σημερα το βραδυ θα κανω καποια αναφορα στα 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 :P

Blood κατεβασε το δικο μου
http://rapidshare.com/files/332566156/DSDT.aml.zip.html
που δεν εχει καθολου error σε τιποτα και κοιτα μπας και φτιαξεις και τα δικα σου error στο Acer σου.
Τσεκαρα πως το WAK 1, LID 0 στο μικρο μου παιζει μια χαρα συγκρινομενο με το macbook μου, οπως και το HPET.:D
Το μονο bug που εχω ειναι το deep sleep και δεν εχω καταφερει να το λυσω εως τωρα.:(

Λοιπον κατι καινουργιο περι RTC που ανακαλυψα ειναι οτι οι τιμες που αλλαζαμε σε :
0x02, // Length <---------εδω

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

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

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

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

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

Lays
01-12-2010, 06:45 PM
Παιδια χρεαζομαι και εγω ενα τετιο για το snow που θα βαλω!
motherboard
MS-7336

ευχαριστω!

excos
01-12-2010, 06:56 PM
Κανε login στο http://hellasproject.com και κατεβασε το DSDT simpler editor V 1.3.6 εχει τα παντα για να φτιαξεις dsdt και στο 10.5 οπου μπορεις να το εχεις και για το 10.6.

Lays
01-12-2010, 07:34 PM
δηλαδη το κατεβαζω και τι πρεπει να κανω
επισις εκανα install το snow το ξεκεινησα με το bootloader και μπηκα κανονικα εβαλα στοιχια στην επανακινηση μου πεταει μηνημα κανε ρεσταρτ εκι που δειχνει το μηλο και δεν κανει τπτ θα φτει λογικα το dsdt?

excos
01-12-2010, 07:52 PM
kανε boot με -v για να δεις που σταματα η εκκινηση.
Γραφε στο threat Αναβαθμιση σε Snow Leopard τι προβλημα εχεις για να μην γεμιζουμε αυτο.

SomniusX
01-12-2010, 07:59 PM
Και για να είμαστε πιο σαφής, το thread Αναβάθμιση σε Snow Leopard θα το βρείς εδώ!

http://www.infinitemac.com/f83/913-957-945-946-940-952-956-953-t5097/

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

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

Lays
01-12-2010, 08:00 PM
edit : το μήνυμα μπορείτε να το βρείτε εδώ (http://www.infinitemac.com/f83/913-957-945-946-940-952-956-953-t5097/page2.html#post42893)

http://www.infinitemac.com/f83/913-957-945-946-940-952-956-953-t5097/page2.html#post42893

excos
01-12-2010, 09:45 PM
Μετα απο τα πολλα εφτιαξα και το sleep στο μικρο μου.:D

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

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 πλεον ειναι τελειο :D

SomniusX
01-12-2010, 10:10 PM
ΘΑ ΣΕ ΦΑΩ ΡΕΕ!!!

Θέλω κι εγώ!! :p

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

excos
01-12-2010, 10:14 PM
Οτι θες φιλε και για το δικο σου dsdt να το φτιαξουμε.
Για τους αλλους αστο γιατι ειναι τελειος αμπαλοι!!!!!!!!!!!!!! θα με ζαλισουν.
Αμα θες καντο εσυ να τους μπεις και στο ματι.

SomniusX
01-12-2010, 10:16 PM
Μέσα!!!!!

Θα τα πούμε!

Dejangs
02-17-2010, 08:04 PM
Παιδες ποσταρω σε αυτο το thread μιας που μετα απο συζητηση με τον φιλο excos σχετικα με το ενα και μοναδικο ψιλο-προβλημα (νομιζω) που αντιμετωπιζω στο desktop μου πλεον (το οτι δεν δουλευει το automatic sleep δλδ) αποφασισα να δω τι ακριβως παιζει με τα dsdt files.

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

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

thx ;)

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

SomniusX
02-18-2010, 07:47 AM
Πάντως για την κάρτα γραφικών εγώ με EFI strings την πέρασα από το OSx86 Tools και παίζουν όλα κομπλε στην nVidia GTS 250 με 1gb ram..

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


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

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

Dejangs
02-18-2010, 12:18 PM
Με 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.

excos
02-18-2010, 06:02 PM
Φιλε Dejangs και βεβαια κερδιζεις σε ταχυτητα εαν μπορεις να εχεις ενα αρχειο DSDT.aml κομενο και ραμενο στα μετρα του συστηματο σου διοτι το πρωτο που διαβαζει ο chameleon κατα την εκκινηση του ειναι αυτο το αρχειο.

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

http://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.

dantamis
03-03-2010, 11:35 PM
Γειά σας!

Με μεγάλη μου χαρά και έκπληξη ανακάλυψα σήμερα το βράδυ ότι υπάρχει Ελληνικό 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 κλπ...) ?

Ευχαριστώ.

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

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

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

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

dantamis
03-06-2010, 10:59 AM
Πειραματίστηκα αρκετά με το 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"??? :-/

excos
03-06-2010, 02:45 PM
Φιλε μου dantamis δεν εχεις δωσει ολοκληρωμενη τι λυση στο προβλημα για αυτο εξακολουθει να υπαρχει.

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

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

http://www.mediafire.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ου Δημοτικου Σχολειου Περιστεριου
Σχεδον Καλως Πεντε

Xan21
06-01-2010, 07:35 PM
how about the acer aspire 5740G?? (6979)

SomniusX
06-01-2010, 07:55 PM
@Xan21

if I find anything I will post it here mate!!!

tangon
06-22-2010, 07:19 PM
Θα ήθελα να μοιραστώ μαζί σας κάποιες πληροφορίες που βρήκα για το 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=player_embedded

excos
06-23-2010, 09:14 PM
Για ολα φιλε tangon εισαι οκ για το WAK, εκτος απο το RTC το οποιο η τιμη 2 ειναι μονο για το 10.6 & 10.6.1 απο το 10.6.2 & περα η τιμη 8 δεν πειραζει πουθενα το dsdt οπως για την φορτωση του απο chameleon.

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

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

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

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

tangon
06-24-2010, 04:34 PM
Επανέρχομαι στο προηγούμενο θέμα με το RTC. Και στο 10.6.4 σε μένα κάνει CMOS reset.

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

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