Jump to content

PCIe Bus addressing issues in Snow Leopard...


quinielascom
 Share

52 posts in this topic

Recommended Posts

Hi, somebody knows if is available IOPCIFamily.kext for Snow Leopard ?

I need it because solve pci addressing and others related problems, in leopard my Network and Wireless cards only works after install the IOPCIFamily.kext patched by chun-nan.

 

I think that many laptops models will need it:

 

Acer Aspire 4320/4720z/5920/4710/4715/2920

HP Compaq 6720s/C500/C700 and others that not remember now.

 

Edit: the latest IOPCMCIAFamily.kext patched for Chun-Nan for 10.5.6 works in Snow Leopard but only in 32 bits, boot with arch=i386.

 

Download here: http://download189.mediafire.com/nbmanjm2i...Family.kext.zip

 

Or here: IOPCMCIAFamily.kext.zip ( 140.25K )

 

Edit: New patch for Snow 10.6.x 32 & 64 bits available here: http://www.insanelymac.com/forum/index.php...t&p=1460172

 

Or direct download: http://www.mediafire.com/?5vifkyljzgk

Link to comment
Share on other sites

I have a bcm4311 card, so i am wondering what info you changed in your dsdt if you talk me through it i can test to see if i can get my card working. It works nativley under leopard i just need chun nan's patch to make leopard recognise the pci device

 

 

Many thanks

 

On second thoughts i still have my old version of leopard 10.5.6 with fully working wifi, could i not copy any info from this operating system and put it into snow leopard

 

Just a thought

 

Many thanks

Link to comment
Share on other sites

Hello there, i don't really understand what you are saying, i have no previous experience with messing with aml files but i am willing to give it a shot. I assume i can edit the .aml file with TextEdit

 

Now how do i locate the file from within Snow leopard,

 

Then how do i get my PCI field value

 

then i don't understand this "and for the Network Card i only add Name (_SUN, 0x03) and OperationRegion (P3CE, PCI .."

 

however i am more than willing to try it out for you

 

Many thanks

Link to comment
Share on other sites

  • 1 month later...

hm, have done.

 

Two questions to you:

 

1. do you have the IOPCMCIAFamily.kext in /Extra or in S/L/E?

 

2. have you kept or deleted Snow Leo's IOPCIFamily.kext in S/L/E?

 

Thanks,

Bugs

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

Slice's kext doesn't help.

 

@BugsB

you don't need IOPCMCIAFamily, just IOPCIFamily (extract from IOPCMCIAFamily.kext/Contents/PlugIns/)

works in /S/L/E or /E/E (you will see warnings in log if you leave the original in /S/L/E and put Chun-Nan's in /E/E)

only works in 32 bit.

Link to comment
Share on other sites

What happened to Chun-Nan?

 

I would like to add his 10.5.6 patches to IOPCIFamily-113 and see if it works in 64 bit. Tried to apply rev8 fixes but it doesn't work, 10.5.6 must have a different fix, but source isn't available.

 

All other versions I tried didn't work (Slice, AnV, previous Chun-Nan).

 

Acer Aspire 5920

 

lspci diff ("" = using original 10.6.2 IOPCIFamily)

20,21c20,21
< 01:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693] (rev 02)
< 02:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)
---
> 06:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)
> 08:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693] (rev 02)

 

ioreg diff

