Jump to content

Simple Broadcom Wirless Tutorial


sportman
 Share

147 posts in this topic

Recommended Posts

@Diabolik: Yes! Exactly like the "how to"

 

EDIT: now its ok, i can see and swap en0 with en1!

I save (with ^O), exit (with ^X), and reboot... and when i look at the file, en0 is back! :P

 

Watsup?! Did i miss something?

Edited by sofresh
Link to comment
Share on other sites

Sorry but i dont understand you :unsure:

 

Thats the part of the file:

<dict>
		<key>BSD Name</key>
		<string>en0</string>
		<key>IOBuiltin</key>
		<false/>
		<key>IOInterfaceType</key>
		<integer>6</integer>
		<key>IOInterfaceUnit</key>
		<integer>0</integer>
		<key>IOLocation</key>
		<string></string>
		<key>IOMACAddress</key>
		<data>
		ABcxvyBl
		</data>
		<key>IOPathMatch</key>
		<string>IOService:/AppleACPIPlatformExpert/PCI0@180000/AppleACPIPCI/P0P1@10/IOPCI2PCIBridge/WLAN@3/AirPort_Brcm43xx/IO80211Interface</string>
	</dict>

 

... so i dont find "<key>integer</key> <string>0</string>" :unsure:

Link to comment
Share on other sites

Ive tried everything, i still cant get it to work :thumbsup_anim:

 

