Contribute
Register

FakePCIID: Broadcom BCM57XX network OOB

Joined
Jul 3, 2014
Messages
933
Motherboard
Dell XPS 9360 (KabyLake R)
CPU
Intel i7 8550U
Graphics
Intel UHD 620
Mac
MacBook, MacBook Pro
Mobile Phone
Android
BCM57XX on OS X

A wide range of Broadcom network adapters can be supported OOB on OS X, without any kext patches required.
This will allow installing OS X updates without losing network functionality due to the patches changing.

It currently supports the following Broadcom devices:


  • Broadcom NetXtreme BCM5700 Gigabit Ethernet [14e4:1644]
  • Broadcom NetXtreme BCM5701 Gigabit Ethernet PCIe [14e4:1645]
  • Broadcom NetXtreme BCM5702 Gigabit Ethernet PCIe [14e4:1646]
  • Broadcom NetXtreme BCM5703 Gigabit Ethernet PCIe [14e4:1647]
  • Broadcom NetXtreme BCM5717 Gigabit Ethernet PCIe [14e4:1655]
  • Broadcom NetXtreme BCM5717 Gigabit Ethernet PCIe [14e4:1665]
  • Broadcom NetXtreme BCM5718 Gigabit Ethernet PCIe [14e4:1656]
  • Broadcom NetXtreme BCM5719 Gigabit Ethernet PCIe [14e4:1657]
  • Broadcom NetXtreme BCM5725 Gigabit Ethernet PCIe [14e4:1643]
  • Broadcom NetXtreme BCM5727 Gigabit Ethernet PCIe [14e4:16f3]
  • Broadcom NetXtreme BCM5761 10/100/1000BASE-T Ethernet [14e4:1688]
  • Broadcom NetXtreme BCM5762 Gigabit Ethernet PCIe [14e4:1687]
  • Broadcom NetXtreme BCM57760 Gigabit Ethernet PCIe [14e4:1690]
  • Broadcom NetXtreme BCM57764 Gigabit Ethernet PCIe [14e4:1642]
  • Broadcom NetXtreme BCM57767 Gigabit Ethernet PCIe [14e4:1683]
  • Broadcom NetLink BCM57781 Gigabit Ethernet PCIe [14e4:16b1]
  • Broadcom NetXtreme BCM57782 Gigabit Ethernet PCIe [14e4:16b7]
  • Broadcom NetLink BCM57785 Gigabit Ethernet PCIe [14e4:16b5] -- Confirmed
  • Broadcom NetXtreme BCM57786 Gigabit Ethernet PCIe [14e4:16b3] -- Confirmed
  • Broadcom NetXtreme BCM57787 Gigabit Ethernet PCIe [14e4:1641]
  • Broadcom NetLink BCM57788 Gigabit Ethernet PCIe [14e4:1691]
  • Broadcom NetLink BCM57790 Gigabit Ethernet PCIe [14e4:1694]
  • Broadcom NetLink BCM57791 Gigabit Ethernet PCIe [14e4:16b2]
  • Broadcom NetLink BCM57795 Gigabit Ethernet PCIe [14e4:16b6]
  • Broadcom NetLink BCM5785 Gigabit Ethernet [14e4:1699]
  • Broadcom NetLink BCM5785 Fast Ethernet [14e4:16a0]
  • Broadcom NetLink BCM5787M Gigabit Ethernet PCI Express [14e4:1693]
  • Broadcom Network Adapter [14e4:1689]

Note: These devices were obtained from the Broadcom Tigon3 driver and should be compatible.
I believe more devices could be supported in the future, depending on feedback.


Installation

Use Clover kext injection or place the attached kexts (FakePCIID.kext and FakePCIID_BCM577XX_as_BCM57765.kext) in /System/Library/Extensions and rebuild the kext cache.

Ensure your AppleBCM5701Ethernet.kext is vanilla and any previous Clover patches for the BCM577XX are removed.

Information & Download

For now the initial version is attached to this post, however the home of FakePCIID should have this injector available in the future.

https://github.com/RehabMan/OS-X-Fake-PCI-ID

Troubleshooting

In case it does not work, it would be helpful providing an IORegistry dump to debug issues.
Post ioreg: [Guide] How to Make a Copy of IOReg. Please, use the IORegistryExplorer v2.1 attached to the post! DO NOT reply to an ioreg from any other version of IORegistryExplorer.app.
 

Attachments

Joined
Feb 26, 2012
Messages
830
Motherboard
Acer Aspire 5750G
CPU
i7 2630QM
Graphics
GT 540M + HD 3000
Mobile Phone
iOS
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

Following up on a recent query about the Broadcom BCM57785 on Yosemite, I created a FakePCIID injector which could work.

It supports the following Broadcom devices:

  • BCM57760 [14e4:1690]
  • BCM57780 [14e4:1692]
  • BCM57790 [14e4:1694]
  • BCM57761 [14e4:16b0]
  • BCM57781 [14e4:16b1]
  • BCM57785 [14e4:16b5]
  • BCM57795 [14e4:16b6]

Note I believe more devices could be supported in the future, depending on test results

Installation

Place the attached kexts (FakePCIID.kext and FakePCIID_BCM577XX_as_BCM57765.kext) in /System/Library/Extensions and rebuild the kext cache.

Injecting them through Clover is also fine.

Ensure your AppleBCM5701Ethernet.kext is vanilla and any Clover patches for the BCM577XX are disabled.
If all goes well the device should automatically be detected.

Troubleshooting

