USB-Ethernet device for Linux

Useful device when you work with an embedded development board

For our Embedded Linux training sessions, I was looking for a USB to Ethernet device. Since Linux supported devices are often difficult to find, I’m glad to share my investigations here.

When you use an embedded development board, you must connect it to your computer with an Ethernet cable, for example to transfer a new kernel image to U-boot through tftp, or to make your board boot on a directory on your workstation, exported with NFS.

You could connect both the board and computer to your local network, which would still allow your computer to connect to the Internet while you work with the board. However, you may create conflicts on your local network if you don’t use DHCP to assign an IP address to your board (if your DHCP server even accepts this new device on the network). In a training environment, you are also likely to run out of Ethernet outlets in the training room if you have to connect 8 such boards. Hence, a direct connection between the board and your workstation’s Ethernet port is often the most convenient solution.

If you can’t use WIFI to keep your computer connected to the outside world, a good solution is to add an extra Ethernet port to your computer by using an USB-to-Ethernet device.

My colleague Thomas and I started looking for such devices that would be supported by Linux. Here are a few that we found:

  • D-Link DUB-E100. Supported by the USB_NET_AX8817X driver. However, this product is bulky and quite heavy (at least 100 grams).
  • TRENDnet TU2-E100. Supported by the same driver, but still bulky.
  • Linksys USB 200m. Supported by the same Linux driver and has a much more acceptable size, but customer reviews complain that its connector can break easily.
  • Apple USB Ethernet Adapter. This is the one I eventually chose. It is beautiful, small and light, and just works out of the box when you plug it in. Support for this device to Linux 2.6.26 through the same driver. You should be able to use it in recent distros.

Apple USB to EthernetSo, I recommend the Apple device. I event posted a comment on the Apple Store, titled “Perfect for Linux”! I hope the Apple droids won’t censor it. If you decide to buy it, just make sure that it bears the MB442Z/A or MC704ZM/A reference in your shopping cart. If the reference changes, it could mean that they switched to another chipset, without changing the model name. This happens often with other vendors, unfortunately.

I can’t tell whether this could happen with Apple. This was the first Apple device I ever bought…

About Michael Opdenacker

Michael Opdenacker is the founder of Free Electrons. He is best known for all the free embedded Linux and kernel training materials that he created together with Thomas Petazzoni. He is always looking for ways to increase performance, reduce size and boot time, and to maximize Linux' world domination. More details...
This entry was posted in Hardware, Technical, training and tagged , , . Bookmark the permalink.