i know it should work because other people have the same and it works for them :(

 

I have an ASUS card with a 4318 chip. I have tried everything, can someone help me? :(

Edited by Dazzy
Link to comment
Share on other sites

I have a Compaq C300 series and OSX works fine on it except wifi.

Today I googled and found something strange. The Mac address of wifi card on C300 is 00:14:a5:f0:e2:e3, and Google tells me that the manufacturer of the card concerned is Gemtek Technology Co., Ltd in Taiwan. Go to http://standards.ieee.org/regauth/oui/index.shtml and find it by yourself if you like. And according to another URL http://anonsvn.wireshark.org/wireshark/trunk/manuf , mac address of Broadcom card starts from 00:05:B5(or 00:0A:F7 or 00:10:18 ?---there are 3 companies with same name on the site).

I am not sure what this means. Do you think this as the reason we cannot use our card? The card on Compaq is not genuine Broadcom one?

Edited by cloudy
Link to comment
Share on other sites

Cloudy: That just means that the card is manufactured by Gemtek using the Broadcom chipset. It shouldn't make a difference, as the card should be detected by its PCI ID, not its MAC address.

 

 

I have a Compaq C300 family machine and have the same problem with the Broadcom wireless module not being recognized. It does show up in ioreg; here is the entry:

 

    | |   |   +-o PXS3@0  
   | |   |       {
   | |   |         "AAPL,slot-name" = <"PCI">
   | |   |         "IODeviceMemory" = (({"address"=18446744072904245248,"length"=16384}))
   | |   |         "device-id" = <11430000>
   | |   |         "IOChildIndex" = 1
   | |   |         "name" = "pci14e4,4311"
   | |   |         "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/RP03@1c0002/PXS3@0"
   | |   |         "IOName" = "pci14e4,4311"
   | |   |         "vendor-id" = 
   | |   |         "revision-id" = <01000000>
   | |   |         "subsystem-vendor-id" = <3c100000>
   | |   |         "IOInterruptControllers" = ("io-apic-0")
   | |   |         "Power Management private data" = "{ this object = 019b3980, interested driver = 019b3980, driverDesire = 0, deviceDesire = 0, ourDesiredPowerState = 0, previousRequest = 0 }"
   | |   |         "Power Management protected data" = "{ theNumberOfPowerStates = 3, version 1, power state 0 = { capabilityFlags 00000000, outputPowerCharacter 00000000, inputPowerRequirement 00000000, staticPower 0, unbudgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, timeToLower 0, settleDownTime 0, powerDomainBudget 0 }, power state 1 = { capabilityFlags 00000000, outputPowerCharacter 00000400, inputPowerRequirement 00000400, staticPower 0, unbudgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, timeToLower 0, settleDownTime 0, powerDomainBudget 0 }, power state 2 = { capabilityFlags 00000000, outputPowerCharacter 00000002, inputPowerRequirement 00000002, staticPower 0, unbudgetedPower 0, powerToAttain 0, timeToAttain 0, settleUpTime 0, timeToLower 0, settleDownTime 0, powerDomainBudget 0 }, aggressiveness = 0, myCurrentState = 0, parentsCurrentPowerFlags = 00000000, maxCapability = 0 }"
   | |   |         "acpi-reg" = <00000000>
   | |   |         "IOPCIExpressLinkStatus" = 4113
   | |   |         "class-code" = <00800200>
   | |   |         "compatible" = <"pci103c,1363","pci14e4,4311","pciclass,028000">
   | |   |         "subsystem-id" = <63130000>
   | |   |         "assigned-addresses" = <1000060200000000000000d00000000000400000>
   | |   |         "reg" = <00000600>
   | |   |         "IOInterruptSpecifiers" = (<1200000007000000>)
   | |   |       }
   | |   |       

 

Can anyone provide insight on why the Broadcom kext doesn't find this card?

Link to comment
Share on other sites

OK, check it out. I've got an HP Pavilion ZE4910us laptop that has been foiling me off and on for a few days with the wireless. The first couple of times I installed, it wouldn't detect as a device at all, then I unexpectedly had it work without me doing anything at all, but it was crashing left and right, so I needed to reinstall. I expected that something happened with my hardware (it's not in the best of shape) that would let it work more or less regardless of the situation, since I hadn't done anything to make it work that time. So I erased the partition and reinstalled, but no more wireless. Strange, I thought.

 

I had previously looked through the 'ioreg' output to see if my broadcom device was in there, and it wasn't, and even though the HP ZE4910us uses the 14e4:4320 (which is what lspci in Knoppix told me) device, which is in the default 10.4.8 Info.plist file, it wasn't detecting. I finally decided to get as much output from ioreg as I could (ioreg -l), and pore over it to see if I could find what I was looking for. 

 

    | |   |   +-o CBUB@5  <class IOPCIDevice, registered, matched, active, busy$
   | |   |   |   {
   | |   |   |     "IOInterruptSpecifiers" = (<0b00000007000000>)
   | |   |   |     "device-id" = <50ac0000>
   | |   |   |     "IOChildIndex" = 2
   | |   |   |     "name" = "pci104c,ac50"
   | |   |   |     "#size-cells" = <02000000>
   | |   |   |     "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/PCIB@1e0000/CBUB@500$
   | |   |   |     "IOName" = "pci104c,ac50"
   | |   |   |     "vendor-id" = <4c100000>
   | |   |   |     "revision-id" = <02000000>
   | |   |   |     "IOPCIHotPlug" = Yes
   | |   |   |     "IOPCIResourced" = Yes
   | |   |   |     "Power Management private data" = "{ this object = 02336a80$
   | |   |   |     "IOInterruptControllers" = ("8259-pic")
   | |   |   |     "Power Management protected data" = "{ theNumberOfPowerStat$
   | |   |   |     "acpi-reg" = <00280000>
   | |   |   |     "class-code" = <00070600>
   | |   |   |     "compatible" = <"pci104c,ac50","pciclass,060700">
   | |   |   |     "#address-cells" = <03000000>
   | |   |   |     "reg" = <00280200000000000000000000000000000000001028020200$
   | |   |   |     "ranges" = <00000082000000000000000000000082000000000000000$
   | |   |   |   }
   | |   |   | 
     | |   |   +-o MINI@6  <class IOPCIDevice, registered, matched, active, busy$
   | |   |     | {
   | |   |     |   "IODeviceMemory" = (({"address"=18446744073174777856,"lengt$
   | |   |     |   "device-id" = <" C">
   | |   |     |   "IOChildIndex" = 3
   | |   |     |   "name" = "pci14e4,4320"
   | |   |     |   "acpi-path" = "IOACPIPlane:/_SB/PCI0@0/PCIB@1e0000/MINI@600$
   | |   |     |   "IOName" = "pci14e4,4320"
   | |   |     |   "vendor-id" = <e4140000>
   | |   |     |   "revision-id" = <03000000>
   | |   |     |   "IOPCIResourced" = Yes
   | |   |     |   "subsystem-vendor-id" = <3c100000>
   | |   |     |   "Power Management private data" = "{ this object = 02336b00$
   | |   |     |   "IOInterruptControllers" = ("8259-pic")
   | |   |     |   "Power Management protected data" = "{ theNumberOfPowerStat$
   | |   |     |   "acpi-reg" = <00300000>
   | |   |     |   "class-code" = <00800200>
   | |   |     |   "compatible" = <"pci103c,12f8","pci14e4,4320","pciclass,028$
   | |   |     |   "assigned-addresses" = <1030028200000000000020e000000000002$
   | |   |     |   "subsystem-id" = <f8120000>
   | |   |     |   "reg" = <00300200000000000000000000000000000000001030020200$
   | |   |     |   "IOInterruptSpecifiers" = (<0b00000007000000>)
   | |   |     | }
   | |   |     | 
   | |   |     +-o AirPort_Brcm43xx  <class AirPort_Brcm43xx, registered, matc$
   | |   |       | {
   | |   |       |   "IOActiveMedium" = "00000080"
   | |   |       |   "IOFeatures" = 0
   | |   |       |   "IOMediumDictionary" = {"00000080"={"Type"=128,"Speed"=11$
   | |   |       |   "IOMatchCategory" = "IODefaultMatchCategory"
   | |   |       |   "CFBundleIdentifier" = "com.apple.driver.AirPortBrcm43xx"
   | |   |       |   "IOMinPacketSize" = 64
   | |   |       |   "IOPacketFilters" = {"IOEthernetWakeOnLANFilterGroup"=0,"$
   | |   |       |   "IOFirmwareVersion" = "4.80.46.0"
   | |   |       |   "IONameMatched" = "pci103c,12f8"
   | |   |       |   "IOVendor" = "Apple"
   | |   |       |   "IOModel" = "Wireless Network Adapter (802.11g)"
   | |   |       |   "IOLinkStatus" = 3
   | |   |       |   "APChipRev" = 3
   | |   |       |   "APRoamThresh" = 18446744073709551525
   | |   |       |   "IOProbeScore" = 0
   | |   |       |   "IOGeneralInterest" = "IOCommand is not serializable"
   | |   |       |   "IOMaxPacketSize" = 1518
   | |   |       |   "IOClass" = "AirPort_Brcm43xx"
   | |   |       |   "IOProviderClass" = "IOPCIDevice"
   | |   |       |   "Power Management private data" = "{ this object = 020d70$
   | |   |       |   "Power Management protected data" = "{ theNumberOfPowerSt$
   | |   |       |   "IOSelectedMedium" = "00000080"
   | |   |       |   "IOMACAddress" = <00904b9623f4>
   | |   |       |   "APCurrentSSID" = "justsomedude"
   | |   |       |   "APCurrentChannel" = 11
   | |   |       |   "IOLinkSpeed" = 54000000
   | |   |       |   "IOLocale" = "USA"
   | |   |       |   "APFeatures" = 1
   | |   |       |   "IONameMatch" = ("pci14e4,4328","pci14e4,4329","pci14e4,4$
   | |   |       | }
   | |   |       | 
   | |   |       +-o IO80211Interface  <class IO80211Interface, registered, ma$
   | |   |       | | {
   | |   |       | |   "IONetworkData" = {"IONetworkStatsKey"={"Size"=20,"Acce$
   | |   |       | |   "IOInterfaceState" = 3
   | |   |       | |   "IOInterfaceNamePrefix" = "en"
   | |   |       | |   "IOInterfaceUnit" = 1
   | |   |       | |   "IOActivePacketFilters" = {"IOEthernetWakeOnLANFilterGr$
   | |   |       | |   "IOLocation" = ""
   | |   |       | |   "IOInterfaceType" = 6
   | |   |       | |   "IOInterfaceFlags" = 34915
   | |   |       | |   "IOInterfaceExtraFlags" = 1073742144
   | |   |       | |   "IOMulticastAddressList" = <01005e0000fb01005e000001333$
   | |   |       | |   "IO80211DriverVersion" = "4.80.46.0"
   | |   |       | |   "IO80211Locale" = "FCC"
   | |   |       | |   "IO80211CountryCode" = "US"
   | |   |       | |   "IOControllerEnabled" = Yes
   | |   |       | |   "IO80211SSID" = "justsomedude"
   | |   |       | |   "BSD Name" = "en1"
   | |   |       | |   "IOBuiltin" = No
   | |   |       | |   "IOMediaHeaderLength" = 14
   | |   |       | |   "IO80211Channel" = 11
   | |   |       | |   "IOMaxTransferUnit" = 1500
   | |   |       | |   "IORequiredPacketFilters" = {"IOEthernetWakeOnLANFilter$
   | |   |       | |   "IOMediaAddressLength" = 6
   | |   |       | |   "IO80211Band" = "2 GHz"
   | |   |       | |   "IO80211HardwareVersion" = "vendorid: 0x14e4 deviceid: $
   | |   |       | |   "IOPrimaryInterface" = No
   | |   |       | | }
   | |   |       | | 
   | |   |       | +-o IONetworkStack  <class IONetworkStack, registered, matc$
   | |   |       |   | {
   | |   |       |   |   "IOProbeScore" = 0
   | |   |       |   |   "IOResourceMatch" = "IOBSD"
   | |   |       |   |   "IOClass" = "IONetworkStack"
   | |   |       |   |   "IOProviderClass" = "IOResources"
   | |   |       |   |   "CFBundleIdentifier" = "com.apple.iokit.IONetworkingF$
   | |   |       |   |   "IOMatchCategory" = "IONetworkStack"
   | |   |       |   | }
   | |   |       |   | 
   | |   |       |   +-o IONetworkStackUserClient  <class IONetworkStackUserCl$
   | |   |       |       {
   | |   |       |       }
   | |   |       | 
         | |   |       +-o IO80211LegacyUserClient  <class IO80211LegacyUserClient, $
   | |   |           {
   | |   |           }

 

It didn't have the AirPort_Brcm node until I rebooted it, which is the point that it

was detected. I noticed under my MINI@6 node, that there was an entry:

 

|   "compatible" = <"pci103c,12f8","pci14e4,4320","pciclass,028$

 

and once I copied that pci103c,12f8 into one of the <string> lines in the Info.plist file for the Broadcom driver under /System/Library/Extensions, ran 'kextcache', and rebooted, it was detected and the airport utility came up on the menu bar. Hooray!

 

I should note that the only reason that I checked that part of the tree is because I didn't recognize the Pci104c,ac50 device from the CBUB@5 entry, and a google sear

h told me that there's a Toshiba laptop with that device for a wireless device. So whatev'. A little detective work finally pays off.

Link to comment
Share on other sites

lucky you, dude.

I tried same thing as you, but no lucks. I dumped out ioreg and found out compatible code of "pci103c,1364", but after pasting it into /IO80211/Cont/Plug/AppleBrcm/Cont/Info and rebooting, nothing happened, unfortunately.

thanks

Link to comment
Share on other sites

Hi,

I am new to osx86 stuff. But I managed to get OS X (10.4.8) up and running on my HP Pavilion dv1000! I have a Broadcom chip as well - dev id 4320 - and I followed the instructions from sportman exactly. You must be careful, but I had to change en0 to en1. It works, I didn't think it would, but it did. You must do the permissions and you must reboot. I had to choose my network however, and I had to unplug my regular internal LAN card ( i mean, I had to Disconnect the ethernet cord from my computer, for the airport to function).

It's strange but OSX runs very cool (yet fast) on my laptop, with less fan noise. I get the impression that it likes OS X better than XP...

Take care,

Rich

Link to comment
Share on other sites

Open /Applications/Utilities/Terminal.app and type in "sudo rm -rf /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist" (without the qoutes). Now enter your password and reboot.

 

 

Thank you. It works for my 4311 card. I use this card fine on my 10.4.7. After I reinstalled 10.4.8. It was recognized as internal earthnet. With your method. It works now.

Link to comment
Share on other sites

i bought a laptop(HP Presario C300 series) a week ago. it has a broadcom that exactly matches the dev id as 4311, but it never apears as an installed one.

i have the kext file in my OSX 10.4.6.

do in need another kext file of OSX 10.4.3? Could someone help me with this kext file?

thanks

 

I have the Presario C500, which is basically the same. I have the same exact problem and I think I know why. It's because the wireless is not turned on (therefore the wifi light which lights up blue under Windows XP or Vista is not on). If there is a way to turn that thing on (I already tried pushing the button, but I think it's just a keyboard hot-key, so not workiing) then I am sure it will work with the built-in driver which already has the device id 4311.

 

One of you super hackers, could you please help us turn the wifi on?

 

Thanks very much! :censored2:

Link to comment
Share on other sites

Broadcom Wireless Tutorial

Kext Used

The kext used for this tutorial is the IO80211Family.kext. This kext needs to be put into /System/Library/Extensions/ if it is not already there.

 

Entering your device ID

  • Make a backup of IO80211Family.kext
  • Edit the .plist file

  • Once editing the plist navigate to the area where you see

  • Add a line with dev id (in place of XXXX)

Setting Permissions

  • Type these commands into terminal

Final touches (Optional)

  • edit the interface config in order to use the airport utility instead of istumbler.

  • swap the en0 with en1 for that device.
  • Run disk util and repair perms
  • Please note that you may need to change the number to en2 if you have 2 onbaord pci lan cards.

Sometimes your network card is already configured as an airport device and you do not need to swap the en #

 

Now i have folowed these instructions and i do have a network up and running with a Linksys wmp54G , the problem is that the connection is not stable at all, it often disconnects and it is impossible to download a file, or on the Lan to move a file from one computer to another. The machine is a stock ibm m42 that runs OSX flawlesly. When it runs XP from another disk there is no problems with the connection. It is running 10.4.8 JaS SSE2 SSE3

Link to comment
Share on other sites

I have the Presario C500, which is basically the same. I have the same exact problem and I think I know why. It's because the wireless is not turned on (therefore the wifi light which lights up blue under Windows XP or Vista is not on). If there is a way to turn that thing on (I already tried pushing the button, but I think it's just a keyboard hot-key, so not workiing) then I am sure it will work with the built-in driver which already has the device id 4311.

 

One of you super hackers, could you please help us turn the wifi on?

 

Thanks very much! ;)

I can see the blue light on the upperside of keyboard, but the wifi card still doesnt work at all.

You can confirm yur card is enabled if you go into the bios configuration.

I think there are some kernel dependency problems with the IO80211 kext file. On booting sequence I see the warning every time.

regards,

Link to comment
Share on other sites

I can see the blue light on the upperside of keyboard, but the wifi card still doesnt work at all.

You can confirm yur card is enabled if you go into the bios configuration.

I think there are some kernel dependency problems with the IO80211 kext file. On booting sequence I see the warning every time.

regards,

 

Thanks for confirming that Cloudy. My blue WiFi light doesn't come on, but my BIOS is set to enable the WiFi. Here is something that might shed some light for someone out there. When I click to shutdown my computer, the wireless will cause a panic. Following is the read out:

 

Kernel loadable modules in backtrace (with dependencies):
   com.apple.driver.AirPortBrcm43xx(203.2)@01fb37000
       dependency: com.apple.iokit.IONetworkingFamily(1.51)@0x1ea5e000
       dependency: com.apple.iokit.IOPCIFamily(2.1)@0x1b360000
       dependency: com.apple.iokit.IO80211Family(140.4)@0x1eb68000
   com.apple.iokit.IO80211Family(140.4)@0x1eb68000
       dependency: com.apple.iokit.IONetworkingFamily(1.51)@0x1ea5e000
       dependency: com.apple.iokit.IOPCIFamily(2.1)@0x1b360000

Kernel version:
Darwin Kernel Version 8.8.1: Sat Dec 9 22:18:27 AZOT 2006; semthex:/nebukadnezar/BUILD/obj/RELEASE_I386

If this makes sense to anyone please help. Thanks a lot! Many of us will sure appreciate completing this Broadcom guide, so we can use our WiFi. :rolleyes:

Link to comment
Share on other sites

I can see the blue light on the upperside of keyboard, but the wifi card still doesnt work at all.

You can confirm yur card is enabled if you go into the bios configuration.

I think there are some kernel dependency problems with the IO80211 kext file. On booting sequence I see the warning every time.

regards,

 

Whenever I boot with the v flag I see the same dependency warnings as well. Interesting though, the light on my Wifi card doesn't come on unless I boot into windows first, turn on the card, then warm boot into OSx86. Oddly, even if I enable my card in Linux, when I reboot into OSX, the card turns off during the brief moment that the laptop has no power.

 

On a side-note, do you have any more complex function in your BIOS than "enable" or "disable" for your wireless card? I find that my BIOS is horribly limited.

Link to comment
Share on other sites

Whenever I boot with the v flag I see the same dependency warnings as well. Interesting though, the light on my Wifi card doesn't come on unless I boot into windows first, turn on the card, then warm boot into OSx86. Oddly, even if I enable my card in Linux, when I reboot into OSX, the card turns off during the brief moment that the laptop has no power.

 

On a side-note, do you have any more complex function in your BIOS than "enable" or "disable" for your wireless card? I find that my BIOS is horribly limited.

 

The only BIOS control I have for my Presario C500 (c502us to be exact) is either enable or disable for the wireless card. I wish there was more or if the button to the top of the keyboard will work like a hardware switch, but no. That's all I have. :P

Link to comment
Share on other sites

The only BIOS control I have for my Presario C500 (c502us to be exact) is either enable or disable for the wireless card. I wish there was more or if the button to the top of the keyboard will work like a hardware switch, but no. That's all I have. :blush:

 

Tres lame. I guess this is what we get for buying cheap laptops from Compaq. Have you tried to change your wireless card yet? If you connect anything but approved models (I believe there are exactly TWO for mine, a Presario c304nr) when you power on the notebook, it doesn't even POST, just goes straight to a message about an unsupported wireless device. Won't do a thing til you yank it out again.

 

Of course, I have heard that people hack their BIOS to get all cards to work, but as Compaq / HP won't even send me the recovery CDs I ordered 6 months ago, I seriously doubt they'd be happy to replace a scrapped notebook with an unsupported BIOS :(

Link to comment
Share on other sites

 Share

×
×
  • Create New...