USB ethernet adaptors

From OLPC
Jump to navigation Jump to search

Wired network connectivity can be an advantage, as wireless connectivity might not always be available or troublesome to set up. This requires an USB Ethernet adapter.

General remarks

Not all USB Ethernet adapters found e.g., on eBay work "out of the box" with the XO laptop (especially the cheap USB 1.1 ones), so let's list devices that are known to work here.

Note: You might need to reboot your laptop after inserting the adapter. This may not be plug-and-play! On the other hand, do check before you reboot, it might already be working, as per "rtl8150" support above.

Keep in mind that some vendors will change the chipset in an adapter without changing its model number. Check your store's return policy before purchasing, caveat emptor.

For example, D-Link has an annoying tendency to silently replace the chipset in their models without changing the model name. This means that even if a particular model is known to be compatible, this might not apply to the unit you have acquired.

Compatible devices

When adding or updating this list, don't forget to give your build version, mention if you had to reboot your XO to use the device, and sign your comment with -- ~~~~

Users have verified the following devices to be compatible:

  • AirLink101 ASOHOUSB USB 2.0 10/100Mbps (verified w/build 616)
  • Belkin USB 10/100 Ethernet adapter
  • BPI 10/100 FastEthernet (P/N BUE1M) works w/ build 656. Didn't need reboot, log reports "full-supported using driver rtl8150"
  • CATC NetMate Link - works out-of-the-box on build 656, with the network adapter name as eth0 and the wireless network adapter as eth1. Reboot may be required.
  • Conrad USB 2.0 10/100 MBit Ethernet Adapter Nr.: 97 31 19 | works fine out of the box (G1G1 XO Build 711)
  • Davicom DM9601 USB Ethernet (As reported by dmesg) (Build 13.2.0)
  • Digitus DN-3016-A VPR 2.0 , no reboot, build 767 -- AT 06 June 2009
  • D-Link DSB-H3ETX -- pegasus driver, combo hub and Ethernet (works for cjb)
  • D-Link DUB-E100
  • D-Link DSB-650TX
  • Datel LAN Adapter for nintendo Wii ($20 at BestBuy) worked for me out of the box (just reboot) on build 703.
  • Eminent EM1010 USB-FastEthernet MOSCHIP 7838/7738 working on build 852, no reoobt -- AT July 09 2011
  • FRITZ!Box (verified with FRITZ!Box Fon connected to XO via USB cable)
  • LinkSys USB200M - works for wiki user ywwg with updated module; "ethernet works fine after reboot with Linksys USB200M" -- Sunglint 18:43, 30 March 2008 (EDT); "Ethernet also wroked for me using Linksys200M adapter out of the box!" -- [Isaac Tabe]
  • Linksys USB200M ver. 2.1 (verified w/build 303 OTB)
  • Linksys USB200M ver. 2.0 (according to the sticker on the device on version 653 OTB)
  • Linksys USB100M - works out of the box
  • Linksys USB100TX ver. B1 - works w/ no reboot -- shi 19:53, 14 December 2008 (UTC)
  • Linksys USB1000 - no reboot necessary and Gigabit [Build 656] - not working for me after suspend (update.1 691, Q2D13)-danielfuhry
  • NetGear FA120 - confirmed this is working with build 650 -- ???, 2007-12-25
  • Nikkai Computers 'USB 2.0 to RJ45 LAN Adaptor' A31GY works. No reboot required, I was using build 711, it worked in every other GNU/Linux computer I tried it in too (no reboot). Stuart Morrow 13:33, 2 December 2008 (UTC)
  • Nintendo Wii Lan Adapter (Original), with reboot (also necessary when switching USB-Port), Release Candidate 801, -- 100-Dollar-Man 13:11, 29 April 2009 (UTC)
  • SMC 2208USB/ETH
  • SMC 2209USB/ETH - I can confirm that the SMC 2209 works fine, build 653. -- ??
  • Surecom EP-1427X-2 - works out of the box without reboot
  • TRENDnet TU2-ET100.($25 at Radio Shack.) Works in build 703; no reboots/shutdowns necessary. Benanov. Worked for me right out of the box (after a shutdown or two) - build 653 - bought at TigerDirect.ca (I had to phone a rep since it appeared on the US site, but not the Canadian site).
  • Unbranded USB 2.0 LAN adapter, made in China, printed model no. KY-ADM8515 on the device; shown as 'ADMtek, Inc. AN8515 Ethernet' in Linux. Tested on build 767, no reboot required -- 16 June 2009
  • Vivanco USB Fast Ethernet Adapter USB NET-N/23428 works. No reboot required.
  • Zoltan Tech USB2.0 Fast Ethernet adapter XO colours shown here Available online at XOExplosion.com & ILoveMyXO.com