1997c1995
<     | |   +-o RP04@1C,3  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (573 ms), retain 9>
---
>     | |   +-o RP04@1C,3  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (659 ms), retain 27>
1999c1997
<     | |   | |   "AAPL,slot-name" = <"PCI Slot">
---
>     | |   | |   "IOInterruptSpecifiers" = (<1300000007000000>)
2001d1998
<     | |   | |   "IOInterruptSpecifiers" = (<1300000007000000>,<0300000000000100>)
2013c2010
<     | |   | |   "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
---
>     | |   | |   "IOInterruptControllers" = ("io-apic-0")
2019c2016
<     | |   | |   "IODTPersist" = <2c966f2e90966f2e>
---
>     | |   | |   "IODTPersist" = <a2f1542ea200552e>
2023c2020
<     | |   | |   "ranges" = <0000008200000000000020800000008200000000000020800000000000001000>
---
>     | |   | |   "ranges" = <000000c20000000000000000000000c2000000000000000000000000000010000000008100000
000000000000000008100000000000000000000000000100000>
2026c2023
<     | |   | +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, id 0x0, registered, matched, active, busy 0 (525 ms), retain 7>
---
>     | |   | +-o IOPCI2PCIBridge  <class IOPCI2PCIBridge, id 0x0, registered, matched, active, busy 0 (445 ms), retain 7>
2032c2029
<     | |   |   |   "Bridge Memory Ranges" = (18446744071564181504,18446744071565213695,18446744073708503040,1048575)
---
>     | |   |   |   "Bridge Memory Ranges" = (0,1048575)
2036c2033
<     | |   |   |   "Bridge IO Ranges" = (61440,4095)
---
>     | |   |   |   "Bridge IO Ranges" = (0,4095)
2039,2153c2036,2059
<     | |   |   +-o network@0  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (525 ms), retain 9>
<     | |   |     | {
<     | |   |     |   "built-in" = <00>
<     | |   |     |   "IODeviceMemory" = (({"address"=18446744071564165120,"length"=16384}))
<     | |   |     |   "device-id" = <11430000>
<     | |   |     |   "IOChildIndex" = 1
<     | |   |     |   "name" = "network"
<     | |   |     |   "IOName" = "network"
<     | |   |     |   "vendor-id" = <e4140000>
<     | |   |     |   "revision-id" = <01000000>
<     | |   |     |   "acpi-wake-type" = 2
<     | |   |     |   "IOPCIResourced" = Yes
<     | |   |     |   "subsystem-vendor-id" = <3c100000>
<     | |   |     |   "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
<     | |   |     |   "IOPCIExpressLinkCapabilities" = 222225
<     | |   |     |   "IOPCIExpressLinkStatus" = 4113
<     | |   |     |   "IOPowerManagement" = {"ChildrenPowerState"=2,"CurrentPowerState"=2}
<     | |   |     |   "class-code" = <00800200>
<     | |   |     |   "IOPCIMSIMode" = Yes
<     | |   |     |   "compatible" = <"pci103c,1363","pci14e4,4311","pciclass,028000">
<     | |   |     |   "subsystem-id" = <63130000>
<     | |   |     |   "assigned-addresses" = <1000028200000000000020800000000000400000>
<     | |   |     |   "IOPCIExpressASPMDefault" = 1
<     | |   |     |   "reg" = <00000200000000000000000000000000000000001000020200000000000000000000000000400
000>
<     | |   |     |   "IOInterruptSpecifiers" = (<1300000007000000>,<0600000000000100>)
<     | |   |     | }
<     | |   |     | 
<     | |   |     +-o AirPort_Brcm43xx  <class AirPort_Brcm43xx, id 0x0, registered, matched, active, busy 0 (9 ms), retain 9>
<     | |   |       | {
<     | |   |       |   "IONameMatch" = ("pci106b,4e","pci14e4,4311","pci14e4,4312","pci14e4,4313","pci14e4,4318",
"pci14e4,4319","pci14e4,431a","pci14e4,4320","pci14e4,4324","pci14e4,4325","pci14e4,4328","pci14e4,432b","pci14e4,432c","pci14e4,432d")
<     | |   |       |   "IOFeatures" = 8
<     | |   |       |   "IOMediumDictionary" = {"00000080"={"Flags"=0,"Index"=0,"Speed"=11000000,"Type"=128}}
<     | |   |       |   "IOMatchCategory" = "IODefaultMatchCategory"
<     | |   |       |   "CFBundleIdentifier" = "com.apple.driver.AirPortBrcm43xx"
<     | |   |       |   "IOMinPacketSize" = 64
<     | |   |       |   "IOPacketFilters" = {"IONetworkFilterGroup"=275,"IOEthernetWakeOnLANFilterGroup"=0}
<     | |   |       |   "IOModel" = "Wireless Network Adapter (802.11 b/g)"
<     | |   |       |   "IOFirmwareVersion" = "Broadcom BCM43xx 1.0 (5.10.91.26)"
<     | |   |       |   "IONameMatched" = "pci14e4,4311"
<     | |   |       |   "IOVendor" = "Unknown"
<     | |   |       |   "IOLinkStatus" = 3
<     | |   |       |   "APChipRev" = 1
<     | |   |       |   "TruePowerOff" = Yes
<     | |   |       |   "IOProbeScore" = 0
<     | |   |       |   "IOGeneralInterest" = "IOCommand is not serializable"
<     | |   |       |   "IOMaxPacketSize" = 1518
<     | |   |       |   "IOClass" = "AirPort_Brcm43xx"
<     | |   |       |   "IOProviderClass" = "IOPCIDevice"
<     | |   |       |   "IOSelectedMedium" = "00000080"
<     | |   |       |   "IOMACAddress" = <001a73530970>
<     | |   |       |   "IOPowerManagement" = {"CurrentPowerState"=2}
<     | |   |       |   "IOLinkSpeed" = 54000000
<     | |   |       |   "APFeatures" = 1
<     | |   |       |   "IOActiveMedium" = "00000080"
<     | |   |       | }
<     | |   |       | 
<     | |   |       +-o AirPort_Brcm43xxInterface  <class AirPort_Brcm43xxInterface, id 0x0, registered, matched, active, busy 0 (8 ms), retain 10>
<     | |   |         | {
<     | |   |         |   "IONetworkData" = {"IOEthernetStatsKey"={"Data"=<0000000000000000000000000000000000000
0000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0
00000000000000000000000000000000000000000000000000000000000000000000000000000000
0
0000000000000000000000000000000>,"Access Types"=9,"Size"=216},"IONetworkStatsKey"={"Data"=
<3100000000000000790000000000000000000000>,"Access Types"=9,"Size"=20},"IOOutputQueueStatsKey"={"Data"=
<00010000000000000000000000000000000000000000000000000000000000000000000000000
00000000000>,"Access Types"=9,"Size"=44}}
<     | |   |         |   "IOInterfaceState" = 3
<     | |   |         |   "IO80211DriverVersion" = "Broadcom BCM43xx 1.0 (5.10.91.26)"
<     | |   |         |   "IOInterfaceUnit" = 1
<     | |   |         |   "IOActivePacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0}
<     | |   |         |   "IOInterfaceType" = 6
<     | |   |         |   "IO80211Locale" = "FCC"
<     | |   |         |   "IOMulticastAddressList" = <01005e0000fb3333000000fb01005e0000013333f8cdf8033333000000013333ff53097001039
3df0b92>
<     | |   |         |   "IOLocation" = ""
<     | |   |         |   "IOInterfaceNamePrefix" = "en"
<     | |   |         |   "IOInterfaceFlags" = 34915
<     | |   |         |   "IOInterfaceExtraFlags" = 1073744192
<     | |   |         |   "IO80211CountryCode" = "US"
<     | |   |         |   "IOControllerEnabled" = Yes
<     | |   |         |   "IO80211SSID" = "outlawcowboy"
<     | |   |         |   "IO80211BSSID" = <001cf039ebe7>
<     | |   |         |   "IO80211RSNDone" = Yes
<     | |   |         |   "BSD Name" = "en1"
<     | |   |         |   "IOMediaHeaderLength" = 14
<     | |   |         |   "IOBuiltin" = Yes
<     | |   |         |   "IO80211Channel" = 6
<     | |   |         |   "IOMaxTransferUnit" = 1500
<     | |   |         |   "IORequiredPacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0}
<     | |   |         |   "IOMediaAddressLength" = 6
<     | |   |         |   "IO80211Band" = "2.4 GHz"
<     | |   |         |   "IO80211HardwareVersion" = "vendorid: 0x14e4
< deviceid: 0x4311
< radiorev: 0x22050000
< chipnum: 0x4311
< chiprev: 0x1
< corerev: 0xa
< boardid: 0x1363
< boardvendor: 0x103c
< boardrev: 0x42
< driverrev: 0x50a5b1a
< ucoderev: 0x1fc0506
< bus: 0x1
< "
<     | |   |         |   "IOPrimaryInterface" = No
<     | |   |         | }
<     | |   |         | 
<     | |   |         +-o IONetworkStack  <class IONetworkStack, id 0x0, registered, matched, active, busy 0 (3 ms), retain 9>
<     | |   |           | {
<     | |   |           |   "IOResourceMatch" = "IOBSD"
<     | |   |           |   "IOMatchCategory" = "IONetworkStack"
<     | |   |           |   "CFBundleIdentifier" = "com.apple.iokit.IONetworkingFamily"
<     | |   |           |   "IOProbeScore" = 0
<     | |   |           |   "IOClass" = "IONetworkStack"
<     | |   |           |   "IOProviderClass" = "IOResources"
<     | |   |           | }
<     | |   |           | 
<     | |   |           +-o IONetworkStackUserClient  <class IONetworkStackUserClient, id 0x0, !registered, !matched, active, busy 0, retain 5>
<     | |   |               {
<     | |   |                 "IOUserClientCreator" = "pid 15, configd"
<     | |   |               }
<     | |   |               
<     | |   +-o RP06@1C,5  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (184 ms), retain 9>
---
>     | |   |   +-o pci14e4,4311@0  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (445 ms), retain 26>
>     | |   |       {
>     | |   |         "device-id" = <11430000>
>     | |   |         "vendor-id" = <e4140000>
>     | |   |         "IOName" = "pci14e4,4311"
>     | |   |         "subsystem-vendor-id" = <3c100000>
>     | |   |         "IOPCIExpressLinkStatus" = 4113
>     | |   |         "revision-id" = <01000000>
>     | |   |         "reg" = <00000600000000000000000000000000000000001000060200000000000000000000000000400
000>
>     | |   |         "acpi-wake-type" = 2
>     | |   |         "IOPCIResourced" = Yes
>     | |   |         "IOInterruptControllers" = ("io-apic-0","IOPCIMessagedInterruptController")
>     | |   |         "class-code" = <00800200>
>     | |   |         "subsystem-id" = <63130000>
>     | |   |         "IOChildIndex" = 1
>     | |   |         "compatible" = <"pci103c,1363","pci14e4,4311","pciclass,028000">
>     | |   |         "IOInterruptSpecifiers" = (<1300000007000000>,<0300000000000100>)
>     | |   |         "IOPCIExpressASPMDefault" = 1
>     | |   |         "name" = "pci14e4,4311"
>     | |   |         "IOPCIExpressLinkCapabilities" = 222225
>     | |   |         "IOPowerManagement" = {"CurrentPowerState"=2}
>     | |   |       }
>     | |   |       
>     | |   +-o RP06@1C,5  <class IOPCIDevice, id 0x0, registered, matched, active, busy 0 (221 ms), retain 27>

 