In case the network card does not work it might require DSDT injection:
Code:
into method label _DSM parent_label GLAN remove_entry;
into device label GLAN insert begin
Method (_DSM, 4, NotSerialized)\n
{\n
        Store (Package () {\n
                "device-id", Buffer { 0xB4, 0x16, 0x00, 0x00 },\n
                "vendor-id", Buffer { 0xE4, 0x14, 0x00, 0x00 },\n
                "compatible", Buffer { "pci14e4,16b4" },\n
                "subsystem-id", Buffer { 0xB4, 0x16, 0x00, 0x00 },\n
                "subsystem-vendor-id", Buffer { 0xE4, 0x14, 0x00, 0x00 },\n
                "built-in", Buffer (One) { 0x01 },\n
        }, Local0)\n
        DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))\n
        Return (Local0)\n
}\n
end;
Also it would be helpful providing an IORegistry dump to debug issues.
I have BCM57785 and was using a Kext (attached) which injected the NIC, however never actually tested.
Both the kext and your FakePCIID's show the NIC, but the kext that I was already using looks like it injects better (cosmetically).
As I said I am yet to actually test as I don't need Ethernet at any point.
 

Attachments

Joined
Jul 3, 2014
Messages
933
Motherboard
Dell XPS 9360 (KabyLake R)
CPU
Intel i7 8550U
Graphics
Intel UHD 620
Mac
MacBook, MacBook Pro
Mobile Phone
Android
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

T1hom7as,

Just checked the driver you attached. That is actually a custom driver written from scratch for the Broadcom.

Original source: http://www.insanelymac.com/forum/topic/247470-bcm5722-bcm5754m-bcm5755m-bcm5787m-and-bcm5906m-nic-driver-3264-bit/

While its a great option, it might not have the same performance characteristics as the original Apple driver. Also the original Apple driver seems to be much more up to date.

Regarding the cosmetic differences, I will take a look to see what I can do.
I believe that can be easily resolved, so it shows the nice 'Product name'.

I will have to look at your IORegistry dumps on my Mac, but the initial results from your test look good.

Interesting would be to test the actual network link and also performance between the two drivers.
 
Joined
Jul 3, 2014
Messages
933
Motherboard
Dell XPS 9360 (KabyLake R)
CPU
Intel i7 8550U
Graphics
Intel UHD 620
Mac
MacBook, MacBook Pro
Mobile Phone
Android
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

T1hom7as,

Please try version "test2". I have taken up your feedback about cosmetic display and added that to the driver.
It should now display the product name properly. Additionally many more Broadcom devices were added.

Much appreciated if you can give it another try.

Also other testers with different Broadcom hardware are still required to ensure all is working properly.
 
Joined
Feb 26, 2012
Messages
830
Motherboard
Acer Aspire 5750G
CPU
i7 2630QM
Graphics
GT 540M + HD 3000
Mobile Phone
iOS
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

T1hom7as,

Please try version "test2". I have taken up your feedback about cosmetic display and added that to the driver.
It should now display the product name properly. Additionally many more Broadcom devices were added.

Much appreciated if you can give it another try.

Also other testers with different Broadcom hardware are still required to ensure all is working properly.
Still looks the same.
All tests are done with the Clover DSDT patches FixLAN_2000. But the only difference is injecting the PCI information.
When this is resolved, would you be able to implement a Clover patch on the fly/FakeID patch so that we wouldn't have to install additional kexts?
 

Attachments

RehabMan

Moderator
Joined
May 3, 2012
Messages
191,259
Motherboard
Intel DH67BL
CPU
Core i7-2600K
Graphics
Intel HD 3000
Mac
MacBook Air
Mobile Phone
iOS
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

...
When this is resolved, would you be able to implement a Clover patch on the fly/FakeID patch so that we wouldn't have to install additional kexts?
There is nothing wrong with using additional kexts in a situation like this. In fact, in many cases, it is preferable to using patches.
 
Joined
Jul 3, 2014
Messages
933
Motherboard
Dell XPS 9360 (KabyLake R)
CPU
Intel i7 8550U
Graphics
Intel UHD 620
Mac
MacBook, MacBook Pro
Mobile Phone
Android
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

T1hom7as,

Can you please post the ioregistry of "test2"?
I want to figure out why the model name is not showing as expected.
It should have shown in system profiler.
 
Joined
Feb 26, 2012
Messages
830
Motherboard
Acer Aspire 5750G
CPU
i7 2630QM
Graphics
GT 540M + HD 3000
Mobile Phone
iOS
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

T1hom7as,

Can you please post the ioregistry of "test2"?
I want to figure out why the model name is not showing as expected.
It should have shown in system profiler.
Attached:
 

Attachments

Joined
Jan 31, 2015
Messages
8
Motherboard
Yosemite
CPU
I3570K
Graphics
Dual AMD 7970 OC edition
Mac
MacBook Pro
Classic Mac
Mobile Phone
iOS
FakePCIID: BCM577XX as BCM57765 [Testers Required!]

Hi,

I would like to help out on this since I have a Broadcom BCM57781. I have one problem which is I do not have a vanilla version of the kext for my BCM57781. I load the one on this webpage http://www.insanelymac.com/forum/topic/292117-broadcom-bcm57781-how-do-i-patch-the-kext-for-ml-1085/page-4#entry2106396 . To see if I can get internet and connect to the appstore. While that one work it make my build freeze after 30 to 40 mins of use. Can you provide me a link to the vanilla BCM57781?. thanks.

PS.. in that link there us a post about FakePCIID, am assuming that is you right?
 
Top