Jump to content
InsanelyMac Forum
mcsmart

Broadcom bcm43xx wireless driver [beta]

Recommended Posts

Update: 2009-04-29 4:39PM

 

Since it seems to be sort of difficult for new users to edit kext-files, I've written a small script which automatically adds the PCI IDs of all Broadcom wireless cards, which are AirPort compatible.

 

And this is where I need your feedback: Please post your Broadcom device IDs in this topic, if you have simply added them to the AppleAirPortBrcm4311.kext. Then I can add them to my script so new users can simply download the script and get their Broadcom wireless card to work.

So please post the PCI ID and maybe a little description (at least if the card is 802.11a, b or g).

 

Note: Only post the PCI ID if you simply have to add the ID to AppleAirPortBrcm4311.kext in order to get it working!

 

Supported Chipsets:

  • All Apple AirPort One Cards (4311,4312,4313,4319,431a,432a)
  • 4306, Broadcom BCM4306 802.11 b/g Wireless LAN (confirmed)
  • 4309, Broadcom BCM4309 802.11 b Wireless LAN
  • 4315, Broadcom BCM4306 802.11 b/g Wireless LAN
  • 4318, Broadcom BCM4318 [AirForce One 54g] 802.11g Wireless LAN (confirmed)
  • 4320, Broadcom BCM4320 b/g (confirmed)
  • 4324, Broadcom BCM4324 802.11 a/b/g Wireless LAN
  • 4325, Broadcom BCM4325 802.11 a/b/g Wireless LAN
  • 2b continued

Cards that are known to work:

  • Belkin F5D7000
  • Buffalo WL12-PCI-G545
  • Linksys PCMCIA Card WPC54G
  • Dynex DX-BNBC
  • Dynex DX-BGDTC
  • Probably tons of other cards, as long as they have a supported chipset...

Usage: unzip, open a Terminal window and type 'sudo ./bcm43xx_enabler.sh'. Reboot

 

It is recommended to install all AirPort-Updates from SoftwareUpdate before running this script.

Use this script at your own risk!!

 

Changelog:

  • Version 0.5.3
    - added many new device ids
  • Version 0.5.2
    - fixed wrong permissions for /System/Library/Extensions
  • Version 0.5.1
    - added 4307, 4308, 4310, 4322, 4323 - just for testing
    - repair permissions of /System/Library/Extensions - just to make sure
  • Version 0.5
    - 4325 confirmed
    - updated to zip file again
  • Version 0.5pre2 (Beta release!)
    - added more chipsets (4314, 4315), I don't know if they even work...
    - gziped, because I don't have zip installed atm
  • Version 0.5pre (Beta release!)
    - initial Leopard support
    - added more chipsets (4321, 4e,432a,432b,432c,432d, ...)
  • Version 0.4
    - Only delete Extensions.kextcache/Extensions.mkext and not Extensions.*
  • Version 0.3
    - Delete the kextcache automatically
    - Fixed a typo that wouldn't allow the majority of users to delete the Airport2.kext

FAQ:

  • "sudo: ./bcm43xx_enabler.sh: command can not be found"
    • N00b Attack: You need to be in the directory you have extracted the file to

    [*]"My card shows up as an AirPort but it says disabled or not configured"

    • This could have many reasons. Try one of the following things:

      • Delete the current network setup (in network preferences) and create a new one. Reboot.
      • If you had no luck, try this.
      • If that does not help, open Terminal and type: sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist. Reboot

      • If that does not help, try to move either the kext of your Wireless NIC or the kext of your wired NIC to a location where it does not get loaded on reboot. Then type (in Terminal):
        • sudo rm /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist
        • sudo rm /System/Library/Extensions.mkext
        • sudo rm /System/Library/Extensions.kextcache
        • Reboot

        [*]If that does not help either, try this. It says it is supposed to work for a LinkSys WMP54G, but I guess it should work with other AirPort cards too.

        [*]Some Laptops have an option "Enable Wireless Hot Keys" in the system BIOS. If you have such an option you can try to disable (or enable) it.

        [*]If you are using a PCI card, try putting the card into a different slot.

    [*]If none of these things did the trick, your card might have a crappy software power-on/off switch. Get a new one :whistle:

[*]I don't have AppleAirPortBrcm4311.kext

  • It should be on your install DVD. If not, you have to use Google a little bit. I will not send you this kext via E-Mail or PN.

