Jump to content
4 posts in this topic

Recommended Posts

Here is the situation.

 

I have a couple of Dell Optiplex 745 small form factor desktops at work. These come with the feared and infamous (in the OSX world) Broadcom NetXtreme 5754 cards. Two years ago, I used Ubuntu exclusively (long before I got involved with hackintoshes). Ubuntu had no problem with this card, but the network at work at the time was more reliable over wireless than over wired.

 

So, I bought a D-Link (DWL-320 - I think, I do have the box right now) wireless card. It comes with an Atheros AR2413 wireless card. This card is identified in OSX as AR5005G (using DPCIManager), but I am getting ahead of the story. This card works perfectly in Ubuntu (madwifi drivers).

 

I installed Mac OSX Leopard 10.5.0 (and upgraded to 10.5.5) using the boot-132 method. For the longest time, I could not figure out how to get the EFI system working for boots without the CD-ROM. But I finally did. However, for the network, I had to buy a pricey AftertheMac USB wireless card ($32 or so on ebay, I think). It worked with a few hiccups (unexplained connection drops every hour or so, but it worked). But the thought of having to plug it in each time (it does not work if you leave it plugged in at boot time) bothered me.

 

So, I looked around, searching not for AR2413 (as I did initially) but for AR5005G which DPCIManager reported. This is the reason I am using AR2413 so many times in this post (and in the title) - so that the next poor soul who tries googling for it does not have to spend money on a USB wireless card he does not need.

 

I found this tutorial on the genius bar :

 

[How-To] Get Atheros 5005G working after Airport Extreme Update 2007-002 and 003

 

Note, in whatever follows - I did NOT use any older kexts. Just modified Leopard 10.5.5's AirPortAtheros.kext.

 

I followed that tutorial. Used an Ubuntu LiveCD. The Hardy live CD does not contain the Hardware information tool any more. You need to install (to RAM obviously, with the gnome-terminal) a tool called gnome-system-tools or some such thing. Search. Don't get thrown by the tool's absence. Maybe the newer LiveCDs contain that.

 

Either way, get the info asked for in that tutorial. I got :

pci.subsys_vendor_id : 4486 (0x1186)
pci.subsys_product_id : 14877 (0x3a1d)
pci.vendor_id : 5772 (0x168c)
pci.product_id : 26 (0x1a)

 

You need only the last two.

 

Open the kext :

$sudo vi/System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AirPortAtheros.kext

 

Enter them into the kext (168c:1a - there is already an entry 168c:1c). For vi newbies, you hit "i" to enter the edit mode, and <esc>:wq to write and quit. Read up on this if you need to.

 

Now, as soon as I loaded the kext, stuff happened.

 

The solution ?

 

Ignore the last part of that tutorial (do not edit NetworkInterfaces.plist, etc.). Do the following :

 

Reset persistent network interface BSD names

 

 

In particular,

$sudo mv /Library/Preferences/SystemConfiguration/NetworkInterfaces.plist /Library/Preferences/SystemConfiguration/preferences.plist ~<yourusername>/Desktop/

 

Reboot.

 

Upon reboot you will find that you still do not have the card working or even detected. Relax.

 

Now load the kext :

$cd /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/
$ sudo kextload AirPortAtheros.kext

 

Immediately, you should see a pop-up window. Follow the prompts. Let the OS setup the NetworkInterfaces.plist for you.

 

Now, I am not sure if I need to load the kext on every reboot. But I think I might not if OSX module loading is anything like Linux's (where if your OS detects a device, it loads the modules as long as it has them).

 

This also avoids the potentially sticky situation of having incorrect en0 assignment screw up the plist above. After all, BCM 5754 (on board ethernet) does not work.

 

This is not in keeping with the zero-modification philosophy of boot-132, and I might look into putting the modified kext in my EFI partition to make sure a future update (and I am very very wary about updating 10.5.6 because this system froze the last time I tried it - before I patched DSDT.aml) does not mess it up.

 

Either way, do Time Machine backups. Carbon Copy Clone is of limited utility as you cannot restore from it (to a new Macintosh volume or even during the setup of a new system).

 

---

 

Update :

 

Slight wrinkle in the setup. When you reboot, the system forces you to reload the kext, and freezes as soon as you do, unless you delete the NetworkInterfaces.plist and preferences.plist files before booting (using single user). This is what you need to do next :

 

1. Copy the part between <dict></dict> and make a new block in NetworkInterfaces.plist.

2. Rename the en0 -> en1 and 0 -> 1 as described in the tutorial I linked above. Go up to the en0 block and change type from IO80211 to Ethernet. Steps 1 and 2 are necessary, as the system crashes / reboots as soon as it detects en1 by itself.

3. Reboot.

4. Now, you will see that system has an Airport card installed (so no manual kextload needed).

5. If you look under Advanced in Network Preferences, you will find that Airport 2 has the right MAC address but Aiport is blank.

6. Delete Airport.

7. Rename Airport 2 to Airport.

8. Set up your network, Apply and quit. You should have a working connection.

 

I will admit I have not rebooted since, but since it did not prompt a new airport, this is progress.

 

It is highly likely that I need these additional steps only because my en0 is actually not functional.

Did you test if this package works for yours?

 

It worked on my Atheros 5005g: http://www.mediafire.com/?vtvrfzdit1p

  • 3 weeks later...
Did you test if this package works for yours?

 

It worked on my Atheros 5005g: http://www.mediafire.com/?vtvrfzdit1p

 

The IO80211Family.kext in that package worked for me but I'm still experiencing a weird problem. I'm currently running 10.5.7 but I saw it on 10.5.6 also. Everything works fine for 5-10 minutes and then the connection goes away. It doesn't see my wireless network anymore and if I scan it doesn't pick anything up. If I reboot it works fine for 5-10 minutes and then we repeat the dance.

 

Everything else on my machine works pretty much perfectly so it would be nice to get this fixed. I've posted about this here but noone has responded.

×
×
  • Create New...