Difference between revisions of "RPi USB Ethernet adapters"

From eLinux.org
Jump to: navigation, search
m (added build comment to 'Cable Matters' adapter)
(Corrected speed of Linksys USB3GIG v1 added previously.)
(14 intermediate revisions by 10 users not shown)
Line 1: Line 1:
  
 
==Working Ethernet adapters==
 
==Working Ethernet adapters==
 +
* '''ADMtek'''
 +
**  ADM8511 Pegasus II Ethernet, full-speed, idVendor=07a6, idProduct=8511: Works out of the box. No external power source needed.
 
* '''AVM'''
 
* '''AVM'''
 
** FRITZ!Box WLAN 3030 USB Ethernet Adapter: Works out of the box. No external power source needed.
 
** FRITZ!Box WLAN 3030 USB Ethernet Adapter: Works out of the box. No external power source needed.
 
* '''ASUS'''
 
* '''ASUS'''
 
** USB 2.0 to Fast Ethernet Adapter (ASIX AX88772B) USB Ethernet Adapter: As distributed with Zenbook Ultrabooks. Works out of the box. No external power source needed.
 
** USB 2.0 to Fast Ethernet Adapter (ASIX AX88772B) USB Ethernet Adapter: As distributed with Zenbook Ultrabooks. Works out of the box. No external power source needed.
* '''Cable Maters'''
+
* '''Cable Matters'''
 
