Configuring the Linksys WUSB54GR on OS X 10.5 Leopard

I spent some time today coaxing my USB wireless adapter to work in OS X 10.5.6 Leopard, and I would like to share my experience (which wasn’t a particularly painless one). I have a WUSB54GR-UK – this is a basic 802.11g adapter which I bought because of (a) Vista compatibility, and (b) cost-effectiveness. Although admittedly, there was an ulterior motive – this adapter contains a Ralink chipset, and in my experience, Ralink provide very good drivers for OS X and Linux. (Maybe it’s just impressive that drivers for anything other than Windows are provided at all!)

After plugging it in the USB adapter shows up in System Profiler under the ‘USB’ category as:

Wireless-G USB Network Adapter
Product ID:    0x0023
Vendor ID:    0x13b1
Version:    0.01
Speed:    Up to 480 Mb/sec
Manufacturer:    Cisco-Linksys
Location ID:    0xfa300000
Current Available (mA):    500
Current Required (mA):    300

A quick google doesn’t return much information about the WUSB54GR and OS X, but if you remove the R there are plenty of hits.

I visit the Ralink support page for Macintosh and find the recommended drivers: USB(RT257x/RT2671). An install, root password confirmation dialog and a reboot later, the UsbWirelessUtility doesn’t see a device. Great.

Beginning to wonder whether I’m out of luck with this adapter, and it’s not a Ralink at all (which could be, because versions of the WUSB54G prior to v4 were Broadcom devices), I find the Kismac-ng Trac page which confirms the adapter as RT73. Sigh of relief, but no closer to the goal. After checking kextstat, the equivalent of lsmod in OS X, I find the RT2500 kext absent from the loaded list, and begin to suspect that the USB device/vendor ID matching mechanism is not linking this device to the right driver. A quick check of ioreg supports that theory – the Wireless-G adapter is given a generic USB driver, and nothing else.

Google gives some posts on InsanelyMac from 2006 which recommend changing Info.plist for the kext, but after some tinkering I noticed the USB product code recommended for the WUSB54G v4 is different from what System Profiler shows. A couple of reboots later, and still no show – even though ioreg has the adapter’s driver status as matched. Close, but not close enough – I decide to take a look at similar adapters, in particular, the WUSB54GS. This has a product code of 0x20, admittedly closer than 0xd – and the plist example given in Google’s cache indicates that I’m probably using the wrong portion of the driver for my adapter. I change it, and a reboot later wireless works. Question: why does this have to more painful than needed – is it too hard for Ralink to add the relevant section to their drivers?

Here then are the instructions to get this adapter to work. I am assuming you have already installed the correct drivers. Open up Terminal and switch to root user by typing in sudo su - and your password when prompted. Edit the kext’s plist file nano /System/Library/Extensions/RT2500USBWirelessDriver.kext/Contents/Info.plist. The beginning of the file should look like:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>RT2500USBWirelessDriver</string>
<key>CFBundleIdentifier</key>
<string>com.Ralink.driver.RT2500</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundlePackageType</key>
<string>KEXT</string>
<key>CFBundleShortVersionString</key>
<string>1.1.3.0</string>
<key>CFBundleSignature</key>
<string>Lens Wang</string>
<key>CFBundleVersion</key>
<string>1.1.3</string>
<key>IOKitPersonalities</key>
<dict>

Press Enter, then add the following lines:

<key>Cisco-Linksys</key>
<dict>
<key>CFBundleIdentifier</key>
<string>com.Ralink.driver.RT73</string>
<key>IOClass</key>
<string>RT2573USBWirelessDriver</string>
<key>IOProviderClass</key>
<string>IOUSBDevice</string>
<key>bcdDevice</key>
<integer>1</integer>
<key>idProduct</key>
<integer>35</integer>
<key>idVendor</key>
<integer>5041</integer>
</dict>

The next line ought to read <key>ALPHA</key>. Press Ctrl-X, press Y to confirm saving, and nano will exit. Before rebooting, the kext cache needs to be flushed, so run the following lines in the Terminal you have open:

chown -R root:wheel /System/Library/Extensions
chmod -R 755 /System/Library/Extensions
kextcache -k /System/Library/Extensions
diskutil repairPermissions /

Reboot, and enjoy!

P.S. If you don’t yet know about AppleJack, now is the time to find out about this useful little utility. A somewhat interesting point is that when I installed Windows 7 RC1 recently, the drivers for this adapter were automatically installed and it “just worked”. That, Apple, is perhaps something to think about, even as Mac market share is relatively steady through the recession. Operating Systems are for allowing hardware to function, not for restricting arbitrarily what hardware can function.

Advertisements

5 Responses to Configuring the Linksys WUSB54GR on OS X 10.5 Leopard

  1. Rob Record says:

    Thankyou SO much!

    Apple are usually quite good about providing printer drivers; it would be great to see them do the same with other peripherals. I hate being made to feel like a second class citizen when installing or evaluating them. I really feel that Ralink, LinkSys and Apple should wise up and make this easier for people. The onus is on LinkSys tho I feel. Macs have a much greater market share these days and they will lose out in sales and credibility.

    Thanks for your great explanation! 🙂

  2. Rob Record says:

    Actually after all this, I can’t get it to work. The RaLink application USBWirelessUtility refuses to launch. I am stuck.

    The device appears as a new ethernet connection in Network / System Preferences though, with a self-assigned IP. Just can’t do any wireless config. How did you get that to work? I am using Leopard (10.5.7)

  3. Rob Record says:

    Fixed!

    I had to use Pacifist to pull out the contents of the folder ‘WirelessUtility.nib’ from the USBWirelessUtility app in the Ralink driver installer, and recreate it manually – it had the wrong permissions set so its contents didn’t get installed. They released it like this too.. crazy.

    This was the Leopard version.. not sure if it’s the same version supplied with the other packages.

    Hope this helps someone.

  4. kemedo says:

    hi, nice to see that you managed to put wusb54gr working on mac.
    I also bought that card, and also have a mac, but i bought it for linux/windows.
    I want to ask you guys if you don’t have problems with that card?
    Mine is kinda crazy, there is few days (like today) that stays connected for 12 hours, but in general the card always disconnects from access point each 5 minutes.
    Tried on windows,tried legacy and non-legacy drivers for linux, every OS makes the same…
    I think i will try it on mac to see if its the same, but for sure it is, because i think is a card problem. I also bought because of the chipset, Rt73 its a very good chipset, so i can’t really understand…

  5. keith says:

    thanks so much. worked like a charm.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: