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

  • 4 weeks later...
  • 4 weeks later...

I'm currently running Mavericks on my Dell XPS Studio 8100 Desktop PC.

 

This driver works fine until I put the PC to sleep, upon wake en1 disconnects and I can only seem to get it back on a reboot.

 

Has anyone else encountered this? Is there a way to fix the problem?

 

Please help.

Link to comment
Share on other sites

I'm currently running Mavericks on my Dell XPS Studio 8100 Desktop PC.

 

This driver works fine until I put the PC to sleep, upon wake en1 disconnects and I can only seem to get it back on a reboot.

 

Has anyone else encountered this? Is there a way to fix the problem?

 

Please help.

 

Yes, you can solve it with SleepWatcher 2.2 and editing rc.sleep and rc.wake  scripts like this:

 

rc.sleep:

sudo ifconfig en1 down

sudo kextunload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/BCM5722D.kext
 
rc.wake:
sudo kextload /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/BCM5722D.kext
sudo ifconfig en1 up
 
I get sleep working in this way.
Good hack.
  • Like 1
Link to comment
Share on other sites

Thanks for the info.

 

It took quite a bit of fiddling about to get working, namely due to the fact the docs don't mention you need to "touch" the rc files, which marks them as executable. Once i'd done this all was good.

 

http://tyhoffman.com/blog/2013/09/sleepwatcher-power-event-driven-automation/

 

So now I have a complete Mavericks installation running off the internal drive, it also dual boots to Windows 8.1 update via the Chimera bootloader.

 

It's about as unhacked as a hackmac can be, so i'll be able to run system updates with little worry.

 

CPU: i7 2.9Ghz - working

Sound: HDA Audio - all ports working

GFX: AMD HD 5000 - working

Ethernet (en1): BCM5581 - working with sleepwatcher

80211: working

Intel RAID: striping removed, defaults to AHCI. GPT Partitioned Drive 0 for OSX. MBR partitioned Drive 1 for WIndows 8.1.

Sleep/Reboot/Shutdown - no issues.

Firewire/USB/eSATA/Card reader - no issues.

 

 

Very happy!

 

M.

Link to comment
Share on other sites

  • 2 weeks later...

I am going to test this now on my HP XW6600 Workstation (2 x Quad Xeons) with 14e4,167b (5755 NetXtreme).

 

Results shortly.

 

PS. I need to roll back IOPCIFamily I think, to get SiliconImage3114 4port SATA PCI card working. My ASM1061 SATA 3.0 card works (and boots) fine, but I have no optical drive from only 2 ports :-(

Link to comment
Share on other sites

  • 3 weeks later...

The kext works perfectly for me on for Mavericks 10.9.3 on Aspire 4740G CORE i3 with BroadCom 57780.

My best wishes to the owner of this topic. Many thanks.

 

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 #


 

Link to comment
Share on other sites

  • 1 month later...

Thanks for the BCM5787_on.zip Applescript. It has finally got my Ethernet working on my HP 6710b with onboard BCM5787M :) :) :)

 

The Wifi with a BCM4321 card is working too. I used iAtkos S3 V2 to install Snow Leopard 10.6.3 on the laptop ( Thanks too iAtkos)! If the WiFi Quick Launch button is stuck off, go into BIOS and enable LAN/WLAN switching, reboot, then restart and re-enter BIOS and select Default Settings; this gets the little blue WiFi light back on after the next boot (Thanks Albatros Krasniqi on YouTube).

 

I've got Leo 10.5.8 and Windows 7 Pro 64bit working on two other partitions.

 

PS By installing the BCM5722D.kext with my Snow Leopard 10.6.3 I don't need to use tcpdump for the connection. Great! Thanks Adlan!

Link to comment
Share on other sites

  • 2 months later...
  • 2 weeks later...
  • 4 weeks later...

Hi. I have this chip:
Broadcom BCM57781 Ethernet Controller:
Vendor ID: 0x14e4
Device ID: 0x16b1
I download source BCM5722D-master. Add into info.plist my id, add into Register.h "#define DEVICEID_BCM57781                 0x16b1".
Then build. I got kext )))
 
After installation I got this results:

boot log:

 


2014-10-15 11:37:34 +0300 kernel[0]: BCM5722D (Build date/time: Oct 15 2014 11:13:44)
2014-10-15 11:37:34 +0300 kernel[0]: BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 1063 iterations
2014-10-15 11:37:34 +0300 kernel[0]: my_name_adlan_BCM5722D: Model: BCM57781 NetLink Gigabit Ethernet
2014-10-15 11:37:34 +0300 kernel[0]: my_name_adlan_BCM5722D: Loaded successfully
 
 
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (resetAdapter:145): 4B657654 to B49A89AB in 4676 iterations
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (setMedium:356): Change medium: kIOMediumEthernetAuto
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (setMedium:381): Change medium: kLinkDuplexNegotiate
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (configureLinkAdvertisement:555): advertiseFe: 5E1
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (configureLinkAdvertisement:556): advertiseGe: 300
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (startAutoNegotiation:578): Adv reg: 5E1
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (setMedium:367): Change medium: kIOMediumEthernet100BaseT
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (setMedium:381): Change medium: kLinkDuplexFull
2014-10-15 11:37:35 +0300 kernel[0]: my_name_adlan_BCM5722D: Advertising with limited capability, speed: 100 MBps, full duplex
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (configureLinkAdvertisement:555): advertiseFe: 501
2014-10-15 11:37:35 +0300 kernel[0]: BCM5722D (configureLinkAdvertisement:556): advertiseGe: 0
2014-10-15 11:37:36 +0300 kernel[0]: BCM5722D (startAutoNegotiation:578): Adv reg: 501
 
