While Mac OS tries to look simple it still fails miserably at some 3rd party hardware support. For example a DIGITUS DN-7003GT USB Wireless dongle I got recently. Auto detection: fail.
The Digitus homepage promises Mac support. But no driver to download. Most Usb devices just re-use a specific wireless chipset. The driver for that chipset will work on every dongle, no matter which branding it uses. The DIGITUS branding contains just a RTL8187B chipset.
HOWTO get R8187 running
1. Download driver
http://218.210.127.131/downloads/downloadsView.aspx?Langid=1&PNid=24&PFid=1&Level=6&Conn=5&DownTypeID=3&GetDown=false&Downloads=true
Chipset: RTL 8187B, choose the OSX 10.5 one, even if you have OS X 10.6.
2. Install using the install command
Probably Mac OS X will say, that the driver is incompatible, but just install it for now.
3. Edit the driver
Now the driver needs to be changed for two reasons:
a) make it compatible to Mac OSX 10.6
edit the last few lines in /System/Library/Extensions/RTL8187Bl.kext/Contents/Info.plist
search for com.apple.kpi and replace update the version numbers to 8.1.0, so that you get:
<key>com.apple.kpi.bsd</key> <string>8.1.0</string> <key>com.apple.kpi.iokit<k/ey> <string>8.1.0</string> <key>com.apple.kpi.libkern</key> <string>8.1.0</string> <key>com.apple.kpi.mach</key> <string>8.1.0</string>
b) make it compatible to the specific Digitus USB wireless dongle
Use "About this Mac"->"More Information" to find your USB Device ID.
Google helps to convert it to decimal:
Vendor ID 0x0bda in decimal is 3034
Device ID 0x8189 in decimal is 33161
However in the Info.plist I only have a different device ID. But I am able to locate the Vendor ID:
<key>idProduct</key> <integer>33161</integer> <key>idVendor</key> <integer>3034</integer>The Product ID just needs to be changed to match the actual product ID of the specific USB dongle.
4. Fix permissions of the kernel extension
With Mac OS X, permissions of kernel Extensions are very important! You can even go to Disk Utility and let it repair all disk permissions.
chown -R root:wheel RTL8187Bl.kext chmod -R 755 RTL8187Bl.kext
5. Enable the kext in Mac OS X
Mac OS X keeps a cache of all kext, so we need to publish the newly compatible driver there:
rm /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext kextcache -v 1 -a i386 -a x86_64 -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions
Make sure the device does not get listed as unsuccessful during the kextcache enabling!
6. Load the driver
Now just plug in your USB dongle to see if it is detected correctly. For debugging purposes, we can load the driver manually:
kextload -t RTL8187Bl.kext
Dmesg should now have the message:
RTL8187B: Ethernet address xx:xx:xx:xx:xx:xx
You can only use it with the Realtek USB WLAN Client Utility. Really uncomfortable. Is there any dongle out there that works on Mac without a utility?
Hi, this works on 10.6 Snow Leopard, do you manage to get it work on 10.7 Lion?
ReplyDeletesorry, have not yet tried it with 10.7 - if you try please tell me your results!
ReplyDeleteI have tried with 10.7 but failed to make it work. :(
ReplyDeleteThanks man, works great in Snow Leopard.
ReplyDeletethanks!! works great on my snow leopard 10.6.8 XD thanks stifler!! XD you look like stifler :D peace man~
ReplyDeleteHi.. at start the method to obtain the acheivement of installing the driver Chipset/driver in mac os x snow leopart 10.6.3 dont see very clear for starters, like myself. But it did all worked out in the end. If you have insys 761su this is the method. i recomend priorly update to 10.6.
ReplyDeleteThanks in advance.
I AM NOVICE PLEASE SOMEBODY could explain me with more detail this STEP:
ReplyDelete5. Enable the kext in Mac OS X
Mac OS X keeps a cache of all kext, so we need to publish the newly compatible driver there:
thanks
You just need to run the commands in the code block in your console. Then check the output response in detail if it correctly enabled the kernel extension as you wish!
Deletei've plug in RTL8187 usb stick into os x lion. but the LED never lit up. any suggestion?
ReplyDeleteHi what program do i use to edit the numbers in the paste is needed to change? thanks for the informations.
ReplyDeleteJorge
i have the kext wizard and tryed to change as you said the nunbers but i can't do it. regrets
ReplyDeleteWonderful post! I am highly agree with the publisher's point of view.
ReplyDeleteImportant information corruption situation is always an Inconvenience for the person.
As a way to solve this challenge, the authorities have proposed a lot of personal information restoration solutions.
Just in case of loss of data issue, a user needs to have a knowledge of suitable important information restoration application.
repair corrupt pst file
Thanks for post!
ReplyDeleteI successfully lunched dongle IDU-2850UG-10G with chipset RTL8187L on board.
I used same link and same operations from post only driver and name changed from B to L.
My mac version 10.6.8 on MacBookPro. One problem was found – packets loss – about 1 percent. AirPort, for example, has 0 percent loss.
I'm pretty sure the reason it's not loading on later versions is it's for the x86 architecture and not x86_64.
ReplyDeleteNotice: /System/Library/Extensions/RTL8187l.kext has debug properties set.
Diagnostics for /System/Library/Extensions/RTL8187l.kext:
Warnings:
Executable does not contain code for architecture:
x86_64
Code Signing Failure: not code signed
Warnings:
Executable does not contain code for architecture:
x86_64
/System/Library/Extensions/RTL8187l.kext appears to be loadable (not including linkage for on-disk libraries).
kext com.realtek.driver.RTL8187 100009000 is in exception list, allowing to load
Load /System/Library/Extensions/RTL8187l.kext and its dependencies into the kernel [Y/n]? Y
Loading /System/Library/Extensions/RTL8187l.kext.
Can't load /System/Library/Extensions/RTL8187l.kext - no code for running kernel's architecture.
Failed to load /System/Library/Extensions/RTL8187l.kext - (libkern/kext) requested architecture/executable not found
thank you for the tutorial but it didn't work :( should i change all the product id and vendor id in the info.plist?
ReplyDeleteI am sorry, this post is dated three and a half years ago. I do not even own the macbook and the stick anymore.
ReplyDelete