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:
# - tested Features not implemented as of this release:
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
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! |
Laptop lenovo n500, with a bcm5906M. Working fine, no kp at the moment.
Thank you! |
Quote:
|
Can you make it work for also for broadcom bmc57780 ,, pci14e4,1692
Thanks |
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) |
Quote:
|
Quote:
thank you for testing! |
I have a Lenovo B550 laptop with a BCM5906M and it works great.
Thanks a lot ! |
Quote:
|
Thanks! I have a Acer5315 w/BCM5906M works!
|
You got my 5906M card working (even in Lion)! I'm almost speechless. I never thought that would happen! You rock! Thank you. :)
|
Dell XPS m1330
Hi,
I have a Dell XPS m1330, Hardware Info reports a 5906M network card, but I tried to install your driver without success: I can't see any new interface in System Preferences / Network. In /var/log the only mention I found is in system.log: com.apple.kextd[10]: BCM5722D.kext has no Info.plist file. com.apple.kextcache[591]: BCM5722D.kext has no Info.plist file. Any idea? Thank you Marco |
Quote:
Terminal, ls /System/Library/Extensions/BCM5722D.kext/Contents |
Quote:
Quote:
thanks! |
Quote:
|
OMG i've found this thread and I'm ruined.
Because I was writing my own driver for bcm5906m too :) I started reading 5722-PG101-R.pdf and if_bge.c in January and just today got working rx and tx without checksum offloading support, multicast and power state switching. And now I don't know what to do, either to delete my http://code.google.com/p/osx-bcm5906m/ project which is still under construction, or finish the driver and upload it there, but now it doesn't make any sense :confused: |
Quote:
initially, i developed this driver for my card(5787m), since bcm5906 is also documented in the manual, i decided to support the model. since you have started, don't stop! just finish it, take this as an exercise for you, it gives you experience and it can be beneficial to you and the community in the future. surely it seems like a waste of time, but it's your choice. if it were for me, i would go for that route ;) |
Quote:
|
adlan
Superb! Better to have a log with only, my_name_adlan_BCM5722D: Model: BCM5787M NetLink (TM) Gigabit Ethernet my_name_adlan_BCM5722D: Ethernet address 00:11:22:33:44:55 This way, much cleaner. Thanks |
Quote:
thanks! :) |
adlan
Can you also please update the source. Thanks :) |
Hi, it's me again :)
Thanks to your code I've fixed a couple of my bugs and I think I've found one in your setMulticastList function. Quote:
|
Quote:
thanks for pointing that out :) |
is it possible to make a Driver for BCM4357 rev1 ?
I have a Lenovo G560 with this Wlan Card.
That would be so great! And if not, what Wlan Card would you recomend me to buy for use in osx? Thanks! |
Works in the Lenovo S12
Excellent! Works for (LAN) BCM 5906M on the Lenovo S12 :)
Thank's! |
Quote:
I recommend buying external wireless usb adapter and I personally use dlink dwa-110. you can find more supported models in the Hardware Compatibility List at OSx86 project wiki |
Quote:
|
Thanks, thanks, thanks!!! It is really unbelievable that someone have done this at last! :)
keep up the good work! Work's great on my lenovo s10e 4086RLG :cool: Quote:
|
Quote:
Another thing, Please, do you can compile your driver for Leopard 10.5.x too? |
Hi adlan, I have a problem in the 10.6.7, when I put the laptop to sleep for a hour or a little longer the driver can't work, network disconnect. After using Kextload command to unload and reload it work come back.
Is it a problem of system ? maybe we should compile it in the 10.6.7, I have try repair permissions and rebuild kernel caches Thanks. Edit: I try to compile the sources code under 32bit 10.6.7 with xcode 3.2.5 and get some warnings like : Code:
BCM5722D-18e3e93/BCM5722D.cpp:536: warning: implicit conversion shortens 64-bit value into a 32-bit value |
Quote:
For the warning message, you can just ignore it as there are some conversion which requires a 64bit value to be broken into 2 32bit value to fit it into the hardware registers. |
Here is:
Code:
Friday, March 25, 2011 4:49:52 PM Asia/Shanghai This is the kext logs you release before: Code:
Mar 19 22:51:18 yuns-MacBook-Pro kernel[0]: System Sleep |
Hi adlan,
I have just tested your kext - it makes my BCM5787M work. Moreover in "System Profiler" I can see correct information about the card (while using 10.6.3 modified BCM5701 plugin i got pci14e4,1693 instead of real name despite of DSDT patches I added). But there's one problem - after loading the kext my system slowed down a lot. I barely managed to type sudo kextunload BCM5722D.kext in terminal. I didn't got such effects after loading hexedited plugin. About 5 minutes later I used kextload command and got slow down again - but the negative effect was much lighter, I'd say about one tenth of first one. Maybe it might have something to do with code optimizations? I really dunno. I keep my fingers crossed for this project - who knows, how long 10.6.3 kext is going to work? It may get broken in Lion or even next update. Regards, Astarael PS Sorry for my English, still learning ;) |
Quote:
can you try this kext, http://cl.ly/3e3l2N2t1n242a3O0T0I and send me the log? take the line starting with BCM5722D PS no problem, me too :) |
Hi guys I've got an Acer Aspire 2920 with broadcom BCM5787M.
I tried to add the file in attachment of this post "BCM5722D.kext" in system\library\extesion but after reboot my lan still don't work... :(. PC: Acer Aspire 2920 ( Intel Core 2 Duo chipset: intel 965) Mac Os X: 10.6.6i By hazard p.s.: I have also tried to install max os x 10.6.2 but the result is the same with this kext my lan don't working.... in mac manager as Ethernet Cards don't result anything. p.p.s. after added the kext file in library directory displays a message : System extesion cannot be used The system extension " /System/library ........." was installed improperly and cannot be used. Please try reinstalling it.... what's my problem? thank u guys greetings from Italy |
Quote:
usually that error message pops up when kext doesn't have the proper permission. To fix this, you need to change the kext permission either run disk utility then repair permission or in terminal, Code:
cd /System/Library/Extensions |
Quote:
Anyway, I placed the kext you gave me in /S/L/E, then chmod and chown it and loaded it with kextload. This is what I got in system Console: Code:
11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ; PWD=/Users/astarael ; USER=root ; COMMAND=/sbin/kextload /System/Library/Extensions/BCM5722D.kext/ PS I wouldn't advise using KextHelper in Snow Leopard - it doesn't work well. You might want to test KextWizard instead (I won't post a link 'cos I'm not sure if it is permitted :P) |
I have device 14e4:167b Broadcomm 5755 onboard nic on an hp xw6600 machine. The kext appears to fail to do anything at all. There is no mention of it in any of the logs in var/log
i've tried deleting and reinstalling the kext with both kext helper b7 and kext wizard, and rebuilding kext cache. I've tried using the zip file attachee to this thread, and rebuilding the kext from the source. No difference. I verified the device id w/ dpci manager. Not sure what else to try? it "works" with the hacked 5701 kext floating around, in that it gets an ip and can connect, but the hacked 5701 has horrible upload problems that make it incredibly slow or times out, which is why I arrived here. Any ideas? |
After you start your system, try to type in the terminal kextstat | grep BCM and see if there are any results. If not - kext in fact is not being loaded at all...
Did you trierd to force it with kextload command? |
sorry for the delay, sometimes i didn't notice new post on this thread.
Quote:
is that the only message logged for the kext? and after that your system starts slowing down? PS, yeah, kexthelper freeze on exit that it requires force quitting, though i didn't bother looking for another since the app still does what it should do :D. Anyway thank you for the advice, I'll try the app you mentioned and update the first post. |
Quote:
actually there has been a report on the same behavior as this. i'm still investigating what causes this problem and most likely come to a dead end. btw, do you have a vanilla or distro install? |
I didn't wan to say it to early, but now it seems to be fine... Somehow :P
The kext is loaded since about 24 hours and slow-down event didn't occur. At least so far :D While searching BCM in Console I got more results now. These is all I got since I have loaded the kext. Code:
11-04-18 18:13:12 sudo[255] astarael : TTY=ttys000 ; PWD=/Users/astarael ; USER=root ; COMMAND=/sbin/kextload /System/Library/Extensions/BCM5722D.kext/ |
Quote:
Code:
.. anyway, thank you for testing :) |
I think these power state changes are here because I used sleep a few times. So no need to worry, also your kext doesn't break sleep ;)
|
I've been using your kext for my Lenovo S10 (with a BCM5906). So far, it's been working great!
On your "not implemented" list you have: BCM5906/M - Isochronous Send Ring I was wondering what that actually means for us BCM56906 users? Do we lose any common feature/functionality? Also, I get 6MB/sec when transferring data from the ethernet connection. What do other people get? |
Quote:
since you didn't have any problems with it, i'll just ignore the curiosity :D |
Quote:
the isochronous send ring is just a performance enhancement on the transmit side, it's great for data streaming. I don't remember stumbling upon that feature implementation while reading tg3(linux) and if_bge(*bsd) source code though (maybe I missed it, but I'm quite sure about it). I don't know how much other people got since nobody put it up and I didn't ask for it either. Although I did do some benchmarking using tools like netperf and iperf. Generally I can say its performance is on par with the available driver with only slight difference. If you want the result, I can post it later as I need to dive deep into the disk looking for it :D. |
i have a lenovo g530
i installed the kext and got a kernel panic . :( |
Quote:
can you provide me your - card model - method of os installation (vanilla/distro(hazard,iatkos,etc) |
BCM 57778 support
Your kext works flawlessly (So Far)
I just add the HID for the BCM 57778 (1691) and off to the races. Throughput so far seems good. If I were you, just add the same to your distro and will include this card. Oh yes, this is a DVD Retail install of OSX Server 10.6 with Combo Update 10.6.7 |