IP over USB
The emUSB-Device IP-over-USB add-on allows developers to run any IP-based protocol over USB – easily. Simple and driverless, it is ready-to-run on any operating system. Use a web browser to look into and configure the USB device.
Overview
IP-over-USB technology combined with a built-in web server means a device can be accessed from any host - Linux, macOS, and Microsoft Windows. Users need only type the device’s name into the browser.
With a USB device, the default name is usb.local. However, serial numbers can be added and multiple device names can be assigned.
To the right is a screenshot of a web browser connected to a SEGGER J-Trace PRO, displaying what is currently happening: The page shown enables the configuration of the trace pin delays.
Now, end users have easier access to their devices than ever before. No setup program, driver or special knowledge is required: It simply works!
This technology is readily available for USB devices, adding more value and user friendliness. No need for keys or display on the unit., either: Any PC can be used to configure a device.
Key features
- Make IP protocols available on any USB device
- Multi-platform: No drivers needed for Linux, macOS or Microsoft Windows
- Simplifies the control of embedded devices via proven protocols
- High performance, small footprint
Advantages of IP over USB
A device’s usability improves considerably with IP-over-USB technology. Instead of paper manuals, explanations can be displayed in a web browser.
It can also significantly reduce manufacturing costs. With printers for example, many will have a basic 2-line display - which can now be eliminated. In the case of headphones, some buttons may no longer be necessary. Manufacturers no longer have to design, provide or maintain host setup and configuration software.
IP over USB: Example applications
Any USB device can benefit from this technology. In fact, we consider it a must-have for modern USB devices. IP-over-USB applications can be found in sectors like industrial control, medical devices, smart home devices, heating/climate control, consumer devices and more.
Have a look at the following examples:
Bluetooth Headphones: Most modern noise-canceling Bluetooth headphones come with a lithium battery that recharges via USB cable. This is typically a Micro-USB connector. While these device’s have great functionality, setting one up can be a challenge. There is often no display and usually only one or two buttons, including an ON/OFF switch. These devices must also be paired with a Bluetooth host and there may be a volume limit and other features that can be tricky to implement.
Thanks to SEGGER’s IP-over-USB technology, changing these settings is easy and intuitive. Anyone can do it – quickly - no manual required.
Printers: Web browsers offer the easiest way to get information from a printer. Browsers can explain why it isn’t printing, how many pages are printed, the amount of toner left, etc.
More importantly, it is also the easiest way to set it up: Paper type, paper format, print quality, IP address setup (for devices with additional Ethernet connectors), color and DPI settings can be selected through the browser.
Physical or virtual Ethernet over USB
Targets running emUSB-Device-IP are perceived by the host PC as network adapters. They can be used to create a USB to Ethernet converter which works when plugged in, without any drivers. It can also be used to create a virtual network between the PC and the embedded device. The latter makes USB device configuration available through a web browser. No need to waste time developing software for Linux, macOS or Microsoft Windows to control and configure the device. emUSB-Device-IP simply lets the customer use the browser.
Physical Ethernet
Virtual Ethernet
Ethernet over USB: How it works
The PC recognizes a target running emUSB-Device IP as a network adapter. The PC then sees a virtual network created between the PC and the target.
An application which communicates via Ethernet-based protocols (browser, FTP client, TELNET client) can access the virtual network created emUSB-Device-IP the same way it accesses any other network.
For the application, the virtual network is transparent and is handled like any other Ethernet network. The application has no awareness of the underlying USB connection. Proven protocols and existing Ethernet applications can be used with USB-only devices.
Linux with kernel versions newer than 2.6.22 have full support for emUSB-Device-IP. macOS supports emUSB-Device-IP since version 10.4 (Tiger). Microsoft Windows also support this.
Components: IP-over-USB is implemented using emUSB-Device and emNet. Additionally an RTOS (embOS) is necessary.
- emNet provides the application layer for the web server
- emNet handles the discovery protocols as well
- emUSB-Device handles USB communication with the different host operating systems via RNDIS or CDC-ECM
Control USB devices with a web browser
There’s no need to develop a host application on each of the major operating systems just to control a USB device. Instead, a web page can be created via Virtual Ethernet, enabling it to work on all three.
Create a simple, cost-efficient version of existing, Ethernet-enabled hardware by using emUSB-Device-IP to deliver IP-based services via USB.
Screenshot of the popular Linux distribution Ubuntu showing ping and the demo web page open in Firefox.
Safari showing a web page delivered with emUSB-Device-IP on macOS.
The ping utility and a demo web site running in Chromium on Microsoft Windows. Implemented using emUSB-Device-IP.
Components required for IP over USB
Name | Purpose | Purchasing |
---|---|---|
embOS | RTOS - Task, timer, event handling, etc. | |
emUSB-Device BASE + driver | The emUSB-Device base package providing basic USB functionality. | |
emUSB-Device-IP | The component which handles translation from USB to Ethernet. | |
emNet PRO | Complete TCP/IP stack with all necessary add-ons, such as DNS server, DHCP server, web server, etc. |
Try it now
Download the emUSB-Device-IP demo for the emPower board:
- Program the emPower with the default application using Embedded Studio
- Connect the HS USB connector to your PC
- Use the URL "http://usb.local" to open the web server demo over USB
Other Eval Packages: IP-over-USB is also available for other boards. Have a look in our download section.
Resource usage
Media gallery
Videos
Sept. 2020 | 3:42 min
IP over USB — Intro
Apr. 2018 | 4:26 min
IP over USB — USB device control
Aug. 2019 | 3:09 min
IP over USB — Remote display