Contribute
Register

AzureWave NB037H (WiFi+BT Combo) with Kext

Status
Not open for further replies.
Joined
Dec 3, 2010
Messages
460
Motherboard
Gigabyte GA-H55M-S2V
CPU
Intel i3-530
Graphics
HIS HD 6570
Mac
  1. iMac
Mobile Phone
  1. Android
So i know a lot of previous work has been done on WiFi+BT mPCIe combo cards by the laptop users, but when building my DQ77KB, one of my requirements was a combo that fit on-board, for simplicity. After trying the BCM943225HMB and getting nowhere, I decided to try the IOath3kfrmwr kext used by the probook-ers and get an AW-NB037H (AzureWave) card working. The cards are cheap, <$10, and I know the AR9285 WiFi part works because my Rosewill uses the same chipset.
The card arrived yesterday and I quickly got the WiFi working using my old materials. If it's possible to permanently flash a device to a better state, I will do it, so I flashed the locale to 0x0 as described in that thread, allowing OSX to set the locale dynamically based on Location Services, and also preventing the warnings from spamming the log.
Bluetooth was much harder because the chip as-is will load the bluetooth stack, but not actually start functioning. When I realized the IOath3kfrmwr was designed for a slightly different chip, I reworked it, starting more-or-less from the ground up (in this case the Anchor USB example Apple bundles with IOUSBFamily), and carefully adding back the necessary elements, doing some housekeeping here and there (the debug version is significantly more verbose). The result is net.sourceforge.awnb037h, which I release with no claims of ownership.
For the NB037H, the kext now contains both WiFi and Bluetooth injectors, should be installed permanently, and was tested with the NB037H without issue both after installation and after cold boot. It will flash the chip to a different set of USB IDs, which unloads the flashing kext ("flashed successfully"). The result is pretty good, but both firmware files I could find for IOath3kfrmwr couldn't fix BT PM, so not only does it not support wake (PowerOptions 0xF), it doesn't even support power-off (PowerOptions 0x1), which means if your boot is particularly fast (my Mushkin) then the call to configurePM may timeout some time after you log in (the bluetooth menu extra will be in the broken/disabled state until the timeout).
I freely admit this isn't ideal, but both functions work, and the only requirement is a single kext.

Download AzureWave NB037H Source
 
So i know a lot of previous work has been done on WiFi+BT mPCIe combo cards by the laptop users, but when building my DQ77KB, one of my requirements was a combo that fit on-board, for simplicity. After trying the BCM943225HMB and getting nowhere, I decided to try the IOath3kfrmwr kext used by the probook-ers and get an AW-NB037H (AzureWave) card working. The cards are cheap, <$10, and I know the AR9285 WiFi part works because my Rosewill uses the same chipset.
The card arrived yesterday and I quickly got the WiFi working using my old materials. If it's possible to permanently flash a device to a better state, I will do it, so I flashed the locale to 0x0 as described in that thread, allowing OSX to set the locale dynamically based on Location Services, and also preventing the warnings from spamming the log.
Bluetooth was much harder because the chip as-is will load the bluetooth stack, but not actually start functioning. When I realized the IOath3kfrmwr was designed for a slightly different chip, I reworked it, starting more-or-less from the ground up (in this case the Anchor USB example Apple bundles with IOUSBFamily), and carefully adding back the necessary elements, doing some housekeeping here and there (the debug version is significantly more verbose). The result is net.sourceforge.awnb037h, which I release with no claims of ownership.
For the NB037H, the kext now contains both WiFi and Bluetooth injectors, should be installed permanently, and was tested with the NB037H without issue both after installation and after cold boot. It will flash the chip to a different set of USB IDs, which unloads the flashing kext ("flashed successfully"). The result is pretty good, but both firmware files I could find for IOath3kfrmwr couldn't fix BT PM, so not only does it not support wake (PowerOptions 0xF), it doesn't even support power-off (PowerOptions 0x1), which means if your boot is particularly fast (my Mushkin) then the call to configurePM may timeout some time after you log in (the bluetooth menu extra will be in the broken/disabled state until the timeout).
I freely admit this isn't ideal, but both functions work, and the only requirement is a single kext.

Download AzureWave NB037H Source

Actually, it's possible to change the WiFi region in the atheros chip. There is an utility, called Atheros 9xxx EEPROM tool, it can be used for such modification. You can find more info about the procedure here. And here you can find an alternative method.

The Bluetooth kext, looks familiar, it is something like this?
 
Philip, I can see you didn't click on my links because that's exactly what I used in my old Rosewill thread. The CommView and assorted other tools, including the RegDomain app in a zip called AR9285Tools. And yes, I mention clearly that the kext above is based on IOath3kfrmwr. You might also notice that I release my rebuild without any claims. You can do what you like with it.
 
Philip, I can see you didn't click on my links because that's exactly what I used in my old Rosewill thread. The CommView and assorted other tools, including the RegDomain app in a zip called AR9285Tools. And yes, I mention clearly that the kext above is based on IOath3kfrmwr. You might also notice that I release my rebuild without any claims. You can do what you like with it.

No, no, no, you got me wrong, I asked about it just of curiosity, I have no intention to do anything with it or raise a claim or something.

