Jump to content

BCM5722, BCM5754/M, BCM5755/M, BCM5787/M and BCM5906/M NIC driver (32/64-bit)


adlan
 Share

251 posts in this topic

Recommended Posts

So I did notice that if I put a large amount of data through the card for ten minutes or so (say, Time Machine, for example) it simply stops sending and receiving data until I unload and reload the kext. I don't know if this issue is particular to my model or what. Nothing seems to be output in the logs about it, either. Hmm...

Link to comment
Share on other sites

adding that the Dell 580 MT has a broadcom onboard NIC w/ Device id of 1691

 

original how-to guide had link for BCM5701 which worked thru SL 10.6.7

upgraded to lion and would fail to load kext on boot.

had tried fixing with kext utility to reset permissions which did not work.

 

replaced with this one, modified info.plist to show 1691 , reset oermissions and worked on first try..

 

spent whole day looking for this..

 

thanks again..

Link to comment
Share on other sites

Hi

 

Thank you for this great work!!

You saved my day!!!!

 

I am running a n680i mobo with NIC BRCM5754 (Dell XPS 720) and the kext is running perfectly with 10.6.4 and then with 10.6.8 combo update!!!!

Link to comment
Share on other sites

Hi

 

Thank you for this great work!!

You saved my day!!!!

 

I am running a n680i mobo with NIC BRCM5754 (Dell XPS 720) and the kext is running perfectly with 10.6.4 and then with 10.6.8 combo update!!!!

Hello,

 

I followed verdant's guide to prepare my sl10.6.8 running in the 32 bits mode to run in the 64 one.

My system is now 64 bit enabled, but it canno't connect to internet anymore!!!

I check:

- the kext is loaded

- I repaired the permissions with kext wizard

 

The card is detected, the mac address is correctly reported, but the dot stays on yellow...

In verbose mode, i have an error message telling me that the link canno't me maintained. I will report here the full message from the logs...

If i understand correctly kext wizard, the kext is 64 bits capable...

Any idea? Missing dependences?

I changed my bootloader from bootSL123sata for a custom cd made with bootcdmaker based on Chameleon RC5 and installing the kexts recommanded by verdant to run lion on nforce mobos...

Link to comment
Share on other sites

So I did notice that if I put a large amount of data through the card for ten minutes or so (say, Time Machine, for example) it simply stops sending and receiving data until I unload and reload the kext. I don't know if this issue is particular to my model or what. Nothing seems to be output in the logs about it, either. Hmm...

 

I have noticed the exact same.

Link to comment
Share on other sites

Hello guys,

just wanted to tell you that the driver is working also with a BCM5761e (Del M6400 Covet) by adding the pci id 14e4:1680 to the Info.plist

 

Working in Lion, haven't tested rellay big transfers (10GB at the moment), willl try to overload the nic and see what happens

 

 

Thanks and Regards

 

Mattia

Link to comment
Share on other sites

Hello guys,

just wanted to tell you that the driver is working also with a BCM5761e (Del M6400 Covet) by adding the pci id 14e4:1680 to the Info.plist

 

Working in Lion, haven't tested rellay big transfers (10GB at the moment), willl try to overload the nic and see what happens

 

 

Thanks and Regards

 

Mattia

 

.. and I am happy to add also that my Broadcom BCM57780 (integrated on a Dell precision T1500 workstation motherboard) is working as well:

 

pci id: 14e4:1692

description: 02:00.0 Ethernet controller: Broadcom Corporation NetLink BCM57780 Gigabit Ethernet PCIe (rev 01)

 

This is a diff against the latest version of the driver:

 git diff		  
diff --git a/BCM5722D.cpp b/BCM5722D.cpp
index 0f54763..f5afd66 100644
--- a/BCM5722D.cpp
+++ b/BCM5722D.cpp
@@ -37,6 +37,8 @@ static const struct SupportedDevice
  { DEVICEID_BCM5906,  "BCM5906 NetLink (TM) Fast Ethernet" },
  { DEVICEID_BCM5906M, "BCM5906M NetLink (TM) Fast Ethernet" },
  { DEVICEID_BCM57788, "BCM57788 NetLink (TM) Gigabit Ethernet" },
+  { DEVICEID_BCM57780, "BCM57780 NetLink (TM) Gigabit Ethernet" },
+  { DEVICEID_BCM5761E, "BCM5761E NetLink (TM) Gigabit Ethernet" },
  { 0, NULL }
};