2014-10-15 11:37:37 +0300 kernel[0]: BCM5722D (setupPHY:96): Auxillary status: F534
2014-10-15 11:37:37 +0300 kernel[0]: BCM5722D (setupFlowControl:456): flowControl: 0
2014-10-15 11:37:37 +0300 kernel[0]: my_name_adlan_BCM5722D: Link up: 100 MBps, full duplex. Flow control: disabled 


 
And in system spec i've got. See pics i attach.
post-188311-0-48893100-1413363976_thumb.pngpost-188311-0-87767200-1413363977_thumb.jpg
 
But when i make build I see warnings in log:
post-188311-0-18903100-1413363979_thumb.jpg

Kext sees chip but no Rx traffic.
Can any one help me.

Link to comment
Share on other sites

  • 1 month later...
  • 4 weeks later...
  • 4 weeks later...
  • 2 weeks later...

Alex,

 

Would you be able to test a new approach to activate the BCM57780 (and many other cards) on OS X?

I posted the details here:

http://www.insanelymac.com/forum/topic/292117-broadcom-bcm57781-how-do-i-patch-the-kext-for-ml-1085/page-4?do=findComment&comment=2108018

 

I believe using the original Apple driver (without patching required in this case) could give you better performance and stability.

With your test results I would be able to take this forward.

Link to comment
Share on other sites

  • 11 months later...

Hi,

 

I use BCM5722D v2.3.5 on Yosemite with a Dell M4300.

I have the issue that BCM5722D doesn't work anymore after sleep if it's connected to gigabit ethernet switch. Ok with 100Mb ethernet switch.

 

Does anyone know if this issue was resolved ?

 

Thanks.

Jief


I forgot to say :

 

I forced the speed to 100Mb with "sudo networksetup -setMedia en2 100baseTX full-duplex" (doesn't work through system preferences, even on my real mac !). Then it's ok after sleep, even connected to a gigabit ethernet switch.

Link to comment
Share on other sites

  • 3 weeks later...

I have a dell t5400 with the Broadcom BCM5754 running El Capitan.  I've loaded the BCM5722D driver several times but the computer has been loosing the network connection after loading OS X.  I have a MAC address, but the driver seems to not be aware of the cable.  The strange thing is that the BIOS is aware of the connection until OS X takes control (or at least that's what seems to be happening).  Do you have any ideas as to the reason why?

Link to comment
Share on other sites

  • 2 months later...

Hi,

 

I've corrected the bug I was talking about Feb the 3rd.

 

here it is : http://www.insanelymac.com/forum/files/file/549-bcm5722d/

 

 

 

@dingdini :

 

Have you tried to remove these 2 files :

sudo rm /Library/Preferences/SystemConfiguration/preferences.plist

sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist

and reboot ?

 

 

Regards,

Jief

Link to comment
Share on other sites

  • 7 months later...

[sOLVED - but not working after wakeup]

 

Any solution for Integrated Broadcom® 5754 Gigabit Ethernet controller on Precision T5500 (14e4:1681), same issue as dingdini above also on EC?

 

The card does not seems to sense the cable attached (hence no IP from DHCP, manual does not work either)

 

EDIT

 

Followed this, installed the driver to

 

/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns/

 

fixed permissions, rebuild prelikedkernel

 

NO IP from DHCP, but manual IP works fine, so happy after all. Sadly onboard network does NOT work after sleep wakeup

Link to comment
Share on other sites

  • 4 weeks later...

I've made a small patch to this to fix the sleep/wake issue.

It's working for me under 10.12, on a Dell Precision T5400.

 

binary kext available here

 

The change to the source is as follows...

 

in BCM5722D.cpp in the function

IOReturn BCM5722D::enable(IONetworkInterface *iface)

-    selectMedium(getSelectedMedium());

+        serviceLinkInterrupt();

 

Any good programmer will be able to work out what that means, if you need more direction; then you shouldn't be attempting to compile kernel extensions until you have more programming experience.

  • Like 3
Link to comment
Share on other sites

  • 11 months later...

Hi ZombiRon,

 

did you modify source v2.3.6 ? If yes, maybe a 2.3.7 version could be done ?

 

Jief

 

Hi, I was using v2.3.6 but keeps freezing under heavy load (eg moving big files to shared folders into gigabit intranet) and then disconnecting until ethernet card service switch off and back on.

Manually switching to 100baseTX speed appears to solve this issue, however it works slower.

Then I tried the ZombiRon's kext that appears to be back to the 1.0 version and it seems to work at 1000baseT speed too. I just had to put "pci14e4,1680" string into info.plist for the card to be seen. It is working very well for my Dell Precision M6400 and I'll use this version from now on. I'll report any further info.

Link to comment
Share on other sites

  • 3 months later...

I've made v2.3.6 small changes for BCM5718
    1. for multi port(setting portGphy in MII read/write from PCIfunction no)
    2. setting MaxFrameSize of RCB of Rcv Std Producer Ring
    only above changes

It goes good,
   except  File receive of AFP
send is OK
NFS or SMB is OK
on 10.9.5

Does someone have same result ?

Link to comment
Share on other sites

 Share

×
×
  • Create New...