You know, I have one Atheros 9280 in my desktop, which I've reprogrammed with the RCU method, now it's programmed with WORLD1 code or something (I don't remember right now what exactly was the code, 0x37 I think) and this way the card is suppose to work with channels 1-13, but the location service is still working (my router doesn't broadcast any country code, but rest around me do) and I get often the US regulations, because someone around me is broadcasting the US code (I'm not sure if he even knows what he's doing). Do you know how this can be fixed?

The same thing is happening with the Atheros 9285 + Bluetooth combo card in my HP ProBook 4330s (and the region in its EERPOM is not 0x0).
 
again referring to my rosewill thread, I tried quite a few locales/regdomains before settling on 0x0, because there was no available information about the issue at the time, besides a few scraps. 0x0 throws no warnings, unlike any of the specific ones 0x3a, 0x10, the China one the rosewill came with, and the WORLD, like 0x60 which my AW came with "UNKNOWN LOCALE 0x__". Location Services and other features work fine, but the idea is that the card isn't keyed to a specific country, and instead sets its "supported" channels and other regulatory settings by determining its location so that Apple can comply with local law. When it can't change the locale, it throws several warnings, which end up spamming the log if you do a lot of WiFi work. If a router in your area needs correction, use any GPS+WiFi device for a few days (preferably more than one), and the databases will correct themselves soon.
 
again referring to my rosewill thread, I tried quite a few locales/regdomains before settling on 0x0, because there was no available information about the issue at the time, besides a few scraps. 0x0 throws no warnings, unlike any of the specific ones 0x3a, 0x10, the China one the rosewill came with, and the WORLD, like 0x60 which my AW came with "UNKNOWN LOCALE 0x__". Location Services and other features work fine, but the idea is that the card isn't keyed to a specific country, and instead sets its "supported" channels and other regulatory settings by determining its location so that Apple can comply with local law. When it can't change the locale, it throws several warnings, which end up spamming the log if you do a lot of WiFi work. If a router in your area needs correction, use any GPS+WiFi device for a few days (preferably more than one), and the databases will correct themselves soon.

I see. Thanks for the tip. :thumbup:
 
So i know a lot of previous work has been done on WiFi+BT mPCIe combo cards by the laptop users, but when building my DQ77KB, one of my requirements was a combo that fit on-board, for simplicity. After trying the BCM943225HMB and getting nowhere, I decided to try the IOath3kfrmwr kext used by the probook-ers and get an AW-NB037H (AzureWave) card working. The cards are cheap, <$10, and I know the AR9285 WiFi part works because my Rosewill uses the same chipset.
The card arrived yesterday and I quickly got the WiFi working using my old materials. If it's possible to permanently flash a device to a better state, I will do it, so I flashed the locale to 0x0 as described in that thread, allowing OSX to set the locale dynamically based on Location Services, and also preventing the warnings from spamming the log.
Bluetooth was much harder because the chip as-is will load the bluetooth stack, but not actually start functioning. When I realized the IOath3kfrmwr was designed for a slightly different chip, I reworked it, starting more-or-less from the ground up (in this case the Anchor USB example Apple bundles with IOUSBFamily), and carefully adding back the necessary elements, doing some housekeeping here and there (the debug version is significantly more verbose). The result is net.sourceforge.awnb037h, which I release with no claims of ownership.
For the NB037H, the kext now contains both WiFi and Bluetooth injectors, should be installed permanently, and was tested with the NB037H without issue both after installation and after cold boot. It will flash the chip to a different set of USB IDs, which unloads the flashing kext ("flashed successfully"). The result is pretty good, but both firmware files I could find for IOath3kfrmwr couldn't fix BT PM, so not only does it not support wake (PowerOptions 0xF), it doesn't even support power-off (PowerOptions 0x1), which means if your boot is particularly fast (my Mushkin) then the call to configurePM may timeout some time after you log in (the bluetooth menu extra will be in the broken/disabled state until the timeout).
I freely admit this isn't ideal, but both functions work, and the only requirement is a single kext.

Download AzureWave NB037H Source


Excuse me for the ultimate noob questions, but I just installed ML on a Intel NUC. I put a NB037H card in it and have WiFi working. What is the purpose of the old materials you mentioned? Do I need them? Can I still use your kext to get BT working? Where can I download the kext? Both net.sourceforge.awnb037h, and Download AzureWave NB037H Source seem to point to the same files?
 
the "Tools" package in the first link can be used to set your locale to 0x0. Both of the next links point to the source Xcode project so you can compile the kext. If you already have WiFi working, either delete your existing solution or remove the WiFi entries from AzureWaveN037H.kext once built
 
the "Tools" package in the first link can be used to set your locale to 0x0. Both of the next links point to the source Xcode project so you can compile the kext. If you already have WiFi working, either delete your existing solution or remove the WiFi entries from AzureWaveN037H.kext once built

Can someone please help me, with compiling this kext.
i downloaded xcode, then i press build... what do i do next?
i cant seem to export this kext anyhow.
 
by default products end up in "~/Library/Developer/Xcode/DerivedData/<project>-*/Build/Products/<build>" Where "<project>-*" is something like "MaciASL-32847923487" if you were building MaciASL, and "<build>" is either Debug or Release.
In Xcode find the Products group in the files view on the left side and open it to find the kext (this will be the Debug version), or choose Product > Archive in Xcode, then Distribute from the window which opens after the build finishes, and follow the wizard's steps.
 
Status
Not open for further replies.
Back
Top