Jump to content

BCM4318 (AirForce One 54g) IOBuiltin=false && IOPrimaryInterface=fase

icloud iobuiltin

  • Please log in to reply
8 replies to this topic

#1
salado

salado

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
Folks,

I've been struggling on this issue for couple of days already. I have BCM4318 (AirForce One 54g) 802.11g wireless PCI card.
Changed many options and still can't get the system to enable "IOBuiltin=true" from IORegistryExplorer.

I don't know anything about patch DSDT. That's the only area I didn't touch. I just use DPCIManager to extract the DSDT.aml.
Can anybody help out here?

1. My machine is Dell XPS 420. On-board LAN NIC has been disabled from BIOS.
2. The Wireless card talk to WIFI router without any problem.
3. Can't login to iCloud, Facetime and iMessage.
4. The card works out of box on 10.8.2. The device/vendor ID (pci14e4,4318) is natively supported in IO80211Family.kext.
5. All the regular settings in the org.chameleon.Boot.plist are as the following:

<key>EthernetBuiltIn</key>
<string>Yes</string>
<key>Kernel Flags</key>
<string>npci=0x2000</string>
<key>PCIRootUID</key>
<string>0</string>
<key>PciRoot(0x4)/Pci(0x19,0x0)</key>
<dict>
<key>built-in</key>
<string>0x01</string>
</dict>
<key>device-properties</key>
<string>450000000100000001000000390000000100000002010c00d041030a040000000101060000197fff0400160000006200750069006c0074002d0069006e0000000500000001</string>

6. I can see from NetworkInterface.plist the "IOBuiltin" is "true". But from IORegistryExplorer both "IOBuiltin" and "IOPrimaryInterface" are reported "false".