diff --git a/BCM5722D.xcodeproj/project.pbxproj b/BCM5722D.xcodeproj/project.pbxproj
index 257242b..819be7b 100644
--- a/BCM5722D.xcodeproj/project.pbxproj
+++ b/BCM5722D.xcodeproj/project.pbxproj
@@ -135,7 +135,6 @@
					isa = PBXProject;
					buildConfigurationList = 1DEB91DD08733DB10010E9CD /* Build configuration list for PBXProject "BCM5722D" */;
					compatibilityVersion = "Xcode 3.1";
-					   developmentRegion = English;
					hasScannedForEncodings = 1;
					knownRegions = (
							English,
diff --git a/Info.plist b/Info.plist
index cb15b33..2af72c6 100644
--- a/Info.plist
+++ b/Info.plist
@@ -44,6 +44,8 @@
							<string>pci14e4,1693</string>
							<string>pci14e4,1712</string>
							<string>pci14e4,1713</string>
+							   <string>pci14e4,1680</string>
+							   <string>pci14e4,1692</string>
					</array>
					<key>IOProviderClass</key>
					<string>IOPCIDevice</string>
diff --git a/Register.h b/Register.h
index d9b9e44..4dfff69 100644
--- a/Register.h
+++ b/Register.h
@@ -31,6 +31,8 @@
#define DEVICEID_BCM5906				  0x1712
#define DEVICEID_BCM5906M				 0x1713
#define DEVICEID_BCM57788				 0x1691
+#define DEVICEID_BCM5761E				 0x1680
+#define DEVICEID_BCM57780				 0x1692

#define PHYID_MODEL_5754_5787			 0x0E
#define PHYID_MODEL_5755				  0x0C

 

 

Ps: I have tested the BCM5671E with sustained transfers of up to 100GB without any slow down or interruption, haven't tried waking up form sleep since sleep doesn't work with the M6400, multiple ifconfig up and down work without any issue so far.

 

I also tested the BCM57780 with 10GB+ of sustained transfer and so far it has worked without interruptions/slowdowns and transfer rates of around 60MB/sec :D

Link to comment
Share on other sites

Hello guys,

just wanted to tell you that the driver is working also with a BCM5761e (Del M6400 Covet) by adding the pci id 14e4:1680 to the Info.plist

 

Working in Lion, haven't tested rellay big transfers (10GB at the moment), willl try to overload the nic and see what happens

 

 

Thanks and Regards

 

Mattia

 

In addition to Mattia. I am in the same position however as he has mentioned to me in another thread, the network cable has to be connected on startup. When it boots you see the mac address applied and shows in the network config page and works. If it's not connected and you boot it loads with all zeros and won't get DHCP. If I do "sudo ifconfig en0 ether <mac address>" it then works but still shows zeros in the mac address in the network config. Either situation the card is detected just with a network cable connected on boot it's automatic without a cable plugged in you have to manually set the mac address to get it working. Had a driver or actually multiple drivers in Snow Leopard that always set it right.

 

JR

Link to comment
Share on other sites

Hello,

 

I followed verdant's guide to prepare my sl10.6.8 running in the 32 bits mode to run in the 64 one.

My system is now 64 bit enabled, but it canno't connect to internet anymore!!!

I check:

- the kext is loaded

- I repaired the permissions with kext wizard

 

The card is detected, the mac address is correctly reported, but the dot stays on yellow...

In verbose mode, i have an error message telling me that the link canno't me maintained. I will report here the full message from the logs...

If i understand correctly kext wizard, the kext is 64 bits capable...

Any idea? Missing dependences?

I changed my bootloader from bootSL123sata for a custom cd made with bootcdmaker based on Chameleon RC5 and installing the kexts recommanded by verdant to run lion on nforce mobos...

 

Update !

I followed Verdant's advice: I removed my pci wifi card, and my pci Audigy card. connection was back with my NIC card.

Next step: Lion install!!!!

Link to comment
Share on other sites

How did you get it to work? Anything not mentioned here? Did you add PCI flags to a plist somewhere?

 

EDIT: D'oh, yep, I added the 1691 flag to Info.plist and it worked with the standard Apple driver. If I need to use this one I'm sure it'll be just as easy to get working...

 

Works great on 10.7 64-bit with a BCM57788 (14e4:1691). Thanks!
Link to comment
Share on other sites

  • 2 weeks later...

Thanks!

Precision M6300 Broadcom Netxtreme 5756M works by adding pci id 14e4,1674 to the Info.plist file of your kext, however it appears that it attempts to connect even without a network cable plugged in and so it needs to be disabled and re-enabled upon plugging a cable in.

Tested on 10.7.1 Lion

Link to comment
Share on other sites

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

THANX A LOT ;) You are THE BEST

 