** USB 3.0 to Gigabit Ethernet Adapter (ASIX AX88179) USB Ethernet Adapter. '''NOTE''': Raspbian 3.6.11+ does not include a driver for this hardware, you will have to build a new kernel module from the source code provided by ASIX [http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_LINUX_DRIVER_v1.8.0_SOURCE.tar.bz2 here]. Easy to follow instructions on how to download the kernel source code and symbol files can be found in the 2nd posting [http://www.raspberrypi.org/phpBB3/viewtopic.php?t=39096&p=393810 here], including how to compile the module.
 
** USB 3.0 to Gigabit Ethernet Adapter (ASIX AX88179) USB Ethernet Adapter. '''NOTE''': Raspbian 3.6.11+ does not include a driver for this hardware, you will have to build a new kernel module from the source code provided by ASIX [http://www.asix.com.tw/FrootAttach/driver/AX88179_178A_LINUX_DRIVER_v1.8.0_SOURCE.tar.bz2 here]. Easy to follow instructions on how to download the kernel source code and symbol files can be found in the 2nd posting [http://www.raspberrypi.org/phpBB3/viewtopic.php?t=39096&p=393810 here], including how to compile the module.
 
* '''Wintech'''
 
* '''Wintech'''
 
** USB 2.0 LanCard Model: LAU-15 (CK0049C) using the mcs7830 driver. Probably needs more than 100 mA current. [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=46&t=8708#p106136]
 
** USB 2.0 LanCard Model: LAU-15 (CK0049C) using the mcs7830 driver. Probably needs more than 100 mA current. [http://www.raspberrypi.org/phpBB3/viewtopic.php?f=46&t=8708#p106136]
 
* '''LogiLink'''
 
* '''LogiLink'''
** USB 2.0 UA0144: AX88772 chipset using the asix kernel driver. Tested only on powered USB hub so far.
+
** USB 2.0 UA0144: AX88772 chipset using the asix kernel driver.
 +
*** Does not work without  powered USB hub. (idVendor=0b95, idProduct=772b)
 
** LogiLink Fast EN USB 2.0 to RJ45 Adapter: Test on Wheezy-Raspian (2012-08-16) without USB Hub will be confirmed
 
** LogiLink Fast EN USB 2.0 to RJ45 Adapter: Test on Wheezy-Raspian (2012-08-16) without USB Hub will be confirmed
 
lsusb output: Bus 001 Device 004: ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter  
 
lsusb output: Bus 001 Device 004: ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter  
Line 17: Line 20:
 
* '''Apple'''
 
* '''Apple'''
 
** Apple USB Ethernet Adapter using <code>asix</code> kernel driver. Works out of the box (driver present since kernel 2.6.32). Doing OK using Apple USB charger and Pi's own USB port. USB register states that it draws max. 250 mA.  
 
** Apple USB Ethernet Adapter using <code>asix</code> kernel driver. Works out of the box (driver present since kernel 2.6.32). Doing OK using Apple USB charger and Pi's own USB port. USB register states that it draws max. 250 mA.  
 +
* '''Belkin'''
 +
** USB 2.0 Ethernet Adapter (F4U047). Works out of the box without any setup. No powered USB hub needed, tested on Raspberry Pi A+
 
* '''Edimax'''
 
* '''Edimax'''
 +
** Edimax EU-4208 USB2.0 Fast Ethernet Adapter (idVendor=0b95, idProduct=772b) - works out of the box, requires own power supply (from powered USB hub)
 
** Edimax EU-4230 USB2.0 Fast Ethernet Adapter with 3 port USB hub. Works out of the box. Needs its own power source.
 
** Edimax EU-4230 USB2.0 Fast Ethernet Adapter with 3 port USB hub. Works out of the box. Needs its own power source.
 
* '''D-Link'''
 
* '''D-Link'''
Line 23: Line 29:
 
* '''LinkSys'''
 
* '''LinkSys'''
 
** Linksys - USB200M - Compact USB 2.0 10/100 Network Adapter - raspian recognized it automatically and so far I have only pinged a few addresses with and it worked.  I had it plugged into a powered hub so I cannot say if it works connected directly to the pi.
 
** Linksys - USB200M - Compact USB 2.0 10/100 Network Adapter - raspian recognized it automatically and so far I have only pinged a few addresses with and it worked.  I had it plugged into a powered hub so I cannot say if it works connected directly to the pi.
 +
** Linksys - USB300M - Compact USB 2.0 10/100 Network Adapter - Recognized automatically, didn't require powered hub when powering pi using microUSB supply rated for 0.7A output.
 +
** Linksys - USB3GIG v1 (Vendor ID: 13b1, Product ID: 0041) - USB 3.0 gigabit adapter, obviously connecting in USB 2.0 mode.  Works very well on a Raspberry Pi 2 running Raspbian 2015-02-16.  Faster than the built-in adapter, connects at gigabit rate though iperf tests show about 150 - 175 Mbit speed.
 
* '''Pluscom'''
 
* '''Pluscom'''
 
** Pluscom U1EC - Davicom DM9000E chipset, DM9601 driver, Max current 144mA. Unlike later, USB 1.1 devices using the same driver, this one works fine (see http://www.raspberrypi.org/phpBB3/viewtopic.php?t=45718)
 
** Pluscom U1EC - Davicom DM9000E chipset, DM9601 driver, Max current 144mA. Unlike later, USB 1.1 devices using the same driver, this one works fine (see http://www.raspberrypi.org/phpBB3/viewtopic.php?t=45718)
Line 42: Line 50:
 
** Newlink NLUSB2-ETH USB 2.0 Ethernet Adapter. Works out of the box on Raspbian. Detected as ASIX AX88772, asix driver, Max current 250mA. Works without a powered hub or when plugged into an unpowered hub on a Model "A" Pi.
 
** Newlink NLUSB2-ETH USB 2.0 Ethernet Adapter. Works out of the box on Raspbian. Detected as ASIX AX88772, asix driver, Max current 250mA. Works without a powered hub or when plugged into an unpowered hub on a Model "A" Pi.
 
* '''Axago'''
 
* '''Axago'''
** Axago ADE-X1 10/100 Ethernet Adapter (USB: 9710:7830 driver:mcs7830). Adapter needs patched linux kernel from [https://github.com/raspberrypi/linux/tree/fiq_split fiq_split branch]. Without kernel from fiq_split branch adapter working about 10 minutes without problem, but after that kernel write error message to dmesg and no packet is received. Needed to unplug and plug USB again. Tested with and without powered USB hub. dmesg error: NETDEV WATCHDOG: eth1 (MOSCHIP usb-ethernet driver): transmit queue 0 timed out. With fiq_split kernel there is no problem and adapter working fine.
+
** Axago ADE-X1 10/100 Ethernet Adapter (USB: 9710:7830 driver:mcs7830). Adapter needs last raspbian kernel. With older kernels adapter working about 10 minutes without problem, but after that kernel write error message to dmesg and no packet is received. Needed to unplug and plug USB again. Tested with and without powered USB hub. dmesg error: NETDEV WATCHDOG: eth1 (MOSCHIP usb-ethernet driver): transmit queue 0 timed out. With last kernel there is no problem and adapter working fine.
 +
* '''i-tec'''
 +
** i-tec USB 2.0 Ethernet Adapter Fast Ethernet (chip ASIX AX88772B). Works out of box very stable with asix kernel driver on latest raspbian 3.6.11+ (nov 2013), Raspberry Pi model B, 256MB RAM, connected through powered USB hub (may works without it, not tested).
 +
** lsusb output: Bus 001 Device 005: ID 0b95:772b ASIX Electronics Corp.
 +
** [http://i-tec-europe.eu/?t=3&v=296 manufacturer website]
 +
* '''Plugable'''
 +
** Plugable USB2-E100 USB 2.0 10/100 ethernet adapter works out of the box (ASIX AX88772 chipset). Raspberry Pi reboots when you plug it into the USB port, but after that works fine.
 +
** [http://plugable.com/products/usb2-e100 manufacturer website]
  
 
==Problem Ethernet adapters==
 
==Problem Ethernet adapters==
Line 48: Line 63:
 
* '''Davicom / Kontron'''
 
* '''Davicom / Kontron'''
 
** Kontron DM9601 (USB: 0fe6:9700) Cost $5 on Ebay, works OK with Dell laptop under WinXP & Debian. While it is advertised as USB 2.0, actually it is a USB 1.1 device, thus, its throughput is limited to 12 Mbps. Check with lsusb -v, field ''bcdUSB''. Adaptor works on boot on R-Pi model A well enough for ping and NTP, but then crashes with "Kernel Bug at net/core/skbuff.c:127" immediately when file transfer begins.  TP1-TP2 voltage measured solid at 4.92 V. See also http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=39567&p=325003#p325003  The Linux DM9601 Driver is reported to be the problem here: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=34557  so until driver is updated, do not bother with this device.
 
** Kontron DM9601 (USB: 0fe6:9700) Cost $5 on Ebay, works OK with Dell laptop under WinXP & Debian. While it is advertised as USB 2.0, actually it is a USB 1.1 device, thus, its throughput is limited to 12 Mbps. Check with lsusb -v, field ''bcdUSB''. Adaptor works on boot on R-Pi model A well enough for ping and NTP, but then crashes with "Kernel Bug at net/core/skbuff.c:127" immediately when file transfer begins.  TP1-TP2 voltage measured solid at 4.92 V. See also http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=39567&p=325003#p325003  The Linux DM9601 Driver is reported to be the problem here: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=34557  so until driver is updated, do not bother with this device.
 +
 +
As a workaround, doubling the socket buffer size will prevent the kernel oops:
 +
https://github.com/kmtaylor/rpi_patches/blob/master/dm9601-bug.patch
  
 
== References ==
 
== References ==

Revision as of 12:11, 13 March 2015

Working Ethernet adapters

  • ADMtek
    • ADM8511 Pegasus II Ethernet, full-speed, idVendor=07a6, idProduct=8511: Works out of the box. No external power source needed.
  • AVM
    • FRITZ!Box WLAN 3030 USB Ethernet Adapter: Works out of the box. No external power source needed.
  • ASUS
    • USB 2.0 to Fast Ethernet Adapter (ASIX AX88772B) USB Ethernet Adapter: As distributed with Zenbook Ultrabooks. Works out of the box. No external power source needed.
  • Cable Matters
    • USB 3.0 to Gigabit Ethernet Adapter (ASIX AX88179) USB Ethernet Adapter. NOTE: Raspbian 3.6.11+ does not include a driver for this hardware, you will have to build a new kernel module from the source code provided by ASIX here. Easy to follow instructions on how to download the kernel source code and symbol files can be found in the 2nd posting here, including how to compile the module.
  • Wintech
    • USB 2.0 LanCard Model: LAU-15 (CK0049C) using the mcs7830 driver. Probably needs more than 100 mA current. [1]
  • LogiLink
    • USB 2.0 UA0144: AX88772 chipset using the asix kernel driver.
      • Does not work without powered USB hub. (idVendor=0b95, idProduct=772b)
    • LogiLink Fast EN USB 2.0 to RJ45 Adapter: Test on Wheezy-Raspian (2012-08-16) without USB Hub will be confirmed

lsusb output: Bus 001 Device 004: ID 9710:7830 MosChip Semiconductor MCS7830 10/100 Mbps Ethernet adapter

BE CAREFUL: There exists a chinese copied version without the Logilink-Logo using the Kontron DM9601-chip. This only supports USB1.1 and isn't well support under Linux. If you get a model without the Logilink logo and the model number JP1082 it's a fake.

  • Apple
    • Apple USB Ethernet Adapter using asix kernel driver. Works out of the box (driver present since kernel 2.6.32). Doing OK using Apple USB charger and Pi's own USB port. USB register states that it draws max. 250 mA.
  • Belkin
    • USB 2.0 Ethernet Adapter (F4U047). Works out of the box without any setup. No powered USB hub needed, tested on Raspberry Pi A+
  • Edimax
    • Edimax EU-4208 USB2.0 Fast Ethernet Adapter (idVendor=0b95, idProduct=772b) - works out of the box, requires own power supply (from powered USB hub)
    • Edimax EU-4230 USB2.0 Fast Ethernet Adapter with 3 port USB hub. Works out of the box. Needs its own power source.
  • D-Link
    • D-Link DUB-E100 Fast Ethernet USB 2.0 Adapter - works out of the box, requires own power supply (from powered USB hub)
  • LinkSys
    • Linksys - USB200M - Compact USB 2.0 10/100 Network Adapter - raspian recognized it automatically and so far I have only pinged a few addresses with and it worked. I had it plugged into a powered hub so I cannot say if it works connected directly to the pi.
    • Linksys - USB300M - Compact USB 2.0 10/100 Network Adapter - Recognized automatically, didn't require powered hub when powering pi using microUSB supply rated for 0.7A output.
    • Linksys - USB3GIG v1 (Vendor ID: 13b1, Product ID: 0041) - USB 3.0 gigabit adapter, obviously connecting in USB 2.0 mode. Works very well on a Raspberry Pi 2 running Raspbian 2015-02-16. Faster than the built-in adapter, connects at gigabit rate though iperf tests show about 150 - 175 Mbit speed.
  • Pluscom
    • Pluscom U1EC - Davicom DM9000E chipset, DM9601 driver, Max current 144mA. Unlike later, USB 1.1 devices using the same driver, this one works fine (see http://www.raspberrypi.org/phpBB3/viewtopic.php?t=45718)
    • Pluscom U2E-ADM8515 - ADMtek, Inc. AN8515 Ethernet chipset, pegasus driver, Max current 224 mA. Works with a Model "A" Pi if plugged into an external (maybe unpowered) hub.
  • Sabrent
    • Sabrent USB 2.0 10/100 Ethernet Adapter - works out of the box (asix), but USB 2.0 only (does not work if using dwc_otg.speed=1 in cmdline.txt to force USB 1.1 for other problem hardware)
  • Sitecom
    • Sitecom LN-030 V2 detected as ASIX AX88772 USB 2.0 Ethernet Adapter works out of the box. Doesn't seem to require any extra power supply.
  • TrendNet
    • Trendnet TU2-ET100 Adapter works out of the box.
  • A-Link
    • A-Link NA1GU Gigabit USB 2.0 Ethernet adapter

This adapter works, but it (probably) requires a bit of work. The driver for the chipset (Asix AX88178) included with the Raspbian kernel (v 3.1.9+ Aug 7 2012) does not work. With that driver the device is detected, but it does not seem to be possible to actually put any traffic through it. :-( In order to make it work you need to download the latest driver from the chipset manufacturer. The version I used was "Linux kernel 3.x/2.6.x Driver" v4.4.0, released 2012-05-18. Fortunately this is GNU GPLv2 -licenced source code and not a binary blob, so compiling it for the Raspberry Pi is perfectly doable. The hardest part was in fact getting the Linux source code required, because the repositores contained the source for the wrong kernel version. >:-( Fortunately there is a very useful guide for how to get the sources from github, and preparing that source so that you can compile modules. Unfortunately you will have to compile the kernel (even if you don't actually install it) - which will take the better part of the day on the Raspberry, but once that's done you can unpack the driver source and just run "make && sudo make install". Reboot and you should have a fully working Ethernet adapter.

The adapter seems to work without a powered USB hub, but according to the specifications it can draw up to 190 mA, so there might be stability issues if additional power is not provided.

  • Hama
    • Hama 00049244 Fast Ethernet USB 2.0-Adapter detected as MOSCHIP 7830/7832/7730 usb-NET adapter. Works out of the box on Debian Wheezy/sid (2012-08-08-wheezy-armel)(not tested yet on other OS). No external power source or USB hub needed.
  • Newlink
    • Newlink NLUSB2-ETH USB 2.0 Ethernet Adapter. Works out of the box on Raspbian. Detected as ASIX AX88772, asix driver, Max current 250mA. Works without a powered hub or when plugged into an unpowered hub on a Model "A" Pi.
  • Axago
    • Axago ADE-X1 10/100 Ethernet Adapter (USB: 9710:7830 driver:mcs7830). Adapter needs last raspbian kernel. With older kernels adapter working about 10 minutes without problem, but after that kernel write error message to dmesg and no packet is received. Needed to unplug and plug USB again. Tested with and without powered USB hub. dmesg error: NETDEV WATCHDOG: eth1 (MOSCHIP usb-ethernet driver): transmit queue 0 timed out. With last kernel there is no problem and adapter working fine.
  • i-tec
    • i-tec USB 2.0 Ethernet Adapter Fast Ethernet (chip ASIX AX88772B). Works out of box very stable with asix kernel driver on latest raspbian 3.6.11+ (nov 2013), Raspberry Pi model B, 256MB RAM, connected through powered USB hub (may works without it, not tested).
    • lsusb output: Bus 001 Device 005: ID 0b95:772b ASIX Electronics Corp.
    • manufacturer website
  • Plugable
    • Plugable USB2-E100 USB 2.0 10/100 ethernet adapter works out of the box (ASIX AX88772 chipset). Raspberry Pi reboots when you plug it into the USB port, but after that works fine.
    • manufacturer website

Problem Ethernet adapters

  • Davicom / Kontron
    • Kontron DM9601 (USB: 0fe6:9700) Cost $5 on Ebay, works OK with Dell laptop under WinXP & Debian. While it is advertised as USB 2.0, actually it is a USB 1.1 device, thus, its throughput is limited to 12 Mbps. Check with lsusb -v, field bcdUSB. Adaptor works on boot on R-Pi model A well enough for ping and NTP, but then crashes with "Kernel Bug at net/core/skbuff.c:127" immediately when file transfer begins. TP1-TP2 voltage measured solid at 4.92 V. See also http://www.raspberrypi.org/phpBB3/viewtopic.php?f=28&t=39567&p=325003#p325003 The Linux DM9601 Driver is reported to be the problem here: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=66&t=34557 so until driver is updated, do not bother with this device.

As a workaround, doubling the socket buffer size will prevent the kernel oops: https://github.com/kmtaylor/rpi_patches/blob/master/dm9601-bug.patch

References