Workaround for Mac OS X Conflicts between DisplayLink and USB ethernet

[ Update April 27th, 2011. DisplayLink has fixed this issue in the production version 1.6 release of their Mac drivers. Please download the latest Mac drivers from DisplayLink ]

Plugable uses DisplayLink chips for USB graphics, and ASIX chips for USB Ethernet functionality. And we have both chips in devices like our Plugable USB 2.0 Universal Docking Station.

Unfortunately, on Mac OS X, there is a conflict between recent DisplayLink drivers 1.5+ and the Apple drivers (AppleUSBEthernet) for ASIX chips. The DisplayLink drivers appear to open other USB devices as part of enumeration. As a side effect, this causes USB ethernet devices to show as “disconnected” upon return from system boot or hibernate.

That’s in addition to other graphics and ethernet driver compatibility breaks that Apple’s recent OS X 10.6 updates have introduced, including breaking AppleUSBEthernet for non-Apple USB ethernet hardware.

Until these issues settle down and are fixed in the drivers from DisplayLink, ASIX, and Apple, here is a workaround for the current issues with the ethernet function of the Plugable Universal Docking Station:

Step 1 is to download and install ASIX drivers that are compatible with recent Mac OS X 10.6: http://plugable.com/wp-content/uploads/2010/04/AppleDefaultDriver_v2.1.5.zip

Step 2 is to copy the following script to a file (call it “install”), and run “sudo ./install”

#!/bin/bash
sudo echo "#!/bin/bash" > /usr/bin/plugable-eth-reset
sudo echo kextunload -b com.apple.driver.AppleUSBEthernet >> /usr/bin/plugable-eth-reset
sudo echo kextload -b com.apple.driver.AppleUSBEthernet >> /usr/bin/plugable-eth-reset
sudo chown root /usr/bin/plugable-eth-reset
sudo chmod o+x /usr/bin/plugable-eth-reset
sudo defaults write com.apple.loginwindow LoginHook /usr/bin/plugable-eth-reset

Now, logging out and logging back in will automatically reload the ethernet driver. Unfortunately, this does not cover the return from low-power cases. Unless we find an improvement to the workaround, you’ll have to log out/log in or just run “sudo /usr/bin/eth-reset” so trigger the script.

As there may be variations in systems out there, please comment if you get different results, and we’ll post an update here at Plugable if (as we hope) this is fixed more directly in the DisplayLink or ASIX drivers in the future.

And, generally if you’re a Mac OS X user, please be cautious about OS updates which might break 3rd party hardware drivers. If you have non-Apple USB hardware, consider deferring updates until there’s time for other people to report on forums about compatibility.

3 comments on “Workaround for Mac OS X Conflicts between DisplayLink and USB ethernet”

  1. Bernie Thompson Reply

    Uffe – Thank you for posting about using sleepwatcher to work around the problem more completely!

Leave a Reply