35 Responses to USB-Ethernet device for Linux

  1. recalcati says:

    Yes, it is really nice.
    Apple Store is also really efficient!!
    A question: does u-boot support this device?

  2. Koen says:

    I own both the linksys and apple one and I must say that the linksys one is extremely flimsy and wider than a standard usb plug, so for ‘horizontal’ hub you loose 3 slots. The apple one is sturdy and only takes one usb slot in ‘horizontal’ hubs.

  3. mike says:

    Good news. Apple accepted my “Perfect for Linux” comment (Webmaster note: page no longer available). Well, Apple may not see Linux as a direct threat as Microsoft does, but I didn’t expect them to accept Linux related comments on their websites.

  4. Miroslav says:

    I absolutely agree that Apple Ethernet adapter works very well under Linux (running on MIPS in our case). We’ve tested others, but none worked as well as Apple’s.

  5. Robert Jaffer says:

    Is it necessary to connect the ethernet cable when I use an embedded board??????

  6. iazimi says:

    What is the best GigE USB adapter to use with Linux (RHLE 5.x)?
    Will Linksys USB1000 work?

  7. Philby says:

    What I expected from the article titled “USB-Ethernet device for Linux” was using a USB port on the target device such as Mini-B/Mini-A that connects to a USB Series “A” plug on the Host machine using USB Gadget Support. This method ofcourse does not require the Apple USB to Ethernet converter and works well if the right config option is enabled in the target kernel along with the correct ifcfg-usb0 settings on the Host machine.

    • mike says:

      Right, this method can be used if your target has a USB device port. However, the USB to Ethernet converter has the advantage that it works in U-boot too. It is still rare that U-boot has USB gadget support.

        • Hi,

          According to the Amazon comments, this “Cubeternet USB 2.0 Hi-Speed Fast Ethernet Adapter for PC, Mac and Linux” device indeed works out of the box with Linux.

          If you buy it, it would be nice if you could share the output of the lsusb command when it is plugged in. This way, we will know what chipset it has.

          Thanks!

          Michael.

        • Ran Talbott says:

          I’m working with a client right now on a system that uses a USB-to-Ethernet to add an additional interface to a Beagleboard Black.

          We got one of these (lsusb says “ID 0b95:772b ASIX Electronics Corp.”), one of the “I/O Crest” dongles referenced below, and an Edimax (which just arrived today, so it hasn’t been tested yet).

          I used socat to pump 10Mb chunks of data back and forth between the SBC and a desktop box for several hours. The I/O Crest ran clean, the Cubeternet had dozens of dropped packets.

          This is, of course, a very crude test with a single exemplar of each type, so take it with several grains of salt. But my choice is to do the “final showdown” between the I/O Crest and the Edimax.

          Ran

  8. SPENCE says:

    RE MB442Z/A
    Hey Guys. I am not new but just not a guru by a long way. Is there a possible driver that will allow this adapter to be used on kernel 2.6.22-14 (Ubuntu 7.1) or am I going to have to get a later distro (8.04)?. I was given a IBM Think Pad 600x with 30 Gig hd which I would like to get running on line. It only has 1 USB and no ethernet.

  9. SPENCE says:

    Hi Mike.
    In other words it would be best to get later version of Kubuntu and reinstall the whole thing. I am not set up for recompiling.

  10. Digimer says:

    RE MB442Z/A

    I know this article is old, but I wanted to say thanks for it. I needed a couple adapters for a multilink-PPP setup I am trying to do using an older Eee netbook. I decided to go the Apple route as there is a store close to me. To confirm, as of this date (Oct. 21, 2010), Apple is still using the ‘MB442Z/A’ part number and my Fedora 13 i386 install (2.6.35) worked perfectly, even at install time.

    Thanks again for the info. I was about to go and buy an ITX system. :)

    Digimer

  11. Forbes Guthrie says:

    The MB442Z/A is being replaced with the MC704ZM/A, which is very similar but you can tell them apart because the corners of the USB are now more angular. Does anyone know if this new model is supported in current Linux kernel/distros?

  12. Seb says:

    As of today, they don’t seem to have the MB442Z/A in Cami stores in Belgium.
    I sent my wife at the store as she was nearby. The sales girl insured that it was absolutely the same device and that it was working great :-)
    I said : “ask the girl the chipset reference then”.
    My wife didn’t proceed :-(

  13. Adam says:

    MC704ZM/A does not work when trying to install the latest Ubuntu 10.10
    I hate engineers.

  14. Harry says:

    Have anyone comfirmed that the chipset have changed from MB442Z/A to MC704ZM/A?
    If so, what did it change into?

  15. glen says:

    Thank you for the valuable info!
    Does anybody know if the D-Link DUB E-100 works with the Popcorn Hour C-200 Networked Media Tank?
    Do any of the above?

  16. Tom says:

    I can confirm the newer MC704ZM/A is still using the same chipset, and USB device IDs. Plugged it into an Ubuntu 10.10 box and it recognized it right away.

  17. Nawien says:

    To help out others who are struggling to get this working I did the following to get a bunch of USB ethernet cards (Apple, Sabrent 10/100/1000 Mbps and Plugable 10/100/1000) to work:

    1) unplug the USB ethernet dongle
    2) at the command prompt –>uname -r
    3) go to http://www.asix.com.tw/download.php?sub=searchresult&PItemID=84&download=driver and download the appropriate driver for the version that shows from the uname -r. I an running Ubuntu 10.10 with kernel 2.6.38-10-generic which is considered 2.6.38.

    4) make sure you have kernel headers downloaded for your kernel. Search around for

    5) After unzipping and untaring at the command prompt enter –>make
    6) then enter at the command prompt –>make install

    plug the dongle back in. If you have a cable plugged in, bonus. You should see Ubuntu auto detect the dongle and update the network icon at the top right. You can then connect to the internet to verify.

    Good Luck.

  18. Jeb says:

    This article and its comments were very helpful; thanks!

  19. Georg says:

    Thanks for the nice review!

    BTW whats the USBID of this device (Modelnumber: MC704ZM/A
    ASIN: B00486070K, as seen on amazon)?

    Since I’m stuck with an old 2.6.18-128.el5 kernel and can’t update!

    Thanks,
    Georg

  20. JP says:

    Which module is loaded on linux when you insert this Apple USB2Ethernet dongle?

    Thanks in advance,
    JP

  21. Volker says:

    Thanks for this informative article. As it is easy to find using search engines, I want to add an update with more recent USB-Ethernet adapters working under Linux:

    Digitus DN-10050: ID 9710:7830 MosChip Semiconductor MCS7830
    D-Link DUB-E100: ID 2001:1a02 D-Link Corp.
    LevelOne USB-0301: ID 0b95:7720 ASIX Electronics Corp. AX88772
    Digitus DN-10050-1: ID 0b95:772a ASIX Electronics Corp. AX88772A
    Edimax EU-4208: ID 0b95:772b ASIX Electronics Corp. AX88772B

    IDs and manufacturer info obtained from lsusb. All except the first use the asix kernel module; the Digitus DN-10050 uses the mcs7830 driver. The D-link DUB-E100 seems to be a completely updated version – though the link in the original article points to the current product page, it is not bulky any more and uses a different driver.

    • Hi Volker,

      Thank you very much for this update.

      Updates like this one are most welcome here! So, if you read this and have a USB-Ethernet adaptor that works on your Linux box, don’t hesitate to let us know!

      Cheers,

      Michael.

  22. Joe says:

    ThinkPenguin ships a USB 10/100 network adapter with the AX88772A chipset. It works perfectly with GNU/Linux and they are one of the few companies which are actually supporting GNU/Linux and free software. They’ve worked with Atheros to get code released for newer USB N chipsets, the Free Software Foundation, Linux Mint, Trisquel, and various other GNU/Linux and free software projects. Everything the company ships works out of the box with most recent distributions. There is mainline kernel support or at least some significant project behind everything so there isn’t anything to compile. What is even better is they are taking things a step further and making sure even the source code for device firmware is available under a free software license.

  23. theProf says:

    Apple USB is OK but like most of the products it looks pretty but is 3 or 4 times the price of other similar devices !

  24. I’ve just bought a new device. It’s called “Afunta Apple-style USB 2.0 Ethernet Adapter”. It is sold on Amazon.com under the “I/O Crest SY-ADA24005 USB 2.0 Ethernet Adapter” name. The current price is about 8 USD instead of 26 USD for the Apple one.

    I actually bought it from Amazon.fr for 14 EUR (instead of 29 USD)

    This product works great on Linux (tested on Ubuntu 12.10, Linux 3.5 kernel), being an attractive replacement for Apple’s one, at least twice as cheaper, and keeping the same slim and attractive shape. In addition, it has a nice blue LED under the white plastic (invisible when it’s not on) that indicates network activity. Apple’s product doesn’t have it.

    I had no throughput problem, but I just tested it with my Internet connection (2 MB/s), but not yet with two PCs as I should do:

    Here is the output of the lsusb command:
    Bus 001 Device 003: ID 0b95:772a ASIX Electronics Corp. AX88772A Fast Ethernet

    The only drawback is that it is a “generic” product and the brand is not even shown on it. The specifications and the chipset may change without notice.

    • Murali krishna says:

      Hi All,

      I got a USB to Ethernet adaptor which has DM9601 chip set. I figured out that there is no support for this chip set in Uboot. My intention is to set NFS and i am using beagle board.
      can someone help me with the driver for uboot.?

  25. andyfrommk says:

    The TRENDnet TU2-E100 (v3) you link to is out of production.
    There is now a TU2-E100 v4 which looks exactly like the Apple converter and works out of the box on Debian Wheezy

    ID 0b95:7720 ASIX Electronics Corp. AX88772

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>