Contribute
Register

Digedesign (fail) Mbox2 and hackintosh

Status
Not open for further replies.
Hi, the process to get your raw DSDT is described near the end of MacMans 1st post at:
http://www.tonymacx86.com/viewtopic.php?f=14&t=4463
It's really easy, just need to download & make Ubuntu live CD to boot with.

To convert (decompile) the .aml to .dsl to then use a text editor (eg: TextWrangler) to make changes, there's various pre-packaged "iasl" solutions, although purists say to compile your own version of Intel's iasl tool from source code.
I just use iASLMe app from:
http://www.insanelymac.com/forum/index.php?showtopic=189272
Use this same app to convert edited .dsl to a new DSDT.aml. Converting is easy, just drag DSDT file onto iASLMe app icon.

The harder part are the edits! Although, you may be able to persuade others here or forum admins to make the edits for your board, by uploading the raw .aml to the site:
http://www.tonymacx86.com/viewtopic.php?f=14&t=4462 (I think that's the link).

But can be fun to do your own edits..plus it's faster to fix issues & experiment than wait for others to re-do and re-post. The edits guide by MacMan is a great place to start:
http://macmanx86.blogspot.com/


From looking at the (perhaps not correct) DSDT for your MB I found on this site, I reckon the bits to look at start around line 4780 and are:

USBE and bit later the EUSB
Add:
Code:
               Method (_DSM, 4, NotSerialized)
                {
                    Store (Package (0x08)
                        {
                            "AAPL,current-available",
                            0x05DC,
                            "AAPL,current-extra",
                            0x044C,
                            "AAPL,current-in-sleep",
                            0x09C4,
                            "device-id",
                            Buffer (0x04)
                            {
                                0x3A, 0x3A, 0x00, 0x00
                            }
                        }, Local0)
                    DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                    Return (Local0)
                }

And for USB1 to 7 (although not all may need it)
Add:
Code:
                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)
                }

If I had to guess, I'd think that perhaps just the USB is going to make a difference, but probably safer to mod the E/USB/E also.


In any case, you MUST also add a generic DTGP section to your DSDT, can go near the start of the DSDT, say before the Scope (_SB) section.
Code:
    Method (DTGP, 5, NotSerialized)
    {
        If (LEqual (Arg0, Buffer (0x10)
                {
                    /* 0000 */    0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44, 
                    /* 0008 */    0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
                }))
        {
            If (LEqual (Arg1, One))
            {
                If (LEqual (Arg2, Zero))
                {
                    Store (Buffer (One)
                        {
                            0x03
                        }, Arg4)
                    Return (One)
                }

                If (LEqual (Arg2, One))
                {
                    Return (One)
                }
            }
        }

        Store (Buffer (One)
            {
                0x00
            }, Arg4)
        Return (Zero)
    }

The other edits on MacMan's blog are good to have, where needed (or even where not obviously needed, such as the IRQ stuff). Although if your board is working fine for you now, then I guess these can be ignored for now and just focus on trying out USB stuff in the hope that none of these others has any impact on this problem!

Downloading & decompiling one of Tony's/MacMans pre-editted DSDTs for another MB might be a nice idea, then you can see how and where the edits were made; should help even though the general "code" in the Gigabyte DSDT will often be different.
 
Wow I really appreciate all the research and help you provided. I am in atlantic city for the week, will try this stuff as soon as i get back to my hackintosh on thursday :) Cheers!
 
Wow, I am having similar problems but with my iLok for ProTools. I made a forum post here http://www.tonymacx86.com/viewtopic.php?f=7&t=4473&p=31869#p31869

