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:
- USB 1.1 devices that use a Pegasus driver.
- 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:
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
|