scrax Posted February 13, 2010 Share Posted February 13, 2010 I've done a lot of test in reducing my dsdt and i found that my firewire now "works" with otplug after sleep also without any code in dsdt, i wasn't avare of this thing because when i first installed my hack ii wasn't able to sleep and so I was thinking that the firewire just don't work at all. Now i can use it without error on boot and with hotplug working only with some device and others after sleep, using this code: I'll try your new suggestion to add _PWR and post the results EDIT:sleep not working after some test... To have sleep full working my actual dsdt is this: Device (PCIB) {Name (_ADR, 0x001E0000) Name (_PRT, Package (0x09) { Package (0x04) {0x0001FFFF,Zero,Zero,0x11}, Package (0x04) {0x0001FFFF, One,Zero,0x12}, Package (0x04) {0x0001FFFF,0x02,Zero,0x13}, Package (0x04) {0x0001FFFF,0x03,Zero,0x10}, Package (0x04) {0x0002FFFF,Zero,Zero,0x12}, Package (0x04) {0x0002FFFF, One,Zero,0x13}, Package (0x04) {0x0002FFFF,0x02,Zero,0x10}, Package (0x04) {0x0002FFFF,0x03,Zero,0x11}, Package (0x04) {0x0003FFFF,Zero,Zero,0x10} }) Name (_PRW, Package (0x02) {0x0B,0x04}) //added firewire device / periferica firewire aggiunta Device (FRWR){Name (_ADR, 0x05030000) //system doze instead of sleep Name (_SUN, 0x0A) Name (_GPE, 0x0B) // Name (_PRW, Package (0x02) {0x0B,0x04}) //added for hotplug/sleep support (in test) seems not working Method (_DSM, 4, NotSerialized) {Store (Package (0x08) { "built-in",Buffer (One) {0x00}, // "device-id",Buffer (0x04) {0x44, 0x30}, // "vendor-id",Buffer (0x04) {0x06, 0x11}, "device_type",Buffer (0x09) {"Firewire"}, "name",Buffer (0x13) {"VIA VT6306 Fire II"}, "fwports",Buffer (0x04) {0x02, 0x00, 0x00, 0x00} }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } } } and here the part for \_GPE: Scope (\_GPE) {Name (_PRW, Package (0x02) {0x09,0x03}) Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.PEGP, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.P0P7, 0x02) Notify (\_SB.PCI0.P0P8, 0x02) Notify (\_SB.PCI0.RP06, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) Notify (\_SB.PWRB, 0x02) } // Method (_L0A, 0, NotSerialized) { // Notify (\_SB.PCI0.PCIB.FRWR, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.PCIB, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.UHC0, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.UHC1, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.UHC2, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.UHC3, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.UHC4, 0x02) Notify (\_SB.PWRB, 0x02)} Method (_L20, 0, NotSerialized) { Notify (\_SB.PCI0.UHC5, 0x02) Notify (\_SB.PWRB, 0x02)} } Device (PWRB) {Name (_CID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B)} } this is the config i actually can use to avoid sleep problem and firewire error at boot, if use _SUN i have this error in kernel log and a not complete stop (fan still on) but it can wake up ang it's still working: kernel[0]: System sleep prevented by FRWR kernel[0]: System Doze Link to comment Share on other sites More sharing options...
MacKonsti Posted February 13, 2010 Share Posted February 13, 2010 Mate, I know for fact that adding a value to (_SUN) is to actually tell the mac/hack the PCI slot of the device... doesn't work for this firewire device, I am afraid. I only used it for the ethernet (GIGE) and graphics (GFX0) devices (PCI Slot 0x01 and 0x02, respectively). I was curious as to why you included it in the first place; glad to know you got it out! It seems you're giving your (_PRW) value in your firewire the callback to the mother device (PCIB) so I am happy this works for you! Link to comment Share on other sites More sharing options...
scrax Posted February 14, 2010 Share Posted February 14, 2010 I was curious as to why you included it in the first place; Just to have it listed under PCI device in system profiler For me now it works good only with some device like an external HD wallpowered, with camcorder or another HD 2,5" buspowered i need to make the sleep trick to use them. I've noticed that when i have problem in mounting a device the: Firewire Generation ID in IOReg became -1 when all is ok it change every device connection. Could this be related? Link to comment Share on other sites More sharing options...
anibalin Posted June 30, 2010 Share Posted June 30, 2010 hi MacKonsti Im trying to fix the frwr in my d55wb mobo. Currently the power conservation is fixed (thanks to your notes). And now I realized that I have lost sleep with this. About the PWRB method I have this: Note that _SB.SLPB is your _SB.PWRB. With PWRB I cannot complie. I saw that the rest of the upper methods are using SLPB so I gave it a try and compiled. However, I cannot sleep (auto sleep and manual sleep). http://dl.dropbox.com/u/363153/dsdt.dsl Thanks for any hint. Link to comment Share on other sites More sharing options...
Onixs Posted July 11, 2010 Share Posted July 11, 2010 UPDATE: this is in the wrong spot, sorry. Please move to appropriate location or delete. It occurred to me people may be having firewire problems with their Gigabyte boards. FireWire runtime power conservation disabled. (2) This is how to fix that. Method (_L1A, 0, NotSerialized) // <-- Added for firewire { Notify (\_SB.PCI0.PCIB.FRWR, 0x00) Notify (\_SB.PWRB, 0x02) } Within the Device (PCIB) I added another device: Device (FRWR) // <--Firewire (check to be sure the _GPE value is OK) { Name (_ADR, 0x00070000) Name (_GPE, 0x1A) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Let me know what kind of results people get. dsdt_GA_EP45_UD3P.dsl.zip Hello... I have P5K (Vanilla). Can't seem to find the proper location for the fix. Can you help me. RALS2007.aml.zip Thanks Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted July 13, 2010 Share Posted July 13, 2010 It was explained earlier in the thread. Use LSPCI to find the hardware address of the Firewire device, then locate that address in your DSDT - see post #31. You might have to add it under the main PCI Bus device (PCIB) if there is no separate Firewire device in your DSDT already. This was also discussed earlier in the thread. This thread is a DSDT goldmine for ASUS boards: http://www.insanelymac.com/forum/index.php...t&p=1280888 Also try to find user Phoenix Wright's DSDT somewhere around here, it's for P5Q-E but you can probably use his Firewire code with little or no modification. Link to comment Share on other sites More sharing options...
LatinMcG Posted July 21, 2010 Share Posted July 21, 2010 i think i hit gold with this SD-pex30009 in RP03 in a Gigabyte EP45T-UD3LR added GPE 1A (aka 19 in non hex .. doh i need to corrct FWBR i put FRBR OOPS .. i found someones ioreg in a real mac .. or VM.. for this same card and it looks good ) ============================================================= RP03.FWBR, 0x00) RP03.FWBR.FRWR, 0x00)// for the 800 speed bridge ============================================================= Device (RP03) { Name (_ADR, 0x001C0003) Method (_STA, 0, NotSerialized) { Return (0x0F) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x09, 0x05 }) } Name (PIC3, Package (0x04) { Package (0x04) { 0xFFFF, Zero, LNKD, Zero }, Package (0x04) { 0xFFFF, One, LNKA, Zero }, Package (0x04) { 0xFFFF, 0x02, LNKB, Zero }, Package (0x04) { 0xFFFF, 0x03, LNKC, Zero } }) Name (API3, Package (0x04) { Package (0x04) { 0xFFFF, Zero, Zero, 0x13 }, Package (0x04) { 0xFFFF, One, Zero, 0x10 }, Package (0x04) { 0xFFFF, 0x02, Zero, 0x11 }, Package (0x04) { 0xFFFF, 0x03, Zero, 0x12 } }) Method (_PRT, 0, NotSerialized) { If (LNot (PICF)) { Return (PIC3) } Else { Return (API3) } } Device (FRBR) { Name (_ADR, 0x03000000) Name (_GPE, 0x19) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "fwhub", Buffer (One) { 0x00 }, "built-in", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Device (FRWR) { Name (_ADR, 0x04000000) Name (_GPE, 0x19) Name (_SUN, 0x03) Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "model", Buffer (0x0C) { "TI XIO2213 " }, "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, "built-in", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x1A, // Callback to new (_GPE) Method (_L1A) 0x05 }) } } Device(BLAH)Some device blah blah.. testing as i type.. thanks guys. Edit: seems it says 800 speed. . but camera canon hv20 is not detected in the 400 port. changing sun 03 to FWBR now called FRWR on 0x03000000 instead of the 800 chipset on 0x00400000 its backwards.! in windows it shows its using the 0x04000000 but i read this and its same issue i have. http://www.insanelymac.com/forum/index.php...st&p=841860 so im exchanging at newegg the card i have for that SD-NEC-4F and its cheaper. EDIT: 11-11-2010 the above code didnt quite work right for me, but was close. ended up getting $15 LaCie 130820 TI chipset and it works with pci slot 2 ( slot 1 might work but i had SUN 0x03 then i changed ) in EP45T-UD3LR. well works with dsdt code. in HUB0.FRWR after _PRT section (see below) P.S. dont forget to add _GPE section call way up in dsdt example of mine Method (_L1A, 0, NotSerialized) { Notify (\_SB.PCI0.HUB0.FRWR, Zero) Notify (\_SB.PWRB, 0x02) } Method (_PRT, 0, NotSerialized) { If (LNot (PICF)) { Return (PICM) } Else { Return (APIC) } } Device (FRWR) //code starts here************* { Name (_ADR, 0x04000000) Name (_GPE, 0x1A) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "fwhub", Buffer (0x03) { 0x00, 0x00, 0x00 }, "built-in", Buffer (One) { 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } // code ends here ******************** Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x0B, 0x05 }) } } p.s. the Name (_ADR, 0x04000000) u can find it in the first post screen of pc. mines 4. for firewire device in slot 2 pci. i also added the hpet fix with the 4 irq's Link to comment Share on other sites More sharing options...
popeyeq Posted August 25, 2010 Share Posted August 25, 2010 Hi, can anyone help me, please. Kernel.log: Aug 25 16:32:31 localhost kernel[0]: npvhash=4095 Aug 25 16:32:31 localhost kernel[0]: PAE enabled Aug 25 16:32:31 localhost kernel[0]: 64 bit mode enabled Aug 25 16:32:31 localhost kernel[0]: Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 Aug 25 16:32:31 localhost kernel[0]: vm_page_bootstrap: 512768 free pages and 11520 wired pages Aug 25 16:32:31 localhost kernel[0]: standard timeslicing quantum is 10000 us Aug 25 16:32:31 localhost kernel[0]: mig_table_max_displ = 73 Aug 25 16:32:31 localhost kernel[0]: [sleepEnabler] Registering PowerManagement dispatch table... Aug 25 16:32:31 localhost kernel[0]: [sleepEnabler] in the event of a kernel panic, please use pmVersion... Aug 25 16:32:31 localhost kernel[0]: [sleepEnabler] Calling pmInitComplete()... Aug 25 16:32:31 localhost kernel[0]: NullCPUPowerManagement::init: properties=0x3d05a80 Aug 25 16:32:31 localhost kernel[0]: NullCPUPowerManagement::start Aug 25 16:32:31 localhost kernel[0]: AppleACPICPU: ProcessorId=1 LocalApicId=0 Enabled Aug 25 16:32:31 localhost kernel[0]: AppleACPICPU: ProcessorId=2 LocalApicId=1 Enabled Aug 25 16:32:31 localhost kernel[0]: AppleACPICPU: ProcessorId=3 LocalApicId=130 Disabled Aug 25 16:32:31 localhost kernel[0]: AppleACPICPU: ProcessorId=4 LocalApicId=131 Disabled Aug 25 16:32:31 localhost kernel[0]: calling mpo_policy_init for Quarantine Aug 25 16:32:31 localhost kernel[0]: Security policy loaded: Quarantine policy (Quarantine) Aug 25 16:32:31 localhost kernel[0]: calling mpo_policy_init for Sandbox Aug 25 16:32:31 localhost kernel[0]: Security policy loaded: Seatbelt sandbox policy (Sandbox) Aug 25 16:32:31 localhost kernel[0]: calling mpo_policy_init for TMSafetyNet Aug 25 16:32:31 localhost kernel[0]: Security policy loaded: Safety net for Time Machine (TMSafetyNet) Aug 25 16:32:31 localhost kernel[0]: Copyright © 1982, 1986, 1989, 1991, 1993 Aug 25 16:32:31 localhost kernel[0]: The Regents of the University of California. All rights reserved. Aug 25 16:32:31 localhost kernel[0]: MAC Framework successfully initialized Aug 25 16:32:31 localhost kernel[0]: using 10485 buffer headers and 4096 cluster IO buffer headers Aug 25 16:32:31 localhost kernel[0]: IOAPIC: Version 0x20 Vectors 64:87 Aug 25 16:32:31 localhost kernel[0]: ACPI: System State [s0 S3 S4 S5] (S3) Aug 25 16:32:31 localhost kernel[0]: RTC: Only single RAM bank (128 bytes) Aug 25 16:32:31 localhost kernel[0]: netkas presents fakesmc, a kext which emulates smc devicembinit: done (64 MB memory set for mbuf pool) Aug 25 16:32:31 localhost kernel[0]: From path: "uuid", Aug 25 16:32:31 localhost kernel[0]: Waiting for boot volume with UUID D8EF33D8-F29A-36D9-9564-C7806068DACF Aug 25 16:32:31 localhost kernel[0]: Waiting on <dict ID="0"><key>IOProviderClass</key><string ID="1">IOResources</string><key>IOResourceMatch</key><string ID="2">boot-uuid-media</string></dict> Aug 25 16:32:31 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib kmod start Aug 25 16:32:31 localhost kernel[0]: com.apple.AppleFSCompressionTypeZlib load succeeded Aug 25 16:32:31 localhost kernel[0]: FireWire runtime power conservation disabled. (2) Aug 25 16:32:31 localhost kernel[0]: Got boot device = IOService:/AppleACPIPlatformExpert/PCI0@0/AppleACPIPCI/IDE1@1F,2/AppleIntelPIIXATARoot/CHN0@0/AppleIntelICHxSATA/ATADeviceNub@0/AppleATADiskDriver/IOATABlockStorageDevice/IOBlockStorageDriver/MAXTOR STM3160215AS MAXTOR STM3160215AS/IOGUIDPartitionScheme/OSX86 Snow@2 Aug 25 16:32:31 localhost kernel[0]: BSD root: disk0s2, major 14, minor 4 Aug 25 16:32:31 localhost kernel[0]: FireWire (OHCI) VendorID 1033 ID f2 PCI now active, GUID 00004c0100004096; max speed s400. Aug 25 16:32:31 localhost kernel[0]: USBMSC Identifier (non-unique): P01070225080640 0x152e 0x2507 0x0 Aug 25 16:32:31 localhost kernel[0]: USBMSC Identifier (non-unique): 080715102655 0x424 0x2228 0x539 Aug 25 16:32:31 localhost kernel[0]: Cannot get audit control port Aug 25 16:32:31 localhost kernel[0]: Warning: audit space low (< 5% free)on audit log file-system Aug 25 16:32:32 localhost kernel[0]: systemShutdown false Aug 25 16:32:34 Popeye-Rocks-Hackintosh kernel[0]: NVDANV50HAL loaded and registered. Aug 25 16:32:34 Popeye-Rocks-Hackintosh kernel[0]: Previous Shutdown Cause: 0 Aug 25 16:32:39 Popeye-Rocks-Hackintosh kernel[0]: Warning: audit space low (< 5% free)on audit log file-system Aug 25 16:32:42 Popeye-Rocks-Hackintosh kernel[0]: IPv6 packet filtering initialized, default to accept, logging disabled Aug 25 16:32:43 Popeye-Rocks-Hackintosh kernel[0]: FakeSMC: key info not found MSDS, length - 6 Aug 25 16:32:43 Popeye-Rocks-Hackintosh kernel[0]: Waiting for DSMOS... Aug 25 16:32:54 Popeye-Rocks-Hackintosh kernel[0]: Warning - kext com.apple.iokit.CHUDKernLib has immediate dependencies on both com.apple.kernel* and com.apple.kpi.* components; use only one style. Aug 25 16:32:54 Popeye-Rocks-Hackintosh kernel[0]: DSMOS has arrived Aug 25 16:32:54 Popeye-Rocks-Hackintosh kernel[0]: AttansicL2Ethernet: Ethernet address 00:1e:8c:14:57:40 Aug 25 16:32:59 Popeye-Rocks-Hackintosh kernel[0]: ACPI_SMC_PlatformPlugin::start - waitForService(resourceMatching(AppleIntelCPUPowerManagement) timed out Aug 25 16:32:59 Popeye-Rocks-Hackintosh kernel[0]: MacFUSE: starting (version 2.0.3, Dec 19 2008, 09:57:57) Aug 25 16:33:09 Popeye-Rocks-Hackintosh kernel[0]: Warning: audit space low (< 5% free)on audit log file-system Aug 25 16:33:39: --- last message repeated 2 times --- Aug 25 16:36:45 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x713f380 done, status e00002d6 Aug 25 16:36:46 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4052f00 done, status e00002d6 Aug 25 16:36:55: --- last message repeated 15 times --- Aug 25 16:36:55 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4796180 done, status e00002d6 Aug 25 16:37:01: --- last message repeated 6 times --- Aug 25 16:36:58 Popeye-Rocks-Hackintosh kernel[0]: AppleFWOHCI_AsyncTransmit::allocateCommandElement - no free elements Aug 25 16:36:58 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4796180 done, status e00002be Aug 25 16:37:13 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4066680 done, status e00002d6 Aug 25 16:37:25: --- last message repeated 23 times --- Aug 25 16:37:25 Popeye-Rocks-Hackintosh kernel[0]: AppleFWOHCI_AsyncTransmit::allocateCommandElement - no free elements Aug 25 16:37:25 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4066680 done, status e00002be Aug 25 16:37:34 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x456ba00 done, status e00002d6 Aug 25 16:37:37: --- last message repeated 1 time --- Aug 25 16:37:37 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x63a6f80 done, status e00002d6 Aug 25 16:37:45: --- last message repeated 9 times --- Aug 25 16:37:45 Popeye-Rocks-Hackintosh kernel[0]: AppleFWOHCI_AsyncTransmit::allocateCommandElement - no free elements Aug 25 16:37:45 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x63a6f80 done, status e00002be Aug 25 16:40:01 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x4650280 done, status e00002d6 Aug 25 16:40:09: --- last message repeated 9 times --- Aug 25 16:40:09 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6b3f680 done, status e00002d6 Aug 25 16:40:12: --- last message repeated 1 time --- Aug 25 16:40:11 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6c08500 done, status e00002d6 Aug 25 16:40:12 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x479b480 done, status e00002d6 Aug 25 16:40:20 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x451dc80 done, status e00002d6 Aug 25 16:40:20 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x451dc80 done, status e00002d6 Aug 25 16:40:20 Popeye-Rocks-Hackintosh kernel[0]: AppleFWOHCI_AsyncTransmit::allocateCommandElement - no free elements Aug 25 16:40:20 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x451dc80 done, status e00002be Aug 25 16:42:02 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x7119100 done, status e00002d6 Aug 25 16:42:08: --- last message repeated 9 times --- Aug 25 16:42:08 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6d62b80 done, status e00002d6 Aug 25 16:42:15: --- last message repeated 13 times --- Aug 25 16:42:15 Popeye-Rocks-Hackintosh kernel[0]: AppleFWOHCI_AsyncTransmit::allocateCommandElement - no free elements Aug 25 16:42:15 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6d62b80 done, status e00002be Aug 25 16:42:48 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6d62b80 done, status e0008020 Aug 25 16:42:48 Popeye-Rocks-Hackintosh kernel[0]: Write for 0x6d62b80 done, status e00002d7 lspci: 00:00.0 Host bridge [0600]: Intel Corporation 82945G/GZ/P/PL Memory Controller Hub [8086:2770] (rev 02) 00:01.0 PCI bridge [0604]: Intel Corporation 82945G/GZ/P/PL PCI Express Root Port [8086:2771] (rev 02) 00:1b.0 Audio device [0403]: Intel Corporation 82801G (ICH7 Family) High Definition Audio Controller [8086:27d8] (rev 01) 00:1c.0 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 1 [8086:27d0] (rev 01) 00:1c.1 PCI bridge [0604]: Intel Corporation 82801G (ICH7 Family) PCI Express Port 2 [8086:27d2] (rev 01) 00:1d.0 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #1 [8086:27c8] (rev 01) 00:1d.1 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #2 [8086:27c9] (rev 01) 00:1d.2 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #3 [8086:27ca] (rev 01) 00:1d.3 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB UHCI Controller #4 [8086:27cb] (rev 01) 00:1d.7 USB Controller [0c03]: Intel Corporation 82801G (ICH7 Family) USB2 EHCI Controller [8086:27cc] (rev 01) 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev e1) 00:1f.0 ISA bridge [0601]: Intel Corporation 82801GB/GR (ICH7 Family) LPC Interface Bridge [8086:27b8] (rev 01) 00:1f.1 IDE interface [0101]: Intel Corporation 82801G (ICH7 Family) IDE Controller [8086:27df] (rev 01) 00:1f.2 IDE interface [0101]: Intel Corporation 82801GB/GR/GH (ICH7 Family) SATA IDE Controller [8086:27c0] (rev 01) 00:1f.3 SMBus [0c05]: Intel Corporation 82801G (ICH7 Family) SMBus Controller [8086:27da] (rev 01) 02:00.0 Ethernet controller [0200]: Attansic Technology Corp. L2 100 Mbit Ethernet Adapter [1969:2048] (rev a0) 03:00.0 PCI bridge [0604]: PLX Technology, Inc. PEX8112 x1 Lane PCI Express-to-PCI Bridge [10b5:8112] (rev aa) 04:00.0 FireWire (IEEE 1394) [0c00]: NEC Corporation uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr [1033:00f2] (rev 01) 05:00.0 VGA compatible controller [0300]: nVidia Corporation Unknown device [10de:05e2] (rev a1) My aml file & ioreg. dsdt.dsl.zip Popeye_Rock___.ioreg.zip Tryed this metod editing aml, but if I add them lines and compile dsdt finish with error - Device DTGP not exist Thanks This is what done: Device (P0P9) { Name (_ADR, 0x001C0000) Method (_PRW, 0, NotSerialized) { Return (GPRW (0x09, 0x04)) } Method (_PRT, 0, NotSerialized) { If (PICM) { Return (AR09) } Return (PR09) } Device (FRWR) // FireWire (IEEE 1394) [0c00]: NEC Corporation uPD72874 IEEE1394 OHCI 1.1 3-port PHY-Link Ctrlr [1033:00f2] (rev 01) { Name (_ADR, 0x04000000) // My firewire address reported by 'lspci -n' Name (_GPE, 0x09) // Callback to (_GPE) Method (_L09) for device owning firewire (P0P9) Method (_DSM, 4, NotSerialized) { Store (Package (0x06) { "built-in", Buffer (0x01) { Zero }, "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0xf2, 0x00, 0x00, 0x00 // Board device ID is [00f2] reported by 'lspci -n' } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x1A, // Callback to new (_GPE) Method (_L1A) 0x05 }) } } } Scope (\_GPE) { Method (_L09, 0, NotSerialized) { Notify (\_SB.PCI0.P0P1, 0x02) Notify (\_SB.PCI0.P0P9, 0x02) Notify (\_SB.PCI0.P0P8, 0x02) Notify (\_SB.PCI0.P0P7, 0x02) Notify (\_SB.PCI0.P0P6, 0x02) Notify (\_SB.PCI0.P0P5, 0x02) Notify (\_SB.PCI0.P0P4, 0x02) } Method (_L0B, 0, NotSerialized) { Notify (\_SB.PCI0.P0P3, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L1D, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L08, 0, NotSerialized) { \_SB.PCI0.SBRG.SIOH () } Method (_L04, 0, NotSerialized) { Notify (\_SB.PCI0.USB2, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0C, 0, NotSerialized) { Notify (\_SB.PCI0.USB3, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0E, 0, NotSerialized) { Notify (\_SB.PCI0.USB4, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L05, 0, NotSerialized) { Notify (\_SB.PCI0.MC97, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L03, 0, NotSerialized) { Notify (\_SB.PCI0.USB1, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L0D, 0, NotSerialized) { Notify (\_SB.PCI0.EUSB, 0x02) Notify (\_SB.PWRB, 0x02) } Method (_L1A, 0, NotSerialized) { Notify (\_SB.PCI0.P0P9.FRWR, 0x00) Notify (\_SB.PWRB, 0x02) } } Device (PWRB) { Name (_HID, EisaId ("PNP0C0C")) Name (_UID, 0xAA) Name (_STA, 0x0B) } } Error after compiling DSDT: Intel ACPI Component Architecture ASL Optimizing Compiler version 20091214 [Dec 16 2009] Copyright © 2000 - 2009 Intel Corporation Supports ACPI Specification Revision 4.0 /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 1319: Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 }, "device-id", Buffer (0x04) { 0xf2, 0x00, 0x00, 0x00 } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } Method (_PRW, 0, NotSerialized) { Return (Package (0x02) { 0x1A, 0x05 }) } } } Error 4064 - Object does not exist ^ (DTGP) /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 2930: Method (OCOP, 1, Serialized) Warning 1088 - Not all control paths return a value ^ (OCOP) /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 3206: Method (PROC, 3, Serialized) Warning 1088 - Not all control paths return a value ^ (PROC) /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 3343: Subtract (Local2, 0x1E) Warning 1106 - Result is not used, operator has no effect ^ /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 3344: Subtract (Local4, 0x4B) Warning 1106 - Result is not used, operator has no effect ^ /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl 3443: Store (PROC (Local0, Local1, Zero), Local2) Warning 1093 - Called method may not always return a value ^ ASL Input: /Users/popeyerock/Library/Application Support/EvOSoftware/DSDT/DSDTFiles/dsdt.dsl - 7021 lines, 230127 bytes, 3297 keywords Compilation complete. 1 Errors, 5 Warnings, 0 Remarks, 54 Optimizations after deleting line: DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Finaly could compile dsdt without error, but no change. same msg in kernel log: FireWire runtime power conservation disabled. (2) What I try to do is to get footage from camcorder to HDD. FinalCut recognize my cam, but after few seconds it lost connection. Here is few errors from kernel & system logs: FW_Errors.rtf Link to comment Share on other sites More sharing options...
polkaholga Posted August 27, 2010 Share Posted August 27, 2010 Nothing to see on your attached .aml file. You should attach a zipped dsl with what you've done, then probably someone can help you. I also recommand to read this P5K Pro... not exactly your board, but defenately a very good source to help you fix your problem. Link to comment Share on other sites More sharing options...
popeyeq Posted August 28, 2010 Share Posted August 28, 2010 Nothing to see on your attached .aml file. You should attach a zipped dsl with what you've done, then probably someone can help you. I also recommand to read this P5K Pro... not exactly your board, but defenately a very good source to help you fix your problem. Thanks for advise, Just update my post. Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted August 28, 2010 Share Posted August 28, 2010 The Firewire device belongs to the PCI bridge: 00:1e.0 PCI bridge [0604]: Intel Corporation 82801 PCI Bridge [8086:244e] (rev e1) You've placed it under P0P9 which (on your motherboard) is a PCI Express port, and you can clearly see that if you compare the address in DSDT with your LSPCI output. DTGP is not a device, it's a "method". I don't know what it does, but it's used when adding new devices, or adding code to existing devices. It's present in DSDTs from real Macs but never on PCs. You put DTGP there yourself in the first place. If you have it in your DSDT then it needs to be there, you can't just go deleting random bits of code to get rid of error messages! If there's a problem with the code, go back to where you copied and pasted it from and recheck that it looks like it should. Here's the entire method: 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) } You can place it anywhere in your DSDT. Don't place it inside another method or device. Here's the DSDT replacement for HDAEnabler.kext, with the DTGP caller at the end: Device (HDEF) { Name (_ADR, 0x001B0000) Method (_DSM, 4, NotSerialized) { Store (Package (0x08) { "subsystem-id", Buffer (0x04) { 0xA0, 0x00, 0x00, 0x00 }, "subsystem-vendor-id", Buffer (0x04) { 0x6B, 0x10, 0x00, 0x00 }, "layout-id", Buffer (0x04) { 0x0C, 0x00, 0x00, 0x00 }, "PinConfigurations", Buffer (Zero) {} }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } Here it is at the end of an ethernet device: Device (LAN0) { Name (_ADR, Zero) Name (_PRW, Package (0x02) { 0x09, 0x03 }) Method (_DSM, 4, NotSerialized) { Store (Package (0x04) { "built-in", Buffer (One) { 0x01 }, "location", Buffer (0x02) { "1" } }, Local0) DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0)) Return (Local0) } } The DTGP method and caller "DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))" is always the same for every modified or added device and it's always placed at the end right before the last Return statement. I have no idea what it does or why it's necessary though. Maybe someone here knows what it does.. Link to comment Share on other sites More sharing options...
popeyeq Posted August 28, 2010 Share Posted August 28, 2010 The Firewire device belongs to the PCI bridge: Lol, nice. so I got it all wrong. My Firewire is PCI Express x1 card. That's why I put it under P0P9 device. Can you explain me why it belong to PCI Bridge? And how do I locate it in DSDT? O and there wasn't DTGP method in my dsdt. I only paste code from 1st post and hope for magic. Thanks anyway Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted August 29, 2010 Share Posted August 29, 2010 You didn't say, so I assumed your Firewire controller was on-board. This is the LSI Firewire controller on my ASUS P5Q-E board: As you can see it's tucked in under the PCI Bridge. An unmodified DSDT only has data for devices that are built in to the motherboard. Therefore all you will see is code for the expansion slots themselves, not for the expansion cards that are plugged into them. Make sure P0P9 is the correct slot - you can check this with ioregistryexplorer. I think there's also a switch you can use with LSPCI that makes it show the slot names but I can't remember what it is. On my ASUS board P0P9 is home to an on-board PCI-E Marvell 88E8056 Ethernet Controller. I don't know if P0P9 is shared with a PCI-E slot though, I guess it could be. Anyhow, if what you pasted had a DTGP caller at the end as in the examples I posted, then you must add the DTGP method to your DSDT. Link to comment Share on other sites More sharing options...
barnum Posted August 31, 2010 Share Posted August 31, 2010 This is the LSI Firewire controller on my ASUS P5Q-E board: Hi, I have a P5Q PRO, can you give me your dsdt file to compare with mine ? regards, Barnum Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted September 1, 2010 Share Posted September 1, 2010 There's nothing in it that you haven't seen if you have the last DSDT posted by Beerkex'd or Phoenix Wright. Since installing Chameleon 2.0 RC5 I've put back the original CPU scope but that's the only change. Link to comment Share on other sites More sharing options...
barnum Posted September 1, 2010 Share Posted September 1, 2010 There's nothing in it that you haven't seen if you have the last DSDT posted by Beerkex'd or Phoenix Wright. Since installing Chameleon 2.0 RC5 I've put back the original CPU scope but that's the only change. Can you give me a link to the Beerkx'd or Phoenix Wright dsdt, I search and I can't find it regards, Barnum Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted September 1, 2010 Share Posted September 1, 2010 I don't know if you're aware of this but I think this is the third time you ask me to do that, and I've given you the same answer before. It's in the P5K Pro thread.. as you should know. Unless there are other barnums here. Link to comment Share on other sites More sharing options...
barnum Posted September 3, 2010 Share Posted September 3, 2010 I don't know if you're aware of this but I think this is the third time you ask me to do that, and I've given you the same answer before. It's in the P5K Pro thread.. as you should know. Unless there are other barnums here. I know but the last DST publish by Beerkx'd (Mar 10 2010, 09:57 AM) only contain that for firewire : Device (FRWR) { Name (_ADR, 0x00030000) Name (_GPE, 0x18) Method (_DSM, 4, NotSerialized) { Store (Package (0x02) { "fwports", Buffer (0x04) { 0x02, 0x00, 0x00, 0x00 } }, Local0) MCDP (Arg2, RefOf (Local0)) Return (Local0) } } It seem that you have implemented in you dsdt the good code to have firewire, my motherboard is quite the same than your for the firewire part so I only ask you if you can share this part of you dsdt. regards, Barnum Link to comment Share on other sites More sharing options...
Gringo Vermelho Posted September 3, 2010 Share Posted September 3, 2010 As I said, I haven't changed anything in my DSDT since then. I don't bother with the Firewire because I don't own any Firewire devices. But if I did I would try implementing the code example from post #50. Link to comment Share on other sites More sharing options...
Defender666 Posted September 20, 2010 Share Posted September 20, 2010 entering lspci gives me command not found. Am i supposed to enter this command on a Linux Boot? Link to comment Share on other sites More sharing options...
scrax Posted September 20, 2010 Share Posted September 20, 2010 entering lspci gives me command not found. Am i supposed to enter this command on a Linux Boot? Or you can install lspci for mac it's linked somewhere in the forum Link to comment Share on other sites More sharing options...
JBraddock Posted September 23, 2010 Share Posted September 23, 2010 The hack that MacKonsti shared in this post is working on my HP HDX 16. I don't have that boot message anymore. I don't have a Firewire device to test hot plug but I hope it will work. Thanks, Link to comment Share on other sites More sharing options...
MacKonsti Posted September 23, 2010 Share Posted September 23, 2010 The hack that MacKonsti shared in this post is working on my HP HDX 16. I don't have that boot message anymore. I don't have a Firewire device to test hot plug but I hope it will work. The actual device will work, of course; it's the behaviour that might change. I learned to live with that error, it doesn't bother me anymore. That DSDT hack resulted to the fact that (my board) doesn't recognize the attached firewire device upon boot, only after sleep/wake or if it is connected after the system fully boots. That was the drawback I concluded... Link to comment Share on other sites More sharing options...
weizh126 Posted September 24, 2010 Share Posted September 24, 2010 i don't care whether my firewire works, and i think eveything is ok, and i can see this message in kernel log FireWire (OHCI) VendorID 1217 ID f7 built-in now active, GUID 00023f8cc940a9f6; max speed s400. but the only problem is when after waking up my computer, there are too many errors in my kernel log as below. --- last message repeated 5 times --- FireWire GUID 00d0510000000001 is invalid! this is my dsdt.amlDSDT.aml.zip any suggestion will be appreciated, thx you guys~~ sorry for my poor english Link to comment Share on other sites More sharing options...
JBraddock Posted September 24, 2010 Share Posted September 24, 2010 The actual device will work, of course; it's the behaviour that might change. I learned to live with that error, it doesn't bother me anymore. That DSDT hack resulted to the fact that (my board) doesn't recognize the attached firewire device upon boot, only after sleep/wake or if it is connected after the system fully boots. That was the drawback I concluded... I see. As I said earlier, I don't have a firewire device right now but if I've tried I'll let you know the result. Thanks for your time. Link to comment Share on other sites More sharing options...
Recommended Posts