I have the EXACT same computer as Zilos and am going to try this same method to try and fix my issues. (my audio interface may have the same problem as well, I just haven't gotten that far since ProTools looks for the iLok first)

Thats a lot of good research Humph! And thanks for starting this post Zilos!

~ Midsyde
 
For the record, I am running an Mbox2 and Protools 8 flawlessly. My system is based on a Gigabyte GA-EP45C-UD3R motherboard however and not a P55M. That said, I believe what your issue might be is the DSDT fix to make your USB appear builtin.
 
So I have the dsdt.aml off the computer nu using the Ubuntu method. I have also converted it to .dsl and am ready to insert the USB codes..

My question...

Using the codes above given by Humph. When inserting the USB codes is there a specific spot those codes are supposed to go underneath USBE and EUSB? I was thinking of inserting the codes right underneath.

Also are those codes taking place of other lines of code or just being inserted into the mix?

I apologize if these are "noob" questions. I have never edited DSDT before.

And Zilos, since we have identical setups I will give you the edited DSDT once I verify whether or not it fixed the problem.

Thanks for the help guys!

~ Midsyde
 
So I took and edited the DSDT the way I think it was supposed to be edited...but I can't seem to figure out how to put it back into the system. Everytime i drop the now edited DSDT.dsl into iASLme it errors...do I not use this program to turn it back into .aml format?

Enclosed I have the original DSDT.dsl on my computer as well as DSDTedited.dsl which is the one I edited (I hope correctly). If someone would be so kind as to check my work. If it's correct I will post the vanilla under DSDT for others to use.

Thanks again for all the help!

~ Midsyde
 

Attachments

  • dsdt.dsl
    213.7 KB · Views: 144
  • dsdtEdited.dsl
    219.3 KB · Views: 121
Hi Midsyde,

I suspect that the errors was due to where you had located the initial DTGP method at the start of the file. Probably should not have put it before the 1st curly bracket {.

So I grabbed your dsdts posted above. Here's an newly edited dsl and a compiled aml.
I see you also changed names from USB (nice). Please note that I just left them as USB0-6 in this version, to save time, just did the USB related edits and the DTGP.

So, anyway, this one compiled OK; but note also that I am using version of iasl from March, as works OK for me, but is not the latest.

2010-08-17-145514.zip

P.S. In an ideal world, you'd like to edit DSDT to remove all warnings, but generally should work OK with these types of warning.
 

Attachments

  • 2010-08-17-145514.zip
    29.3 KB · Views: 72
Thank you so much! I checked over the file and I see where I flubbed up. Thanks for making it correct!

I just have one final question...How do I put the .aml file back into the computer? up until now I was working with a vanilla DSDT since I used the Multibeast + iBoot method.

Do I have to put it in a specific folder or do I need a specific app to reinstall it? I tried googling it and found a site that said to place it in the root folder but that doesn't seem right. I feeling like userDSDT in Multibeast is the answer, but it seems like it was supposed to be used during initial installation, not post-install.

Thanks again Humph!

~ Midsyde
 
The DSST.aml file needs to live inside the /Extra folder.

Two approaches...

1) Use Multibeast "User DSDT" as you say...(just follow the instructions in Multibeast), and it'll copy and install DSDT correctly from your desktop into /Extra. Not used that personally, but I believe you need to "redo" (re-select) in Multibeast any other kexts for audio, video, LAN etc at the same time, that you may have installed previously (As Multibeast will I think totally recreate the /Extra folder contents.)*

2) Manually. Either:
a) Drag and drop file using Finder, should get asked for admin password.
(You'll need to "install" the ShowAllFiles app from Multibeast, as /Extra is hidden from Finder normally). Or:

b) Use terminal. Should be able to just copy it over using cp command and it'll get the right permissions etc. But you can set those also in terminal if any doubt/worries, using the chmod and chown commands.
Assume you have DSDT.aml on your desktop:
Code:
sudo cp ~/Desktop/DSDT.aml /Extra/DSDT.aml

sudo chmod 755 /Extra/DSDT.aml
sudo chown 0:0 /Extra/DSDT.aml

On next boot, Chameleon should find the DSDT.aml file, and use that to "replace" what it would otherwise have gotten from BIOS. So, everything that did work before should also be OK, despite there being other DSDT mods that could be done later to make a "nicer" solution. (Like the IRQ stuff).

* Using "User DSDT" will automatically install a slightly different set of kexts than when using EasyBeast w/o a DSDT, especially the RTC fix kext. I re-checked the "raw" DSDT, and as far as I can see, you should be OK on stuff like the dreaded CMOS reset thing, without needing additional DSDT edits at this time. But if you see any weird behaviors, it'll most likely be due to "missing" DSDT edits. But, I think it'll be OK. Clearly, if you manually copy over the DSDT, then you are not changing any kexts, so in one sense, this is less likely to cause problems.
 
WOW,

you are the man Humph! Thanks for all the help!

I believe the terminal method seems to be the best approach. As both Zilos and I have stated our machines work PERFECT minus the usb issue, so taking a chance of deleted kexts or screwing up the system doesn't seem like a good option.

I will let you know if the problem is solved after DSDT install.

Thanks again Humph! You rock!

~ Midsyde
 
Status
Not open for further replies.
Back
Top