I don't have a X58 mobo but it would be something like this:
Add this to HUB0
Device (FRWR) {
Name (_ADR, 0x00070000)
Name (_GPE, 0x1A)
Method (_DSM, 4, NotSerialized){
Store (Package (0x02){
"built-in", Buffer (One){0x01},
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
Add this to _GPE:
Method (_L1A, 0, NotSerialized) {
Notify (\_SB.PCI0.HUB0.FRWR, Zero)
Notify (\_SB.PWRB, 0x02)
}
Note that this will not fix hotplug issues. To mount a Firewire drive you'll have to either boot with the drive plugged in and turned on. Or sleep/wake your rig with the Firewire drive plugged in.
Thanks, I was following your FW topic at http://www.insanelym...howtopic=196359 and tried a few things in the DSDT to not have the `FireWire runtime power conservation disabled. (2)' message, but I was never able to retain FW hot swap.
I,ve managed to fix hotplug issues with Firewire it was F...ING brain damage.
Now my firewire ALWAYS Hot Plug

This is a temporary solution .
There are the problem with IRQ routing in bios on EVERY Gigabyte board ... and it is not easy to fix with DSDT "IRQ routing override"
For X58 boards Intel Corporation X58 I/O Hub to ESI Port [8086:3405] causing lag !
On boot for some unknown reason "ESI" gets IRQ from APIC and the same IRQ uses
USB Highspeed bus (0x001D0007) -> USB2 EHCI Controller #1 [8086:3a3a] and also
USB 1.0 bus (0x001D0001) -> USB UHCI Controller #1 [8086:3a34] and also
Firewire gets the same IRQ
In normal conditions "ESI" MUST NOT HAVE shared IRQ !
because of that it steals "IRQ" from USB2 EHCI Controller #1
...
make LSPCI on boot and you will see that USB2 EHCI does not have IRQ assigned !!!
and "ESI" have IRQ !
BUT IOREG shows that USB2 EHCI HAVE IRQ !!!
system goes to strange infinite loop between USB2 EHCI - USB UHCI - ESI -firewire...
and just IGNORES any events from FIREWIRE !
If you sleep and wake your PC and looks in ioreg it will show you that nothing changed BUT
if you make LSPCI you will see that USB2 EHCI now HAVE IRQ
and "ESI" loose his IRQ !
Now SYSTEM can see events from FIREWIRE BUT you will get another LAG
Video card output gets jitter ! It's clearly noticable when you move window or play QT movie...
because of that loop between USB2 EHCI - USB UHCI - ESI -firewire
............................
Solution would be to deny "ESI" to get IRQ on boot BUT i did not found how to make it...
Sad BUT...
I decided to DISABLE USB2 EHCI that system don't see it at all!
and it WORKS!
side effect you will lose one EHCI bus but that not so important becase it is FRONT BUS (on gigabyte boards) and usually all people put they USB 2 Highspeed devices on back panel and they are rooted by system to
USB Highspeed bus (0x001A0007) -> USB2 EHCI Controller #2 [8086:3a3c]
And on real Macs Front panel is USB2 normal speed bus
So not so big loss !
...........
The procedure of disabling
USB Highspeed bus (0x001D0007) -> USB2 EHCI Controller #1 [8086:3a3a]
is very simple!
"THe KiNG" wrote about it here :
Fd—function Disable Register, How to use Function Disable Register
http://www.projectos...p?showtopic=851P.S.1
....
Name (_ADR, 0x000X0000)
must be like you see it in IOREG where X is number
for me it Name (_ADR, 0x000
60000)
and in HUB0 in method _PRT must be corresponding IRQ entry for this adress or you will see message in
System Profiler in tab FireWire -> FireWire Bus: Warning: Unable to list FireWire devices
....
P.S.2
....
I will post CODE (for disabling USB2 EHCI Controller #1 ) a bit later because my dsdt now is a real mess!!!
and I want to upgrade my board bios to F11 version (GA-EX58-EXTREME)
....
P.S.3
....
REMEMBER this is a temporary solution .
And sorry for my English
....