Any idea if/how this can be fixed in DSDT?

           Device (RP04)
           {
               Name (_ADR, 0x001C0003)
               OperationRegion (PXCS, PCI_Config, 0x40, 0xC0)
               Field (PXCS, AnyAcc, NoLock, WriteAsZeros)
               {
                           Offset (0x10), 
                       ,   4, 
                   LKDS,   1, 
                           Offset (0x12), 
                       ,   13, 
                   LASX,   1, 
                           Offset (0x1A), 
                   ABPX,   1, 
                       ,   2, 
                   PDCX,   1, 
                       ,   2, 
                   PDSX,   1, 
                           Offset (0x1B), 
                   LSCX,   1, 
                           Offset (0x20), 
                           Offset (0x22), 
                   PSPX,   1, 
                           Offset (0x98), 
                       ,   30, 
                   HPEX,   1, 
                   PMEX,   1, 
                       ,   30, 
                   HPSX,   1, 
                   PMSX,   1
               }

               Method (_PRT, 0, NotSerialized)
               {
                   If (\GPIC)
                   {
                       Return (Package (0x04)
                       {
                           Package (0x04)
                           {
                               0xFFFF, 
                               0x00, 
                               0x00, 
                               0x13
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x01, 
                               0x00, 
                               0x10
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x02, 
                               0x00, 
                               0x11
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x03, 
                               0x00, 
                               0x12
                           }
                       })
                   }
                   Else
                   {
                       Return (Package (0x04)
                       {
                           Package (0x04)
                           {
                               0xFFFF, 
                               0x00, 
                               \_SB.PCI0.LPCB.LNKD, 
                               0x00
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x01, 
                               \_SB.PCI0.LPCB.LNKA, 
                               0x00
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x02, 
                               \_SB.PCI0.LPCB.LNKB, 
                               0x00
                           }, 

                           Package (0x04)
                           {
                               0xFFFF, 
                               0x03, 
                               \_SB.PCI0.LPCB.LNKC, 
                               0x00
                           }
                       })
                   }
               }
           }

 

