Sustainable Sustworks - Tools for Internet Travel
Inspired Tools for the Mac
Search






 
 



USB-To-Ethernet Adaptors for Mac OS X

Introduction

Like many Macintosh users, I've wanted to add a second Ethernet to an iBook (iMac, or Mac Mini) to use as a server (or as a replacement for a dead Ethernet built-in). Although USB to Ethernet adaptors are cheap and plentiful, Mac OS X drivers are not. After scouring the web and talking to other Mac developers, I finally found a workable combination. The purpose of this note is to document what works since I haven't seen it widely published anywhere else. I welcome your feedback to help keep this page up-to-date.

OEM Alternative (Gigabit Ethernet but limited by USB 2.0)

Device: http://www.amazon.com/Plugable-Gigabit-Ethernet-Network-Adapter/dp/B003VSTDFG
Driver: http://www.asix.com.tw/FrootAttach/driver/AX88178_Macintosh_10.4_to_10.7_Driver_v3.6.0_20111014.zip

Drivers and Supported Devices

After some research on the web, I came to realize there are two basic catagories of USB-To-Ethernet adaptors:

  1. USB 1.1 devices that use a Pegasus driver.
  2. USB 2.0 devices that use a AX8817x driver
    (or its successor, the AX88772 which appeared around Aug-2005).

While there are no doubt exceptions, most of the popular low cost adaptors fall into one of these categories.

USB Network Adaptor Driver
Brand Model USB Pegasus AX8817X
3COM 3C460B 1.1 x  
Apple USB Etherenet 2.0
x
Belkin F5D5050 1.1 x  
D-Link DSB-650 1.1 x  
D-Link DSB-650TX 1.1 x  
D-Link DUB-E100 2.0   x
D-Link DUN-E100 2.0   x
Farallon Netline PN796-650 1.1 x  
Kingston KNU101TX 1.1 x  
LinkSys USB10TX 1.1 x  
LinkSys USB100TX 1.1 x  
LinkSys USB200M 2.0   x
LinkSys USB300M 2.0
x
NetGear FA120 2.0   x
SMC 2208USB/ETH 1.1
x

SMC 2209USB/ETH 2.0
x
TRENDnet TU2 ETG 2.0
x

The first driver that worked for me was a Pegasus driver for Mac OS X 10.3 (Panther) developed by Daniel Sumorok. Since then I've been collaborating with Daniel to help make more drivers available. We have ported his original Pegasus driver to work on Mac OS X 10.4 (Tiger or later), and developed a USB 2.0 AX8817x driver. All are open source released under a GPL license.

You can download them from here:

Description File Size OS Comments
Pegusus USB 1.1 USBPegasusEthernet 1.0.9 196K 10.3-10.5 Universal Binary
AX8817x USB 2.0 USBAx8817x 1.0.3b11 254K 10.3-10.5 Universal Binary
AX8817x USB 2.0 USBAx8817x 1.0.3b14 315K 10.5-10.6 Snow Leopard 64-bit Compatible

Each disk image includes an installer for Panther or 10.4_or_later, and a "src" folder containing the corresponding xCode projects.

I have tested the Pegusus driver on a Belkin F5D5050 and the Ax8817x driver on a LinkSys USB200M. I am using the USB200M daily for Internet connectivity on an Intel Core Duo running Leopard.

I found a Belkin F5D5050 USB adaptor at Buy.com for $24.30 on 3/10/2005.

I picked up a LinkSys Compact USB 2.0 Network Adaptor (USB200M) at Staples for $29.98 on 3/19/2005 .

As of 2009, the Apple USB Ethernet adaptor is probably the best choice for most Mac users. It is competively priced and offers the most hassle free driver support.

Compatibility Notes

AX8817x devices are fully backward compatible with USB 1.1 host ports and are reasonably priced, so are probably the best option at this time. Pegasus based devices seem to be getting harder to find. Some USB 1.1 devices use the Realtek 8150 or Davicom DM9601 which is not supported by these drivers.

With the announcement of the MacBook Air, Apple began shipping their own USB-to-Ethernet adaptor and driver (AppleUSBEthernet). I understand Apple's USB-to-Ethernet adaptor should work on other Macs running Leopard 10.5.2 or later (Daniel Sumorok has verified this). It can also be used on systems running Mac OS X 10.3.9 or later by installing our latest USBAx8817x driver. Apple's driver is not designed to support 3rd party USB-to-Ethernet adaptors or prevoius OS versions. We have modified our own driver to take precedence over Apple's driver when it is installed, and recognize the Apple USB Ethernet Adaptor.

Latest Release Notes [18-Mar-2011]

