Attention: There is a more or less high possibility to brick your card, in case you don't know what you are doing.
Identifying the device: It doesn't mean your card will not be bricked "following another guy's guide" or "using his IDs", although you two have the "same card"... Most people think tools like lspci provide sufficient information, in order to judge whether your card is the same as another guy's card or whether it's an "a/b/g" or "b/g-only" card. An AR5006EG for instance. These cards aren't all the same since their chipsets and subchipsets differ.
Possible scenarios are: You don't have the EXACT same card as the guy you got information form (such as ID's and Memory and byte locations => you ignore the previous fact and apply the foreign settings on your card's EEPROM => usually leads to grief , sorrow and suicide
The idea: Replacing the Subsys IDs (Subvendor and Subdevice ID) of your device (e.g. Hp, Gigabyte or "Unknown") with Apple's IDs
Profits: You will end up with a fully functional Apple Airport Extreme Card. No more disconnects and no CRC Errors in your files. Use Apple's kexts nomore modifications. Just fully native a.k.a. Vanilla.
First Step: Install Ubuntu (Hardy Heron) and Subversion
Install this OS. Do not use Live CDs for this guide if you aren't familiar with Linux.
If you need help with installing it without screwing up your Partition Table and Bootloader check this post (GUID).
When you are in the OS ensure you are connected to the Internet and launch the terminal.
Type following: (Enter your password if you have one.)
sudo -s apt-get install subversion
Second Step: Install madwifi tools in Ubuntu
http://www.stchman.com created a wonderful guide for this. Even a script to get things easier for you. Here are the most important excerpts offering 2 ways to install the madwifi tools
A) Easy Way
Get the script created by stchman (attached to this post), copy it to your home directory and run it by typing:
chmod 755 ~/madwifi.sh sudo ~/madwifi.sh
B) Not-so-easy Way
Get the source here.
Get what is needed to compile the source:
sudo apt-get -y install build-essential bin86Once that is done you will need to do the following:
Copy the .tar.gz to the /usr/src/ folder. This command assumes you downloaded the archive to your home folder. replace ~ if your downloaded to a different location.
sudo cp ~/madwifi-0.9.3.2.tar.gz /usr/src/Change to the /usr/src folder.
cd /usr/srcDecompress the tarball.
sudo tar -xzf madwifi-0.9.3.2.tar.gzInstall the sharutils from the package manager.
sudo apt-get -y install sharutilsChange to the folder that the tarball extracted to.
cd /usr/src/madwifi-0.9.3.2Make the drivers (during this time the procedure may ask you to remove the older drivers, let it do so)
sudo make clean sudo make sudo make install
Third Step: Install ath_info
To get it type:
svn co http://svn.madwifi.org/ath_info/trunk ath_info
Change to the directory:
And install it:
make make all
Fourth Step: Get essential Information with lspci and ath_info
Type following in your terminal and look for your Atheros named device in the list:
sudo lspci -vvnn
Here are my definitions which are going to be used until the end of the post
- <class_id>: should be 0200 by default, meaning Ethernet Controller
- <vendor_id>: is the first ID in brackets after the name of your device. Should be 168c for Atheros cards (won't be changed)
- <device_id>: is the ID right after the colon . Should be 001c for AR5006EG-series (won't be changed)
- <subven_id>: is the first ID on the second line of the device, starting with Subsystem:..
- <subdev_id>: the second ID on the same line, the one after the colon
- <memory_loc>: the value in the 7th line which begins with Region 0:.. (8-digit)
ath_info -d 0x<memory_loc>
You can find the information somewhere at the beginning of the output. It is supposed to look like this:
As you can see, mine is b/g only. This is important to know since Apple doesn't use only one Subdevice ID. So their b/g and a/b/g IDs differ and you will have to replace your old Subdevice ID by the respective one from Apple, which are:
- 0086 for a/b/g cards
- 004e for b/g cards
Of course yours will look different. So use Ctrl+F or anything to look for your
- <subdev_id> (2x)
- <subven_id> (2x)
So write down your
- <class_id_loc>: location of your <class_id>
- <1st_subdev_loc>: a <subdev_id> location
- <2nd_subdev_loc>: the other <subdev_id> location
- <1st_subven_loc>: a <subven_id> location
- <2nd_subven_loc>: the other <subven_id> location
Fifth Step: Replacing the Subsystem IDs
Replace your old Class ID, 200 which stands for Ethernet Controller with the new 280 which stands for Network Controller
ath_info -g 3:0 -w 0x<memory_loc> <class_id_loc> 280
Replace the old Subvendor ID with the one from Apple, which is 106b
ath_info -g 3:0 -w 0x<memory_loc> <1st_subven_loc> 106b ath_info -g 3:0 -w 0x<memory_loc> <2nd_subven_loc> 106b
Replace the old Subdevice ID with
- 004e if you have an "b/g" card
- or 0086 if you have an "a/b/g" card
ath_info -g 3:0 -w 0x<memory_loc> <1st_subdev_loc> <004e or 0086> ath_info -g 3:0 -w 0x<memory_loc> <2nd_subdev_loc> <004e or 0086>
Confirm all operations with 'y' as it will ask you. I used the value 3 for all operations. If it doesnt work for you feel free to try out the digits from 0 to 5.
Check your new EEPROM dump and verify the new data
ath_info -d 0x<memory_loc>
If everything went flawlessly lspci is to show your card as
- Network controller : Atheros Communications, Inc. AR5006EG ...................... [168c:001c] (rev 01)
- Subsystem: Apple Computer Inc. Device [106b:<004e or 0086>]
So pls report back about the results.
You will have to tweak your windows drivers for your card a little to get it working there. It's only replacing some IDs in the .ini file. I will upload my .ini file in future and maybe add the stuff for abg cards too. Mine is recognized as AR5007EG in Vista, tho works flawlessly.
Another issue may be your router. Mine doesn't support WPA anymore with the vanilla kexts. This is because my router only supports WPA TKIP and Leopard seems to have issues with TKIP-only routers. So if you have an old router as me, you will have to use WEP or use modded Tiger kexts or get a not-so-outdated router with WPA-AES too.
Oh yeah I almost forgot... HP-Bios users ... good luck