| |   |   |   +-o en0  <class AirPort_Brcm43224Interface, id 0x1000001dc, registered, matched, active, busy 0 (2 ms), retain 10>
	| |   |   |	 | {
	| |   |   |	 |   "IOMaxTransferUnit" = 1500
	| |   |   |	 |   "IOInterfaceState" = 3
	| |   |   |	 |   "IOPrimaryInterface" = No
	| |   |   |	 |   "IONetworkData" = {"IOOutputQueueStatsKey"={"Size"=44,"Data"=<0001000000000000000000000000000000000000000000000000000000000000000000000000000000000000>,"Access Types"=9},"IONetworkStatsKey"={"Size"=20,"Data"=<0c260000000000001c2400000000000000000000>,"Access Types"=9},"IOEthernetStatsKey"={"Size"=216,"Data"=<000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000>,"Access Types"=9}}
	| |   |   |	 |   "IOControllerEnabled" = Yes
	| |   |   |	 |   "IO80211Channel" = 11
	| |   |   |	 |   "IO80211Band" = "2.4 GHz"
	| |   |   |	 |   "IO80211SSID" = "promising.panda"
	| |   |   |	 |   "IO80211BSSID" = <20c9d0a84532>
	| |   |   |	 |   "IOActivePacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0}
	| |   |   |	 |   "IO80211DriverVersion" = "Broadcom BCM43xx 1.0 (5.10.131.36.16)"
	| |   |   |	 |   "IORequiredPacketFilters" = {"IONetworkFilterGroup"=19,"IOEthernetWakeOnLANFilterGroup"=0}
	| |   |   |	 |   "IOMediaAddressLength" = 6
	| |   |   |	 |   "IOInterfaceUnit" = 0
	| |   |   |	 |   "IO80211Locale" = "FCC"
	| |   |   |	 |   "IOInterfaceFlags" = 34915
	| |   |   |	 |   "IOMACAddress" = <001d60be3306>
	| |   |   |	 |   "IOInterfaceType" = 6
	| |   |   |	 |   "IOMediaHeaderLength" = 14
	| |   |   |	 |   "IOInterfaceExtraFlags" = 2099264
	| |   |   |	 |   "IOBuiltin" = No
	| |   |   |	 |   "IOMulticastAddressList" = <01005e0000fb01005e0000013333000000fb3333834d4df93333000000013333ffbe3306010393df0b92>
	| |   |   |	 |   "IO80211CountryCode" = "US"
	| |   |   |	 |   "BSD Name" = "en0"
	| |   |   |	 |   "IO80211HardwareVersion" = "vendorid: 0x14e4
I've attached all the necessary for getting help here.

Thanks in advance....

Attached Files



#2
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,424 posts
  • Gender:Male
  • Location:Tru, Venezuela
Just by adding the ARPT Device (AirPort) to the DSDT (in the correct address of course) is enough for to work fine. That's why it can't be injected as built-in (integrated), because is missing in the DSDT, I mean the system do not have the PCI entry in the tree according to your wifi card right now.

Re-Edited: No, is because you are trying the wrong address from device-properties injection, see my other post.

And from I know, the Ethernet (LAN) should be built-in for proper functionality of AppStore, iCloud and FaceTime.

#3
salado

salado

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
Thanks and waiting.

You are right. I could make the Intel1000e NIC working IOBuiltin=true with only device-properties injection.
For the BCM with DSDT modification, do I still need device-properties injection?

#4
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,424 posts
  • Gender:Male
  • Location:Tru, Venezuela
Please see than you are typing the wrong address in device-properties injection. find the correct address in ioreg: "pcidebug" = "4:5:0".

Furthermore, with DSDT injection is not necessary device-properties injection anymore.

Ethernet (LAN) is recommended to be installed and working (driver + built-in) for proper functionality of AppStore, iCloud and FaceTime.

Anyway, try it the file dsdt.aml from /Extra and restart. Then, take a look in System Profiler - PCI cards.

dsdt.dsl is for future modifications. See references /* commentaries */ about what I did to your dsdt.

Image of the ARPT addition and injection:
Attached File  Captura de pantalla 2013-02-24 a la(s) 01.14.21.png   240.77KB   12 downloads
IORegistryExplorer for more easy way to search and find full information of the Devices in DSDT. Please "save a copy as" after restart and upload into .zip file, I want to see the results of AirPort injection. Good Luck.

P.D. More information for you:
http://www.insanelym...me-not-working/
http://www.insanelym...286-icloud-fix/

Attached Files



#5
salado

salado

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
Tested first thing in the morning.

1. It works! For the BCM4318, IOBuiltin and IOPrimaryInterface both turned to "True".
2. iCloud, Facetime and iMessage all works (Using Chimera v2.0.1 for iMessage).
3. After applying the new DSDT with BCM4318 injection, it has KP during boot-up and caused by AppleGraphicsControl/ApplePolicyControl. I removed AppPolicyControl and it can boot up normally. Could you help me understand what does AppleGraphicsControl/ApplePolicyControl do? Is this KP related to my incorrect device properties?

One more question is about your comment for the current device properties. How to correct it?


My current one:
<key>device-properties</key>
<string>450000000100000001000000390000000100000002010c00d041030a040000000101060000197fff0400160000006200750069006c0074002d0069006e0000000500000001</string>

Do I still need the following section in my /Extra/org.chameleon.Boot.plist?


<key>PCIRootUID</key>
<string>0</string>
<key>PciRoot(0x4)/Pci(0x19,0x0)</key>
<dict>
<key>built-in</key>
<string>0x01</string>
</dict>

The IORegistryExplorer export is attached.

Thanks juanerson!

Attached Files



#6
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,424 posts
  • Gender:Male
  • Location:Tru, Venezuela
Please sorry my confusion about device properties, this is what you don't need anymore:
<key>PciRoot(0x4)/Pci(0x19,0x0)</key>
<dict>
<key>built-in</key>
<string>0x01</string>
</dict>

And I don't know about AppleGraphics/PolicyControl.

Please check your DSDT, is missing some important devices like Graphic (normally called GFX0), SATA, Ethernet (GIGE), Sound (HDEF), USB ports, etc... I think you need to add it all of them. Your factory DSDT is a disaster, and need work. Are you sure is the DSDT from YOUR OWN PC? Anyway, the point of start can be by adding those missing devices, just names, with the right addresses (ADR), and in the right place. The idea is "at least" by this basic way:
Spoiler


More specific example for graphic device, I will call GFX0 (if there is no other device with such name of course). See information in your ioreg:
Spoiler
Good Luck.

#7
salado

salado

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
I really like your comment "Your factory DSDT is a disaster". :worried_anim: LOL. Thanks!

1. The DSDT.aml was extracted by DCPIManager on this computer. So I assume it is for this machine.
2. I think there is a lot more to learn about DSDT. You gave me a very good starting point.
3. I still don't quite understand your comment below. Could you help me understand better?

Please see than you are typing the wrong address in device-properties injection. find the correct address in ioreg: "pcidebug" = "4:5:0".


Thanks!

#8
juanerson

juanerson

    InsanelyMac Legend

  • Local Moderators
  • 1,424 posts
  • Gender:Male
  • Location:Tru, Venezuela
Forget it, for wifi card I was confused between device-properties injection and the bootloader flag (PciRoot blablabla)

So, if I am working in device-properties language to inject the wifi card, then the PCI address is 4:5:0 (pcidebug in ioreg), equivalent to: PciRoot(0x4)/Pci(0x5,0x0)/Pci(0x0,0x0) in decimal, for convert to EFI String (which is you see in device-properties) hexadecimal. Information here.

Where:
4 = is the PCI port attached.
5 = the address of the wifi card.
0 = nothing in this place.

#9
salado

salado

    InsanelyMac Protégé

  • Members
  • PipPip
  • 55 posts
  • Gender:Male
Got it. I will try to play it a little and report back. So far with DSDT injection (and removal of AppleGraphicsControl/ApplePolicyControl), everything works well.
I will try to play with the device-properties to see if it can replace the DSDT injection.

Thanks again juanerson!





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy