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: https://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. Uffe Jakobsen Reply

    Hi,

    Here is an alternative approach – this also solves the problems returning from hibernation.

    Use “SleepWatcher” (http://www.bernhard-baehr.de/) to run scripts before sleep and after wakeup.

    SleepWatcher download (http://www.bernhard-baehr.de/sleepwatcher_2.1.tgz)

    I’m using a Toshiba DynaDock DVI (includes ethernet) and have the problems that you’ve described above.

    Works with newest Mac OS X 10.6.4 – just tested it.

    /Uffe

    Works great for me

  2. Bernie Thompson Reply

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

Leave A Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.