USB to ethernet networking

(Step by step)
Line 25: Line 25:
<ol>
<ol>
<li>Install the [http://www.electronicproductonline.com/~electron/catalog/supportFiles/dbus-scripts_1.0.3_armel.deb dbus-scripts package].</li>
<li>Install the [http://www.electronicproductonline.com/~electron/catalog/supportFiles/dbus-scripts_1.0.3_armel.deb dbus-scripts package].</li>
-
<li>Install [http://www.electronicproductonline.com/~electron/catalog/supportFiles/usbLAN_0.4.6_armel.deb USB LAN package.</li>
+
<li>Install [http://www.electronicproductonline.com/~electron/catalog/supportFiles/usbLAN_0.4.6_armel.deb USB LAN package].</li>
</ol>
</ol>

Revision as of 04:07, 14 May 2009

With USB host mode it's possible to setup and utilize a wired network connection for times when you don't have access to WiFi (e.g., hotel rooms). Although it's possible to carry around a small WiFi router, it's frequently more cost effective and convenient to connect the tablet to the wired connection directly.

Contents

Pre-requisites

In order to do use a USB ethernet adaptor, you'll need to make sure that you have USB host mode up and working properly (with an OTG cable or a software switch). OS2008 natively supports USB adapters based upon the RTL8150 chipset such as the Linksys USB100M; however it's possible to find other devices that are supported by custom compiled modules.

If you're looking for a "ready to go" solution simply pick up a supported USB100M along with your USB OTG adapter.

Setup

Once you've got some compatible hardware ready to go, the easiest step is to next install the USB LAN package. The updated version of the package utilizes the dbus-scripts package, which can also be easily installed by following this.

The package will setup a few scripts and install all of the additional USB LAN drivers that are available for the OS:

catc.ko
dm9601.ko
kaweth.ko
mcs7830.ko
pegasus.ko
rt73.ko (Added in 0.4.6 for external USB Wifi adapters)

Note: anyone who knows of other commonly supported and tested working devices using these drivers, please add them to the end of this entry.

Step by step

  1. Install the dbus-scripts package.
  2. Install USB LAN package.

Once the packages are installed any RTL8150 device will operate as follows:

  1. Connect USB device to LAN cabling.
  2. Connect USB device to the tablet.
  3. Wait for the USB messages to popup ("USB Device Not Supported", "No Filesystem Found").
  4. Launch your web browser or whatever application you want to use.
  5. Surf and enjoy.

For devices other than those based on the RTL8150 you'll manually need to call usbEthUp.sh after you connect your device, and usbEthDown.sh after you remove it to get the network settings in place. These scrips can be found in /usr/sbin.

When you're done with your wired connection simply unplug the network adapter from the USB host cable (this lets the tablet recognize that the adapter has been unplugged), then disconnect your host cable from the tablet (and manually set it out of host mode if required). Also, don't forget to choose "Disconnect" from the connection window (click on the little WiFi icon), or your tablet will try to stay connected to "WIRED" until you restart or manually force a new connection.

Performance

Do not expect a wired connection to help you gain faster transfer speeds. In testing, it has been found that the CPU on the tablet maxes out at approximate 5-7Mbps, well beneath the threshold of wired networks or USB connectivity.

There is also an important consideration regarding the type of network adapter you select to use. The Linksys USB100M for example is only listed as USB 1.1, not USB 2.0, but still functions above the maximum sustainable speed of the tablet. Conversely, while the USB 2.0 version of the same device should work, it required additional drivers and actually requests more power than the USB OTG bus on the tablet is willing to provide, so you'd end up needing an externally powered USB hub to use it. Thus while the USB 2.0 adapter might seem better, in actually for the tablets it's actually a worse choice.

Tested Devices

How to test:

  1. Make sure you have the latest driver and scripts installed as noted above. You will also need root access installed.
  2. Open XTerm.
  3. Connect your USB adapters (including OTG adapter if you are using that product).
  4. Connect your USB ethernet device.
  5. You will see error messages that can be ignored.
  6. Run sudo becomeroot in XTerm.
  7. Run /usr/sbin/usbEthUp.sh.
  8. Note messages. A successful connection will be indicated by an acquired IP address (<cod>Lease xxx.xxx.xxx.xxx obtained</code>, where xxx represents parts of an IP address).
  9. Run dmesg.
  10. Scroll up through messages until you discover text describing the ethernet adapter, containing codes prefixed by v (vendor code) and p (product code). The characters following v and p will be entered into the appropriate fields as shown below.
  11. Any unknown information should be added after the corresponding field as Unknown.

The following USB ethernet devices have been tested:

Crystal Blue USB to Ethernet 10/100 LAN Adapter

  • Ethernet chipset: Davicom DM9601 USB Ethernet
  • Vendor ID: 0a46
  • Product ID: 9601
  • External power required: No
  • Functionality: Success is sporadic with these; they are technically okay, but lacking in reliability. Out of 4 tested by me, only 2 worked.
  • Cost: Low to very low
  • Status: Not recommended
  • Notes: This adapter is seen all over eBay, usually in translucent blue but variants are also found in clear, white and black. FYI, there is a FreeBSD patch to get it to work on that OS.
  • Tested by: Texrat

SMC EZ Connect USB 2202USB/ETH

  • Ethernet chipset: ADMtek ADM8511
  • Vendor ID: 0707
  • Product ID: 0200
  • External power required: No
  • Functionality: Works very well, very quick internet access
  • Cost: Moderate to low
  • Status: Highly recommended
  • Notes: Adapter did not work with earlier releases of tablet driver. Uses detachable USB pigtail.
  • Tested by: Texrat

Targus ACP50 universal notebook hub

  • Ethernet chipset: ADMtek 8515
  • Vendor ID: 0451 (hub)
  • Product ID: 2036 (hub)
  • Vendor ID: 07a6 (ethernet)
  • Product ID: 8515 (ethernet)
  • External power required: Yes
  • Functionality: Works well, very stable
  • Cost: High to moderately high
  • Status: Recommended
  • Notes: Hub loses ethernet and USB functionality if it is simultaneously used as USB charging solution for the tablet.
  • Tested by: Texrat

Trendnet TU-ET100C

  • Ethernet chipset: ADMtek ADM8511 "Pegasus II"
  • Vendor ID: 07a6
  • Product ID: 8511
  • External power required: No
  • Functionality: Works well, very stable
  • Cost: US$15-25 as of October 2008
  • Status: Recommended
  • Notes: Non-detachable tail, approximately 3 feet long. Only one light. Addendum by Texrat: noted by one tester as drawing an unusually high amount of current ("more than N810's 192 mA limit").
  • Tested by: SKarp

Netgear EA101 USB Ethernet

  • Ethernet chipset: Kawasaki LSI KL5KLUSB101B
  • Vendor ID: 0846
  • Product ID: 1001
  • External power required: No
  • Functionality: Works well, quick internet access
  • Cost: Moderate to low
  • Status: Recommended
  • Notes: Form factor is a bit bulky, but it has indicator lights for power, link/activity and packet collisions. Uses detachable USB pigtail. Other adapters that use this chipset are the LinkSys USB10T, the 3Com 3c19250, the ADS Technologies USB-10BT, the Peracom USB Ethernet Adapter, the Entrega NET-USB-E45 and NET-HUB-3U1E, the ATen UC10T, the D-Link DSB-650, Corega USB-T and the SMC 2102USB and 2104USB.
  • Tested by: Texrat

DIGITUS 10/100 Mbps Fast Ethernet USB adapter DN-3015

  • Ethernet chipset: RTL8150 Fast Ethernet Adapter
  • Vendor ID: 0x0bda Realtek Semiconductor Corp
  • Product ID: 0x8150 RTL8150 Fast Ethernet Adapter
  • External power required: No
  • Functionality: Works well
  • Cost: EUR 13.- (Feb. 2009)
  • Status: Recommended
  • Tested by: walto

Wishlist

  • Automatic detection and activation of all devices passing functionality test (i.e., plug and play).
  • advanced control panel configuration (helpful for static IP, etc).