- Joined
- Mar 27, 2010
- Messages
- 890
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:
And for USB1 to 7 (although not all may need it)
Add:
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.
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.
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.