emUSB-Host LAN is an add-on to emUSB-Host, which makes it possible to enumerate and use most off-the-shelf Ethernet to USB-Host adapters.
Using these adapters, the target system can access the LAN and via gateway also the Internet if desired. Products already on the market which have a USB host port can be extended by adding network capabilities with only a firmware update, there is no need to create a new hardware model with an Ethernet connector. A target running emUSB-Host LAN is able to enumerate any Ethernet-over-USB adapter and provide emNet with a network interface.
Besides the network connection the embedded system can still enumerate any number of other classes. Using a USB hub files can be saved onto a MSD stick simultaneously. Hardware costs for a new embedded system can be reduced as a separate Ethernet connector is no longer necessary.
Any embedded system running emUSB-Host can be enhanced by adding Ethernet capabilities. Imagine a printer which only has a USB host interface which is normally used to print files from a USB stick. An embedded system such as this can be easily made network-capable by using emUSB-Host LAN without any hardware changes. The end user only needs to connect an Ethernet-over-USB adapter to the printer and the printer becomes available to all other devices in the network. The printer could in turn make an internal web-server available through emUSB-Host LAN taking embedded system configuration to a new level of user friendliness.
A smartphone connected to a host running emUSB-Host LAN can share it's Internet connection with the host embedded system. This process is called "USB tethering", the phone creates a small virtual network between the phone itself and the embedded system running emUSB-Host LAN. This allows the embedded system to access the Internet through the phone or it can allow the phone to access IP services running on the embedded system. An excellent usage example is to use the phone to access a web server running on the embedded system via the phone's web browser. The end user would only need a phone and a USB cable to comfortably configure any settings and view any logs the embedded system may have.
ASIX: Adapters using a chipset from the company ASIX Electronics Corporation. ASIX chipsets are used in a variety of Ethernet-to-USB adapters. emUSB-Host LAN supports the chipsets AX88772A, AX88772B, AX88772. A prominent example is the Apple Model A1277 adapter (chipset AX88772).
CDC-ECM: Communications Device Class (CDC) and the Ethernet Control Model (ECM) subclass are standardized USB classes defined by the USB Implementers Forum. Many adapters use CDC-ECM to provide Ethernet connectivity via USB.
RNDIS: Remote Network Driver Interface Specification is a protocol defined by Microsoft. It is often used with Android mobile phones to provide Internet connectivity to a host via USB tethering.
emUSB-Host LAN has been tested and verified to work with the following adapters:
- Digitus DN-10050-1 10/100M Network USB adapter (ASIX AX88x72A chipset)
- Gembird NIC-U1 (ASIX AX88x72A chipset)
- Acer adapter (ASIX AX88772B chipset)
- Edimax EU-4207 Fast Ethernet adapter (ASIX AX88772 chipset)
- Apple Model A1277 adapter (ASIX AX88772 chipset)
- CSL 41454 adapter (Realtek chipset - CDC-ECM)
- Tecknet HU043 adapter (Realtek chipset - CDC-ECM)
- Sony Xperia Z phone (RNDIS)
- Alcatel OneTouch phone (RNDIS)
- OnePlus 3T phone (RNDIS)
- HTC PN07100 phone (RNDIS)
Download the emUSB-Host LAN demo for the ST STM32F746G-Discovery board:
- Program the board using the included project or binaries
- Connect an OTG adapter to the USB_HS connector
- Connect an Ethernet-over-USB adapter to the OTG connector
- Connect a LAN cable to the Ethernet-over-USB adapter
- Use the URL "http://usbh.local" to open the web server demo
emUSB-Host LAN Demo