bcm43xx_enabler_0.5.sh.zip

bcm43xx_enabler_0.5.2.sh.zip

bcm43xx_enabler_0.5.3.sh.zip

Share this post


Link to post
Share on other sites
Advertisement

Thank you guys, please keep on posting pci ids and maybe comments if you have successfully used the bcm43xx_enabler.

Share this post


Link to post
Share on other sites

I tested this installer. Changed IDs in my Broadcom kext, so OSX doesnt find my card. Restarted and there was no Airport anymore. Then I run this installer and restarted my sackintosh. And it worked! Found my card as Airport and everything was working again :(

 

Whats the point of AppleAirport2.kext?

Share this post


Link to post
Share on other sites

Well i got the airport in menu bar but when i open internet connect theres no aiport icon to configure, my id is 8320- 802.11 wireless LAN, any ideas??

Share this post


Link to post
Share on other sites

It's nice to hear that my little script worked for you :blink: I do not know exactly what the point of AppleAirport2 is, but it gives me (and lots of other users) an error when the system is booted. For that reason this extension seems to be useless (as long as you have an AirPortOne compatible card).

As far as I know the AirPort2 NIC is used in newer iBooks/PowerBooks...

 

Well i got the airport in menu bar but when i open internet connect theres no aiport icon to configure, my id is 8320- 802.11 wireless LAN, any ideas??

Go to "System Preferences" -> "Network".

Can you see the AirPort? Is there another network connection? Are the MAC addresses displayed correctly.

 

I could think of two things:

  • Your wireless card is turned of (hardware switch) OR
  • you have two network adapters and they are switched around now...

Share this post


Link to post
Share on other sites

I have a network card and that´s how i connect to the net. Could it be, since i had my id to airport2 my device ID?, Also when i use 10.4.8 i had access to my card, and only had my device ID to airport2. Testing @ the time Uphuk 10.4.9

Share this post


Link to post
Share on other sites
It's nice to hear that my little script worked for you :( I do not know exactly what the point of AppleAirport2 is, but it gives me (and lots of other users) an error when the system is booted. For that reason this extension seems to be useless (as long as you have an AirPortOne compatible card).

As far as I know the AirPort2 NIC is used in newer iBooks/PowerBooks...

The system is working without AppleAirport2 too (I deleted it).

Share this post


Link to post
Share on other sites
I can't find IO80211Family.kext. It's not in /System/Library/Extensions. ANy ideas why?

Which version of Mac OS X are you using? Did you try it with the JaS install DVD?

 

 

just causes my laptop to crash C500 14e4,4311

broadcom 4311 chipset

What does dmesg say? Can you give a dump of your syslog? I don't really think that the AirPort-driver is the cause for the crash...

Share this post


Link to post
Share on other sites

A part for a strange permission issue (whoami doesn't return anything on my setup) the script did the job nicely. Thank you!

Share this post


Link to post
Share on other sites
Which version of Mac OS X are you using? Did you try it with the JaS install DVD?

What does dmesg say? Can you give a dump of your syslog? I don't really think that the AirPort-driver is the cause for the crash...

I'll answer this as I am in a similair situation....

 

The results are the same no matter which distribution I use. If I have my BCM4311 mini PCI express card installed OS X crashes at boot. Am currently on my desktop so don't have the exact error message in front of me, but basically it gives a kernel panic when it tries to load the IO80211 kext. I have tried installing the kext from different versions including 10.4.6, .7, .8, and of course .9. It is just very odd as this is the closest one can get on a Hackintosh to having a true airport card. It even has the exact same 14e4,4311 device/vendor ID.

Share this post


Link to post
Share on other sites
I'll answer this as I am in a similair situation....

 

The results are the same no matter which distribution I use. If I have my BCM4311 mini PCI express card installed OS X crashes at boot. Am currently on my desktop so don't have the exact error message in front of me, but basically it gives a kernel panic when it tries to load the IO80211 kext. I have tried installing the kext from different versions including 10.4.6, .7, .8, and of course .9. It is just very odd as this is the closest one can get on a Hackintosh to having a true airport card. It even has the exact same 14e4,4311 device/vendor ID.

This is extremely odd... I have never experienced this behavior. Did you try to delete the AppleAirPort2.kext???

Are you using a laptop (internal Broadcom card) or are you trying to install this card in a standard mini PCI-Express slot of your desktop PC's mainboard? Anyway, actually it should not matter at all, I could imagine that this is a PCIe related issue...

Share this post


Link to post
Share on other sites

@ mcsmart

These is some threads that discussing the issue (presario C500 series issue). I don't know what happen with this laptop. I think this laptop has been cursed.... Maybe you can help. (2 guys will pay you 25 dollars each if you can)

 

http://forum.insanelymac.com/index.php?sho...056&hl=C500

http://forum.insanelymac.com/index.php?sho...547&hl=C500

http://forum.insanelymac.com/index.php?sho...153&hl=C500

Share this post


Link to post
Share on other sites

OK, I tried deleting the AirPort2.kext and still the same results, kernel crash. I have posted the text of the crash (well as much as I had patience for retyping) below:

 

panic(cpu 0 caller 0x001A496B): Unresolved kernel trap (CPU 0, Type 14=page fault), registers:

CR0: 0X8001003b, CR2: Ox00000000, CR3: 0x01c43000, CR4: 0x000006e0

EAX: 0x00000000, EBX: 0x00000000, ECX: 0x1ba02000, EDX: 0x00000000

CR2: 0x00000000, EBP: 0x1d3fbd28, ESI: 0x000014e4, EDI: 0x1ba02000

EFL: 0x00010201, EIP: 0x37d78019, CS: 0x00000008, DS: 0x02170010

 

Debugger called: <panic>

Backtrace, Format - Frame : Return Address (4 potential arguments on stack)

Insert several lines of hex addresses, please don't ask me to retype all this.

 

Kernel loadable modules in backtrace (with dependencies):

com.apple.driver.AirPortBrcm43xx(223.79)@0x37d46000

dependency: com.apple.iokit.IONetworkingFamily(1.5.1)@0x3342c000

dependency: com.apple.iokit.IOPCIFamily(2.1)@ox2d550000

dependency: com.apple.iokit.IO80211Family(154.1)@ox37d29000

 

Kernel version:

Darwin Kernel Version 8.9.1: Thu May 3 02:38:46 UZT 2007; made by ToH:xnu-792.18.15/BUILD/obj/RELEASE_I386

Share this post


Link to post
Share on other sites

I have been able to leave my 4311 card in now without causing a kernel crash. I am still unable to get the card to power on though. Here is how I got around the kernel panic:

 

1. Just got a new HD so performed a fresh install with Uphuck 1.3 10.4.9 release. (Leave the card out of the laptop for now)

2. DO NOT Install the 10.4.5 80211 kext at installation.

3. Completed install as normal.

4. Applied all updates (i.e. Security Update 2007-005, Airport update, etc.)

5. Using the Uphuck 1.3 DVD install the 10.4.5 80211 kext

6. Shut down

7. Install wifi (Ubuntu recognizes the card as a "Dell Wireless 1390", Hardware ID 0x14e4,4311

 

You will now be able to boot with the card installed and NOT get a kernel panic. Unfortunately this still does not do any good as it seems like the only way to bring the radio online is through Windows. Even Ubuntu sees the card, but can make zero use of it.

Share this post


Link to post
Share on other sites
Even Ubuntu sees the card, but can make zero use of it.

BTW: Of course you could use this card with Linux ;) . But the bcm43xx kernel module requires you to install the required firmware manually (using bcm43xx-fwcutter). Since the firmware is not open source it can not be included in a standard Linux distribution. Check the bcm43xx-fwcutter manpage...

 

Darwin probably crashes because it expects the card to be turned on. There has to be a pretty crappy software power switch in the card you are using. This is the only thing I could think of right now...

Share this post


Link to post
Share on other sites

I am beginning to think this is NOT a problem with the card itself. I am thinking more along the lines of the mini PCI express bus is not being properly recognized. Unfortunately that is beyond my skill level to address. It would be great if one of the guru's looked into this problem. It may be something as simply adding the proper device and vendor ID to the appropriate kext file. That is totally just a guess at this point though. I suppose the clencher would be finding another mini PCI-E wifi card and testing it.

Share this post


Link to post
Share on other sites

mcSmart,

 

Thank yu for your script. I do have a concern though. It locked up my machine a few times trying it but 3rd time was a charm. I forgot to put in the directory to save the backup files <- thats when it locked up. Anyway, this script worked for 2 of my wireless cards. They are:

 

Belkin F5D7000

Buffalo WL12-PCI-G545

 

Good work!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Recently Browsing   0 members

    No registered users viewing this page.



×