InfiniteMac OSx86

InfiniteMac OSx86 (http://infinitemac.com/forum.php)
-   10.X (http://infinitemac.com/forumdisplay.php?f=36)
-   -   BCM5754/M,BCM5755/M,BCM5787/M,BCM5906/M NIC driver for 10.6 (32/64) [update 22/5] (http://infinitemac.com/showthread.php?t=6946)

adlan 02-12-2011 05:45 AM

BCM5754/M,BCM5755/M,BCM5787/M,BCM5906/M NIC driver for 10.6 (32/64) [update 22/5]
 
1 Attachment(s)
10.6.X Broadcom NIC driver for BCM5754/M,BCM5755/M,BCM5787/M,BCM5906/M (32/64)

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 plus no source code is accessible. well, if it did, this project wouldn't exist :).

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:
  1. BCM5722
  2. BCM5754
  3. BCM5754M
  4. BCM5755
  5. BCM5755M
  6. BCM5787
  7. BCM5787M #
  8. BCM5906 #
  9. BCM5906M #

# - tested

Features not implemented as of this release:
  • Wake-on-LAN

Installation

Install to /System/Library/Extensions.

Either manually copy it to S/L/E and repair permissions or simply use KextWizard (kexts.com mirror)

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

Credits
  • broadcom for releasing the programmer's guide
  • authors of Linux(tg3) and FreeBSD(if_bge) driver
  • early beta testers from insanelymac forum (acero,Hacktrix2006,quadomatic,queshaolangman,Zpro od)

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

Update
Fix device detection problem affected to those who have cards with alphabets in its device id(5722,5754,5755,5787). Thanks to FredWst for spotting the culprit

enjoy!

chinasky 02-15-2011 11:03 PM

Laptop lenovo n500, with a bcm5906M. Working fine, no kp at the moment.

Thank you!

adlan 02-16-2011 02:13 PM

Quote:

Originally Posted by chinasky (Post 52745)
Laptop lenovo n500, with a bcm5906M. Working fine, no kp at the moment.

Thank you!

glad to hear that! :)

pat98usb 02-16-2011 11:03 PM

Can you make it work for also for broadcom bmc57780 ,, pci14e4,1692
Thanks

quinielascom 02-17-2011 12:45 AM

Thanks seem work fine, tested with BCM5787M.

Is possible set your driver to display nothing in system log ?

In my system log I have:

Code:

BCM5722D (Build date/time: Feb 11 2011 16:21:32)
BCM5722D (setupDriver:920): MSI index on 1
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2687 iterations
my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
my_name_adlan_BCM5722D: Loaded successfully
BCM5722D (setPowerState:84): Changing power state from 1 to 0
my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2638 iterations
BCM5722D (setMedium:471): Change medium: kIOMediumEthernetAuto
BCM5722D (setMedium:496): Change medium: kLinkDuplexNegotiate
BCM5722D (configureLinkAdvertisement:364): advertiseFe: 5E1
BCM5722D (configureLinkAdvertisement:365): advertiseGe: 300
BCM5722D (startAutoNegotiation:522): Adv reg: 5E1


adlan 02-17-2011 05:41 AM

Quote:

Originally Posted by pat98usb (Post 52752)
Can you make it work for also for broadcom bmc57780 ,, pci14e4,1692
Thanks

sorry, i'm afraid that is not possible for me now. I'll release the source code, so anybody interested can try to work on it if possible.

adlan 02-17-2011 05:51 AM

Quote:

Originally Posted by quinielascom (Post 52753)
Thanks seem work fine, tested with BCM5787M.

Is possible set your driver to display nothing in system log ?

In my system log I have:

Code:

BCM5722D (Build date/time: Feb 11 2011 16:21:32)
BCM5722D (setupDriver:920): MSI index on 1
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2687 iterations
my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet
my_name_adlan_BCM5722D: Loaded successfully
BCM5722D (setPowerState:84): Changing power state from 1 to 0
my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55
BCM5722D (resetAdapter:144): 4B657654 to B49A89AB in 2638 iterations
BCM5722D (setMedium:471): Change medium: kIOMediumEthernetAuto
BCM5722D (setMedium:496): Change medium: kLinkDuplexNegotiate
BCM5722D (configureLinkAdvertisement:364): advertiseFe: 5E1
BCM5722D (configureLinkAdvertisement:365): advertiseGe: 300
BCM5722D (startAutoNegotiation:522): Adv reg: 5E1


no :D, i'll upload a non-chatty version later.
thank you for testing!

limiter121 02-27-2011 06:58 PM

I have a Lenovo B550 laptop with a BCM5906M and it works great.

Thanks a lot !

adlan 02-28-2011 04:26 PM

Quote:

Originally Posted by limiter121 (Post 52846)
I have a Lenovo B550 laptop with a BCM5906M and it works great.

Thanks a lot !

great, thanks! :)

adminio 03-01-2011 03:56 PM

Thanks! I have a Acer5315 w/BCM5906M works!