Since now one year i'd bought a PCI express card Dell BCM 5722 NetXtreme NIC, and it never works... I've made a mistake cause only the BCM5721 was supported at this time

 

And hopefully, you have sent this marvellous Kext which has worked at the first try

 

Merci ( Sorry for my English, I'm French )

 

Jérome AKA Manoooze

Link to comment
Share on other sites

  • 2 weeks later...
thanks good job men

 

14e4 : 1692

 

works well snow 64 and lion 10.7 (Build 11A459e) 64

 

Solved after inserting Device ID in info.plist, thanks :)

Amazed to hear you have same device like mine with same device id i.e., 14e4: 1692 and Lion. However, it is not working for me.

 

When I boot my pc, I can see following messages:

Lan Controller [14e4:1692]::PciRoot(0x0)/Pci(0x1c,0x0)/Pci(0x0,0x0)
Setting up LAN keys

Another thing is that, Lion is treating my Atheros wifi card as ethernet and is listed at en0 but it says it is ethernet. I did install BCM5722D-1.kext, however, when I looked at Info.plist, I cannot see my Device ID listed there. What about you? What about inside IONetworkingFamily.kext? Can you give me your IONetworkingFamily.kext, so that I can have a try? Did you do any changes to make kext work?

 

Hi,

 

I've decided to scratch an itch and develop a driver for my nic(5787m). Although there has been a working driver for the card, it is a hexedited version which i thought is not a permanent solution :).

 

This driver is implemented based on the BCM5722 Programmer's Guide provided in Broadcom's open source developer resource. Additional information is gleaned from Linux(tg3) and FreeBSD(if_bge) driver. Since the manual covers more than one model, i decided to include support for some of the models documented.

 

It should support the following models:

 

  • BCM5722
  • BCM5754
  • BCM5754M
  • BCM5755
  • BCM5755M
  • BCM5787
  • BCM5787M #
  • BCM5906 #
  • BCM5906M #

 

# - tested

 

Features not implemented as of this release:

 

  • Wake-on-LAN

 

Installation

 

Install to /System/Library/Extensions

 

  • manually copy the kext to /S/L/E and repair permissions or
  • use KextWizard

 

Issues

 

Please report any issues you found at https://github.com/adlan/BCM5722D/issues

 

Contributing

 

Source code is available at https://github.com/adlan/BCM5722D. See project's wiki for details

 

Credit

 

  • broadcom for releasing the programmer's guide
  • authors of Linux(tg3) and FreeBSD(if_bge) driver
  • early beta testers (acero,Hacktrix2006,quadomatic,queshaolangman,Zprood)

 

Disclaimer

This driver is neither supported nor endorsed by Broadcom. Zombies may invade your house and i take no responsibility for whatever happens. Use at your own risk

 

don't forget to report how it's going

enjoy!

Many many thanks for your effort:)

Link to comment
Share on other sites

  • 3 weeks later...
  • 2 weeks later...
  • 2 weeks later...
Hi,

 

I've decided to scratch an itch and develop a driver for my nic(5787m). Although there has been a working driver for the card, it is a hexedited version which i thought is not a permanent solution :o.

 

This driver is implemented based on the BCM5722 Programmer's Guide provided in Broadcom's open source developer resource. Additional information is gleaned from Linux(tg3) and FreeBSD(if_bge) driver. Since the manual covers more than one model, i decided to include support for some of the models documented.

 

It should support the following models:

 

  • BCM5722
  • BCM5754
  • BCM5754M
  • BCM5755
  • BCM5755M
  • BCM5787
  • BCM5787M #
  • BCM5906 #
  • BCM5906M #

 

# - tested

 

Features not implemented as of this release:

 

  • Wake-on-LAN

 

Installation

 

Install to /System/Library/Extensions

 

  • manually copy the kext to /S/L/E and repair permissions or
  • use KextWizard

 

Issues

 

Please report any issues you found at https://github.com/adlan/BCM5722D/issues

 

Contributing

 

Source code is available at https://github.com/adlan/BCM5722D. See project's wiki for details

 

Credit

 

  • broadcom for releasing the programmer's guide
  • authors of Linux(tg3) and FreeBSD(if_bge) driver
  • early beta testers (acero,Hacktrix2006,quadomatic,queshaolangman,Zprood)

 

Disclaimer

This driver is neither supported nor endorsed by Broadcom. Zombies may invade your house and i take no responsibility for whatever happens. Use at your own risk

 

don't forget to report how it's going

enjoy!

its works fine with device id 1600 :)

A BIG THANKS!!!!

 

when you have free time please fix the wake on lan :)

THANKS!

  • Like 1
Link to comment
Share on other sites

 Share

×
×
  • Create New...