USBAx8817x 1.0.3b14 improved compatibility with Gigabit Ethernet adaptors.
USBAx8817x 1.0.3b13 enabled Ethernet flow control.
USBAx8817x 1.0.3b12 includes a 32/64-bit Universal Binary (for 10.5 or later).
USBPegasusEthernet 1.0.9 updated to support SMC2208/ETH (ADM8513).
USBAx8817x 1.0.3b11 tuned to improve performance with some adaptors.
USBAx8817x 1.0.3b10 recognize Apple's USB-to-Ethernet Adaptor.
USBAx8817x 1.0.3b9 increases the "probe score" returned for AX88772 devices to supercede AppleUSBEthernet.
The Tiger version was renamed to "10.4_or_later" and installs a Universal Binary that has been tested on Leopard (Mac OS X 10.5).
USBAx8817x 1.0.3b8 removes "expected NULL" warning messages that appear in the System.log under Leopard.
USBAx8817x 1.0.3b6 and later support the new Ax88772-based DUB-E100, Airlink 101, and Belkin Gigabit USB Ethernet adaptors.
USBPegasusEthernet 1.0.8 updates the project to build properly on Leopard and supports the NetGear FA101.

Installation

Download and mount the appropriate driver disk image listed above, run the corresponding installer for Panther or 10.4_or_later, and then restart your system as suggested. The Installer will ask you to authenticate so it can place the corresponding driver in "/System/Library/Extensions/" with the correct file permisions to load as a kernel extension.

Next, plug-in your Ethernet adaptor with a live Ethernet cable attached. When you open the Network Preferences panel, it should inform you that a new port has been detected and ask if you want to enable it. Enable the new port and apply your network settings. On Leopard, the message indicating a new port has been detected may not appear, but you still need to Apply your network settings to enable the attached device for the first time.

Each driver is pre-configured to recognize a handfull of common devices. If your device does not appear to be recognized by the driver, you might have to add it to the Info.plist file, which is located inside the USBPegasusEthernet.kext or USBAx8817x.kext directory. You can use the System Profiler or USBProber tool to find the corresponding Product ID and Vendor ID.

To uninstall the driver, make sure any USB adaptors are disconnected, and then drag the corresponding driver in /System/Library/Extensions/ USBPegaususEthernet.kext or USBAx8817x.kext to the trash. You may need to authenticate that you have administrator privileges.

USB 1.1 Performance

The Pegasus chipset provides a USB 1.1 compatible implementation which could be a concern for some users. USB 1.1 runs at 1.5 Mbps (low speed) or 12 Mbps (full speed). For best performance, it's important to isolate any low speed devices on a separate bus. Mice and keyboards often run at low speed.

Using the Link Rate tool in IPNetMonitorX, I measured the link rate to another device on my LAN as 6 Mbps. The built-in Ethernet on my 12" PBG4 reported 44 Mpbs. When I measured the link rate to the next hop router through my cable modem, it reported 1 mbps. It didn't make any difference whether I used Ethernet built-in or the USB-To-Ethernet adaptor. Finally, I downloaded a 2.2 MB file to compare the throughput using the Monitor tool.

Both downloads took 5 seconds, but Ethernet built-in reached a peak rate of 589 KBps versus 579 kBps. Repeating the experiment several times produced similar results. Ethernet built-in might be 1-2% faster, but performance was clearly limited by the speed of my cable modem (Your Mileage May Vary).

USB 2.0 Performance

The AX8817x chip set provides a USB 2.0 compatible implementation which runs at up to 480 Mbps (high speed), so it should be possible to keep up with 100 Mbps fast ethernet as long as there are no other slower devices on the same bus. To test this I copied a 64.8 MB music file to my PBG4 laptop connected through a LinkSys USB200M Ethernet Adaptor (en3) and compared this to the same file transfer using Built-in Ethernet (en0).

Both transfers reached 10 MBps (80-90 Mbps) and took about 10 seconds. I repeated the test in the other direction.

While the USB-To-Ethernet adaptor was slightly slower, at 80 Mbps there was little noticeable difference. Files moved quickly from one system to another via 100 Mbps fast Ethernet. Copying the same file using AirPort wireless took 50-90 seconds.

Stability

While other USB-To-Ethernet drivers are reported to be buggy, I haven't encountered any stability problems to date. The adaptor turns off when the computer goes to sleep and comes back on when the computer awakes. It does not support "Wake On LAN" at this time.

Wrap Up

This USB-To-Ethernet Adaptor combination could be an attractive solution for a Mac Mini, or old iBook used as an Internet gateway or server. I'm particularly fond of using old laptops as servers since they are compact, quiet, use little energy, and include their own battery backup.

I hope you find this information useful and welcome your comments and experience.

- Peter Sichel
Sustainable Softworks
psichel "at" sustworks "dot" com

Last updated 18-Mar-2011.


Many fellow Mac enthusiasts have written to thank us for these drivers (you're welcome), and some have even asked if they could contribute something to support our on going efforts. While our intent is to make these drivers freely available, we do have expenses and welcome any support. Thanks!

Back to Interests and Opinions