The (patched) BCM driver however was complaining about the missing ACPI information. In my DSDT I have 4 RPx sections which don't contain any devices.
I have added the card at the appropriate RP01 like this:
CODE
Device (RP01)
{
Name (_ADR, 0x001C0000)
...
Device (PXS3)
{
Name (_ADR, 0x00)
Name (_SUN, 0x00)
Method (_DSM, 4, NotSerialized) {
Store (Package (0x06) {
"AAPL,slot-name",
Buffer (0x09)
{
"Built In"
},
"model",
Buffer (0x26)
{
"Broadcom Corporation NetLink BCM57780"
},
"built-in",
Buffer (0x01)
{
0x01
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
...
}
}
{
Name (_ADR, 0x001C0000)
...
Device (PXS3)
{
Name (_ADR, 0x00)
Name (_SUN, 0x00)
Method (_DSM, 4, NotSerialized) {
Store (Package (0x06) {
"AAPL,slot-name",
Buffer (0x09)
{
"Built In"
},
"model",
Buffer (0x26)
{
"Broadcom Corporation NetLink BCM57780"
},
"built-in",
Buffer (0x01)
{
0x01
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
...
}
}
This information is now visible in the IOACPIPlane
CODE
| +-o RP01@1c0000 <class IOACPIPlatformDevice, id 0x100000186, !registered, !matched, active, busy 0, retain 8>
| | | {
| | | "acpi-wake-gpe" = 9
| | | "acpi-pci-pm" = Yes
| | | "device-properties" = {"acpi-device"="IOACPIPlatformDevice is not serializable","acpi-path"="IOACPIPlane:/_SB/PCI0@0/RP01@1c0000"}
| | | "acpi-wake-system-state" = 4
| | | "acpi-pci-routing-table" = <1800000000000000ffff00000000000010000000000000001800000001000000ffff00000000
000011000000000000001800000002000000ffff00000000000012000000000000001800000003000
000ffff00000000000013000000000000000000000000000000000000000000000000000000000000
00>
| | | "_STA" = 15
| | | "_ADR" = 1835008
| | | }
| | |
| | +-o PXS3@0 <class IOACPIPlatformDevice, id 0x100000187, !registered, !matched, active, busy 0, retain 6>
| | {
| | "_STA" = 15
| | "_ADR" = 0
| | "acpi-pci-pm" = Yes
| | "acpi-wake-type" = 2
| | "device-properties" = {"acpi-path"="IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/PXS3@0","acpi-device"="IOACPIPlatformDevice is not serializable","model"=<"Broadcom Corporation NetLink BCM57780">,"AAPL,slot-name"=<"Built In">,"built-in"=<01>}
| | }
| |
| | | {
| | | "acpi-wake-gpe" = 9
| | | "acpi-pci-pm" = Yes
| | | "device-properties" = {"acpi-device"="IOACPIPlatformDevice is not serializable","acpi-path"="IOACPIPlane:/_SB/PCI0@0/RP01@1c0000"}
| | | "acpi-wake-system-state" = 4
| | | "acpi-pci-routing-table" = <1800000000000000ffff00000000000010000000000000001800000001000000ffff00000000
000011000000000000001800000002000000ffff00000000000012000000000000001800000003000
000ffff00000000000013000000000000000000000000000000000000000000000000000000000000
00>
| | | "_STA" = 15
| | | "_ADR" = 1835008
| | | }
| | |
| | +-o PXS3@0 <class IOACPIPlatformDevice, id 0x100000187, !registered, !matched, active, busy 0, retain 6>
| | {
| | "_STA" = 15
| | "_ADR" = 0
| | "acpi-pci-pm" = Yes
| | "acpi-wake-type" = 2
| | "device-properties" = {"acpi-path"="IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/PXS3@0","acpi-device"="IOACPIPlatformDevice is not serializable","model"=<"Broadcom Corporation NetLink BCM57780">,"AAPL,slot-name"=<"Built In">,"built-in"=<01>}
| | }
| |
In IOService however I see this:
QUOTE
| | | +-o PXS3@0 <class IOPCIDevice, id 0x1000001e0, registered, matched, active, busy 0 (5285 ms), retain 26>
| | | | {
| | | | "assigned-addresses" = <1000028200000000000010b60000000000000100>
| | | | "IOInterruptSpecifiers" = (<1000000007000000>,<0700000000000100>)
| | | | "class-code" = <00000200>
| | | | "IODeviceMemory" = (({"address"=18446744072469086208,"length"=65536})) | | | | "built-in" = <01> | | | | "subsystem-vendor-id" = <25100000> | | | | "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2} | | | | "acpi-device" = "IOACPIPlatformDevice is not serializable" | | | | "IOPCIMSIMode" = Yes
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "name" = "ethernet"
| | | | "IOChildIndex" = 1
| | | | "device-id" = <92160000>
| | | | "vendor-id" = <e4140000>
| | | | "IOPCIExpressASPMDefault" = 3
| | | | "acpi-pmcap-offset" = 72
| | | | "compatible" = <"pci1025,36d","pci14e4,1692","pciclass,020000">
| | | | "IOPCIResourced" = Yes
| | | | "IOPCIExpressLinkCapabilities" = 445457
| | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/PXS3@0"
| | | | "model" = "Unknown 5764"
| | | | "subsystem-id" = <6d030000> | | | | "revision-id" = <01000000>
| | | | "IOPCIExpressLinkStatus" = 4113
| | | | "AAPL,slot-name" = <"J5C1">
| | | | "IOName" = "ethernet"
| | | | "acpi-wake-type" = 2
| | | | "reg" = <00000200000000000000000000000000000000001000020200000000000000000000000000000
100>
| | | | }
| | | | {
| | | | "assigned-addresses" = <1000028200000000000010b60000000000000100>
| | | | "IOInterruptSpecifiers" = (<1000000007000000>,<0700000000000100>)
| | | | "class-code" = <00000200>
| | | | "IODeviceMemory" = (({"address"=18446744072469086208,"length"=65536})) | | | | "built-in" = <01> | | | | "subsystem-vendor-id" = <25100000> | | | | "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2} | | | | "acpi-device" = "IOACPIPlatformDevice is not serializable" | | | | "IOPCIMSIMode" = Yes
| | | | "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
| | | | "name" = "ethernet"
| | | | "IOChildIndex" = 1
| | | | "device-id" = <92160000>
| | | | "vendor-id" = <e4140000>
| | | | "IOPCIExpressASPMDefault" = 3
| | | | "acpi-pmcap-offset" = 72
| | | | "compatible" = <"pci1025,36d","pci14e4,1692","pciclass,020000">
| | | | "IOPCIResourced" = Yes
| | | | "IOPCIExpressLinkCapabilities" = 445457
| | | | "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/RP01@1c0000/PXS3@0"
| | | | "model" = "Unknown 5764"
| | | | "subsystem-id" = <6d030000> | | | | "revision-id" = <01000000>
| | | | "IOPCIExpressLinkStatus" = 4113
| | | | "AAPL,slot-name" = <"J5C1">
| | | | "IOName" = "ethernet"
| | | | "acpi-wake-type" = 2
| | | | "reg" = <00000200000000000000000000000000000000001000020200000000000000000000000000000
100>
| | | | }
model = "Unknown 5764", AAPL,slot-name = "J5C1"? Where does this information come from? It's not what I have set in the DSDT. Does the driver modify this information?
