Apple-Z Posted July 22, 2009 Share Posted July 22, 2009 My system: MacPro Quad Xeon 64 bit desktop running OS X 5.7 and WUSB54GC-CA (This is the WUSB 54GC with Product ID: 0x0077 and Vendor ID: 0x1737) I thought I would share this info with this forum since there are probably some folks out there like me who could not get their Linksys WUSB54CG to work even when using the "Linksys_WUSB54GC_Version_3_Setup.mpkg" which was developed by Warstrong. After reading through dozens of posts and web pages, it seemed that the problem with getting this particular USB stick to work was that its Product and Vendor IDs were not listed in the .kext files, even the .kext file included in Warstrong's v.3 installer package. I am not by any stretch a hacking guru, but I am persistent and do not take failure sitting down Of course the greatest credit should go to Warstrong for his installer package, without which I would not have been able to get my USB adapter working So, what I did was to modify the .kext file - the one included in Warstrong's "Linksys_WUSB54GC_Version_3_Setup.mpkg" which itself was already modded from the original Ralink code by him. There are 2 separate "info.plist" files that need to be modified for this to work. Some steps may not be necessary, but they are the ones I took and it worked for me... So here are the steps: First, go to your /System/Library/Extensions folder and delete all the RTA drivers you see. Since I'm not an expert, I am taking the sledgehammer approach here as opposed to the surgeon's scalpel. I wanted to make sure there were no leftover RTA drivers from all my other failed installation attempts which might interfere with the proper functioning of the "good" driver. You will be asked to authenticate (type your password) when deleting the .kext files by dragging them to the Trash. Restart your computer. You will probably get a dialog window telling you that the caches need to be cleared before shutdown. Click OK and let the computer restart. After restart, check your /System/Library/Extensions folder to make sure all the RTA drivers are gone. Now if you don't already have it, get a copy of Warstrong's "Linksys_WUSB54GC_Version_3_Setup.mpkg.zip" file. There is a link to it in the first post of this topic. Once you have downloaded this file UnZip it and keep the original .zip file for the actual final installation process later. We will be working with the .kext file inside the UnZipped copy NOT the original ! While you are downloading stuff, get yourself a copy of OSX86Tools from: http://osx86tools.googlecode.com/files/OSX...ols_1.0.150.zip We will be using OSX86Tools to install the modded .kext file when it is ready to go. When you UnZipped Warstrong's Version 3 Setup file you should have gotten a file called "Linksys_WUSB54GC_Version_3_Setup.mpkg" Right click on this .mpkg icon and select "Show Package Contents" Open the "Contents" folder. Open the "Packages" folder. There should be 5 .pkg files inside. We are only interested in editing the one called "rt2870usbwirelessdriver.pkg" Right click on the "rt2870usbwirelessdriver.pkg" file and select "Show Package Contents" Open the "Contents" folder There should be 5 items in this folder too, and we want the one called "Archive.pax.gz" For the sake of organization, create a new folder somewhere handy (such as the Desktop). Call this folder something like "My Modded RTA2870 Driver". Move the "Archive.pax.gz" file to this new folder and now you can go back and close all the previous windows you opened to get to the the "Archive.pax.gz" file. Also, to keep from getting files confused, you should now delete the "Linksys_WUSB54GC_Version_3_Setup.mpkg" which we were just using because it is no longer any good after we removed the actual drivers (which are in the Archive.pax.gz file) from it. As I mentioned earlier, later on we will be installing Warstrong's complete package using the original .zip file of the Version 3 Setup .zip file which should still be intact wherever you downloaded it. Now go back to your "My Modded RTA2870 Driver" folder and double click the "Archive.pax.gz" file which will launch OS X's Bom unpacking utility and give you a file called "RT2870USBWirelessDriver.kext". Do not throw out the Archive.pax.gz file yet since you may need to unpack another fresh copy of the .kext file if you bugger things up during the modification of the "info.plist" files... OK, now right click on the "RT2870USBWirelessDriver.kext" file and select "Show Package Contents". Open the "Contents" folder. You should see 3 items there: "info.plist" file, "MacOS" folder and "Resources" folder. As I said there are 2 "info.plist" files we want to modify, the first is the one right there in the "Contents" folder and the other is inside the "Contents/Resources" folder. We will deal with each in turn to avoid getting confused, but first, a little note on exactly how I modded these 2 files. When you look inside these files there are "information blocks" related to all the various USB sticks that use the same Ralink 2870 chip. Each "info block" lists the name of the manufacturer and the Product and Vendor ID of the particular USB sticks. The info.plist file in the "Contents" folder has the Vendor and Product ID info in DECIMAL code while the other info.plist file in the "Contents/Resources" folder has (pretty much) the same information except that it's in HEXADECIMAL code. I have no idea why there is a decimal and hex version of the same information in the driver, but that's the way it is. Anyway, for our purposes, we need an "info block" that applies specifically to the Linksys WUSB54GC with the following characteristics: idProduct: 0x0077 (Hexadecimal) which is 119 in Decimal idVendor: 0x1737 (Hexadecimal) which is 5943 in Decimal Note: You can check the Hex Product and Vendor ID by opening your "System Profiler" utility in the Applications/Utilities folder. Select the USB category under Hardware, and you should see an 802.11 g WLAN entry in the right window pane. If you click on it you should see the info for the WUSB54CG even though it still isn't working. Now, even though all the other driver "info blocks" in these two info.plist files are useless to us if we only want to run a WUSB54CG with idProduct: 0x0077 and idVendor: 0x1737, I did not want to delete anything I didn't have to and possibly affect the workings of the .kext file. So what I did was to REMOVE the entries related to the Linksys RT3070 item from both files, and REPLACED it with a new entry for our specific USB stick. Here is how: Returning to our Contents folder that had the 3 items in it, open the info.plist file using TextEdit. Scroll dow a fair bit to the Linksys entries, or use "Find" to look for the word "Linksys". You should see 4 items (info blocks) for Linksys as follows: 1. Linksys - RT2870 - 1 2. Linksys - RT2870 - 2 3. Linksys - RT3070 - 1 4. Linksys - RT3070 - 2 We will be DELETING the RT3070 - 2 entry completely and also REPLACING the RT3070 - 1 entry with the information for our USB stick and calling it RT2870-3. Go to the Linksys - RT3070-2 entry and delete all of the following text: <dict>][ <key>Linksys - RT3070 - 2</key> <dict> <key>CFBundleIdentifier</key> <string>com.Ralink.driver.RT2870USBWirelessDriver</string> <key>IOClass</key> <string>RT2870USBWirelessDriver</string> <key>IOProviderClass</key> <string>IOUSBDevice</string> <key>idProduct</key> <integer>119</integer> <key>idVendor</key> <integer>5943</integer> </dict>][ I have put a "][" symbol at the start and end positions where you can put your cursor and shift-click to select the entire block to be deleted. Make certain that the deletion you just made left no extra blank lines or otherwise distorted the tabs and alignment of the text immediately above and below the entry you deleted. If you placed your cursor as I indicated it should be perfect Now with the RT3070 - 2 entry deleted, we will modify the RT3070 - 1 entry to turn it into the new RT2870 - 3 info block. Go to the RT3070 - 1 info block just above the text you just deleted and change "RT3070 - 1" to "RT2870 - 3" Go down to the line below "idProduct" that says "<integer>120</integer>" and change 120 to 119 (recall that 119 is Dec for 0X0077 Hex, which is our Product ID) The idVendor entry of 5943 does not need to change since the vendor is the same (Linksys). Save the file (Just select "Save" from the file menu or Apple-S. Now to modify the second info.plist file... This file is easier to modify because there is only a single entry for RT3070... I am not certain if this is a mistake and there is a second RT3070 entry missing as there were 2 entries (RT3070 -1 and RT3070 - 2) in the other info.plist file, but the bottom line is that in keeping with my approach of deleting the RT3070 entries and replacing them with the new RT2870 info, all we need to do here is to modify the single entry for RT3070, there is no DELETING needed ! Open the "Resources" folder in the same "Contents" folder where the first info.plist file was located. There should be 3 items there: "English.lproj" folder, "History.txt" file and "info.plist" file Open the "info.plist file with TextEdit and again find the Linksys entries. Under the Linksys - RT3070 entry, change the idProduct from "0x0070" to "0x0077" and leave the idVendor as it is since again, the Vendor has not changed from Linksys. Save the file. Now you can close all your Finder windows again and you now have a ready-to-install modded .kext file The installation procedure is the similar to the one described by Warstrong in that we want to use a "full" installer to load up all the stuff in from Warstrong's installer which you might have noticed contains the USB Wireless Utility, an "awake" application for the Ralink UI and some preflight & postflight files for the installation in addition to the actual drivers. So, you can now UnZip the original "Linksys_WUSB54GC_Version_3_Setup.mpkg.zip" file that you saved and run (double-click) on the "Linksys_WUSB54GC_Version_3_Setup.mpkg" installer. The computer should restart following the installation, if not, restart it yourself. You might get the "Clearing cache" message too, I don't remember all the details along the way. Upon restart, go to the System/Library/Extensions folder and find the RTA drivers. Delete the RTA2870 driver and enter your password when asked to authorize. As I mentioned, what we are doing now is using Warstrong's installer package, but we are going to delete his .kext file which DOES NOT contain the information for our particular USB adapter. Restart the computer again. After restart, start up OSX86Tools and click on "Install Kexts" in the "Extensions" area in middle right of the application interface. Navigate to your "My Modded RTA2870 Driver" folder and select the "RT2870USBWirelessDriver.kext" file and install it to the drive you want (if you have more than one startup drive, I happen to be set up with 4...). Restart the computer one last time... Now all the elements needed to get the WUSB54CG Product ID: 0077 are in place Following restart, open System Preferences in the Dock or your Applications folder and select the Network item. You should now notice a new entry for your WiFi USB adapter called "USB Ethernet (enX)". Mine was "en5". Make sure it says "Connected" With the Network setting done, you can now fire up the USBWirelessUtility that was automatically installed in your Applications folder by Warstrong's installer and see how that works Some closing information: First I could have simply posted the modified .kext file or indeed modified Warstrong's installer package to include my modded .kext file, but I did not do that for a few good reasons. First, I did not want a .kext file floating about which was modified by someone who is not a real expert (e.g.: me...). Second, my modified .kext file has removed the driver information and thus the functionality for the Linksys RT3070 product. Anyone using this .kext file may not know the real story about the file unless they could browse through it and see what it contained, and this is bad news for people out there who may be technically challenged and are looking for USB drivers. They might stumble across this .kext file without having the full background to how the file came to exist... and then spend hours wondering why their RT3070 based USB adapter won't work. Third, the real credit should go to Warstrong, and by providing the steps to do your own mod, I think we are giving credit where it is due, plus the fact that you will get to do your own modding which will hopefully help you learn a little about drivers like I did. Lastly, I would have liked to simply ADD a new "RT2870 - 3" entry to both info.plist files which would have kept all the other driver entries intact and thus not affected functionality, but when I looked at the entries in the Decimal info.plist file, I noticed that there was already a Linksys entry with the same idProduct (119) and idVendor (5943). If you were paying attention while deleting and modding the entries you might have noticed that "RT3070 - 2" which we deleted had these same numbers. I did not know what would happen if I simply added a new entry with the same Product and Vendor info for the RT2870 and left the RT3070 there... In other words, 2 Linksys entries with the same Product and Vendor ID but a different product name... Perhaps someone like Warstrong will clear this up and we can get a Rev. 2 of his installer package with the entry for the new USB stick, and understand if simply adding an RT2870-3 entry would have been a safe thing to do... I hope this helped, and keep in mind that I am not going to be a regular visitor ere since I got my problem sorted out. I might check in occasionally to see if someone produces a new driver installer with the 0X0077 and 0x1737 entry... Cheerz ! Apple-Z PS: I realize this posting is very long winded, but I do get soooo frustrated time and time again in forums like this one when people who are obviously noobs find information that only experts could understand. There are a lot of noobs like me who visit forums to get help in sorting out a problem, but end up with nothing but bleeding ulcers because most of the information is simply unintelligible. I already have a Doctorate, and I don't really want to earn another one just trying to get a crappy little WiFi adapter to work on my Mac... Rant over Link to comment https://www.insanelymac.com/forum/topic/175922-wusb54cg-black-working-in-os-x-1057-by-modding-warstrongs-v3-installer/ Share on other sites More sharing options...
fitsbach Posted April 11, 2010 Share Posted April 11, 2010 Yes I know it's an old topic but I have to say that's the only way I got my Wusb54gc-v3 to work. so Thank you very much dude! Link to comment https://www.insanelymac.com/forum/topic/175922-wusb54cg-black-working-in-os-x-1057-by-modding-warstrongs-v3-installer/#findComment-1446413 Share on other sites More sharing options...
Recommended Posts