Thanks.

Link to comment
Share on other sites

i would recreate the kext if i new what was done in in the first place as x64 mode is kind of the point in SL but its possible using rc4 boot and correct dsdt setting that it may be able to boot using stock kexts but i dont do dsdt

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...

Using Chun-nan's IOPCIFamily the PCI-e cards bus are 1 (ethernet) and 2 (wireless)

01:00.0 Ethernet controller [0200]: Broadcom Corporation NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693] (rev 02)
02:00.0 Network controller [0280]: Broadcom Corporation BCM4311 802.11b/g WLAN [14e4:4311] (rev 01)

and using the original IOPCIFamily they are 6 (wireless) and 8 (ethernet), as in Linux and Chameleon

SSL15460.JPG

 

Maybe this can be fixed in the booter?

http://github.com/aserebln/Chameleon/blob/...6/libsaio/pci.c

Link to comment
Share on other sites

  • 2 weeks later...

oldnapalm, then your Aspire 5920 and my Aspire 4320 (self upgrade) share same failures:

 

-Restart after sleep. --> Tried EvoReboot, OSXRestart, OpenHaltRestart ...

-Integrated Network card BCM5787M. --> Available Kext works only in 32 bits and kill Restart, Sleep and Shutdown.

-Need change wireless to BCM4311. -->Only works in 32 bits because there is not IOPCIFamily.kext patched for 64 bits.

-Need add UHCIreset = Yes in /Extra/com.apple.boot.plist

 

If you solve any those issues, please share.

Link to comment
Share on other sites

Hi quinielascom,

actually my 5920 has one more issue, it doesn't wake from sleep if boot in 64 bit, I believe the problem is in the graphics card driver, as discussed in this topic. Looks like I'm stuck with 32 bit for now. Does your 4320 have the same graphics card?

If I find the solution to any of these problems, be sure I will share.

Link to comment
Share on other sites

 Share

×
×
  • Create New...