frankiee Posted November 8, 2015 Share Posted November 8, 2015 Hello you ACPI experts, I need some advise So I have this Firewire card (EXSYS EX-16450) and while it works fine for the most part, I want to do the following things: Make it show up in the PCI section in SysProfiler (and give it a name) Get rid of the follwowing message: FireWire runtime power conservation disabled. (3) I know there is a patch for both, but my main problem is that I seem to be unable to correctly address that card. This is how it shows up in RegistryExplorer: In theory the ACPI path to this slot should be _SB.PCI0.PEX0.PXS4 So I tried the following to make it show up as an PCI card: Device (_SB.PCI0.PEX0.PXS4) { Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x06) { "AAPL,slot-name", Buffer (0x0B) { "PCI Slot 4" }, "model", Buffer (0x0F) { "EXSYS EX-16450" }, "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }) } } But this only works somehow. First I see this in Sys Profiler: So while there is an entry now, the card name is still missing. As I see it it looks like there is another device in between (a pci bridge? on the card?) I also tried the other fix, but it seems to be ignored. So the question is how to obtain the right path, and to target the card / the chipsert itself. Any help greatly appreciated! Link to comment Share on other sites More sharing options...
duduclx Posted November 8, 2015 Share Posted November 8, 2015 Dump dsdt and ssdt with patchmatic and share original and patched. Link to comment Share on other sites More sharing options...
frankiee Posted November 8, 2015 Author Share Posted November 8, 2015 Here are my Clover "origin" (= unmodified dumps) and "patched" folders, containing my modified DSDT and SSDTs (including my attempt to fix that Firewire). Thanks for helping me out Clover DSDT-SSDT.zip Link to comment Share on other sites More sharing options...
WaldMeister Posted November 9, 2015 Share Posted November 9, 2015 Hi. Try replacing: "model", Buffer (0x0F) { "EXSYS EX-16450" }, With: "name", Buffer (0x0F) { "EXSYS EX-16450" }, Link to comment Share on other sites More sharing options...
frankiee Posted November 11, 2015 Author Share Posted November 11, 2015 Thanks to Shilohh helping me out, the correct code to get rid of the message and the device showing up correctly in SystemProfiler is this: External (\_SB_.PWRB) External (_SB_.PCI0.PEX0, DeviceObj) ....... Scope (_SB.PCI0.PEX0) { Name (_SUN, 0x04) } Scope (_GPE) { Method (_L1A, 0, NotSerialized) { Notify (\_SB.PCI0.PEX0.FWBR.FRWR, Zero) Notify (\_SB.PWRB, 0x02) } } Device (_SB.PCI0.PEX0.FWBR) { Name (_ADR, Zero) Device (FRWR) { Name (_ADR, Zero) Name (_GPE, 0x1A) Method (_DSM, 4, NotSerialized) { If (LEqual (Arg2, Zero)) { Return (Buffer (One) { 0x03 }) } Return (Package (0x08) { "AAPL,slot-name", Buffer (0x0B) { "PCI Slot 4" }, "name", Buffer (0x24) { "FireWire IEEE-1394b OHCI Controller" }, "model", Buffer (0x0F) { "EXSYS EX-16450" }, "fwhub", Buffer (0x04) { 0x00, 0x00, 0x00, 0x00 } }) } } } So basically, I had to add the (_SB.PCI0.PEX0.FWBR) Device in between. Update: seems the patch wasn't complete yet, did work when being freshly booted but not after waking up. So I did add some things found here: http://www.insanelymac.com/forum/topic/188920-master-chiefs-p5k-pro-acpi-warfare/?p=1322666and updated the code above. Now it seems to work even after wake as well, but I still have the minor issue that my machine refuses to sleep if I have a mounted FW drive, or to be more precise a MacBook Pro mounted in FW target mode. 1 Link to comment Share on other sites More sharing options...
Recommended Posts