Unconfirmed devices

In theory, these devices should be compatible--please confirm that they are working:

  • D-Link DUN-E100 - please confirm that this is working

[ 3/15/2008 - I can confirm that D-Link DUB-E100 (both V. A3 and A1) worked fine right out of the box with Builds 656 & 650; no reboot needed. (I'm not sure there was a model DUN-E100; I could not find reference to it on D-Link's web site.)]

Device support implied by driver source code

Bert asked (on 09:47, 24 August 2006): Wouldn't the driver sources (drivers/net/usb/asix.c) be the ultimate reference to what is supported?

This should be the case, but unfortunately is not. Many manufacturers and merchants do not coordinate with the driver maintainers, so the source code lacks the information needed to be the "ultimate reference". For example, see the warnings above about D-Link changing chipsets without notice. Nonetheless, the source code has valuable information as follows:
awk '/products/{if(p)exit;p=1};/^.\/\//{if(p)print}'
drivers/usb/net/asix.c | sed 's|.*//|*|'
  • Linksys USB200M
  • Netgear FA120
  • DLink DUB-E100
  • Intellinet, ST Lab USB Ethernet
  • Hawking UF200, TrendNet TU2-ET100
  • Billionton Systems, USB2AR
  • ATEN UC210T
  • Buffalo LUA-U2-KTX
  • Sitecom LN-029 "USB 2.0 10/100 Ethernet adapter"
  • corega FEther USB2-TX
  • Surecom EP-1427X-2
  • goodway corp usb gwusb2e
  • ASIX AX/100
  • ASIX AX/100/1000
  • Linksys USB200M Rev 2
  • 0Q0 cable ethernet

And this is only for the AX8817X chipset, there are many more drivers in drivers/usb/net/. In a current kernel config, all of them are enabled (see boot/config-2.6.17-1.2584.olpc1).

Maybe ether.c is helpful too? -- ??, 2007-12-20

Run ifconfig to see it working

In Terminal Activity, you can enter

/sbin/ifconfig

and see what is and isn't working in networking. (Thanks to ektoric in the forum for the path explanation http://en.forum.laptop.org/viewtopic.php?f=1329&t=151544)

Further diagnostics

If it doesn't appear in ifconfig even after a reboot:

  • reboot WITHOUT the adapter
  • when system is fully booted, connect the adapter
  • run /bin/dmesg from Terminal Activity

The log will be quite long, but we are only interested in the last ten lines or so.

Near the end of the log there should be a line similar to the following:

usb 2-4: new high speed USB device using ehci_hcd and address 6

If this line is not present, your USB device isn't being detected at all. You may have a bad adapter or a bad USB port.

  • Try the adapter in a different port
  • Try the adapter in a different computer
  • Try a different USB device in the same port. What kind doesn't matter, it should still generate detection messages.

Next should be line(s) identifying the adapter driver, chipset, what device name was assigned, and its MAC address. What this looks like depends entirely on what chipset and driver your adapter uses. If this line is not present, your adapter is detected OK, but no driver is available.

  • You may need a newer kernel
  • You may need to build a custom kernel to enable the right driver
  • The device manufacturer may provide a Linux driver from their website
  • Your adapter may not be supported by Linux yet.

If this line is present, but your adapter still doesn't show in /sbin/ifconfig, you may have a device name conflict. Take note of your device's MAC address (something like 01:23:45:67:89:ab)

Edit /etc/udev/rules.d/70-persistent-net.rules There should be two or more lines like the following:

SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="01:23:45:67:89:ab", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
  • Only one should have an ATTR{address} that matches your adapter MAC address. The NAME field should be "eth1" or similar, and different from any other line. It should NOT be "eth0".
  • There should be a device named "msh0". This is your built in wireless adapter. DO NOT change this line.

Change the device name to "eth1", save, and reboot.

  • If "eth1" is already taken, use "eth2", and so on.