Skip navigation

IP over USB

Easily run any IP-based protocol over USB.
Simple and driverless! Plug-and-play on any operating system.
Use a web browser to look into and configure the USB device.

  • Make IP protocols available on any USB device
  • Cross-platform, no drivers needed on Linux, macOS or Windows
  • Greatly simplifies the control of an embedded device via proven protocols
  • High performance
  • Small footprint

USB devices enter a new era of user friendliness!

We believe this to be a must-have for any state-of-the-art USB device:

Using the IP-over-USB technology in combination with a built in web server, the device can easily be accessed from any host (Windows, Linux, Mac) by simply typing the device name into the web browser. The default device name is usb.local. A serial number can be added, even multiple device names (with or without serial number) can be assigned.

SEGGER J-Trace PRO using IP over USB
Screenshot of an application sample: SEGGER J-Trace PRO using IP over USB.

The end user can access his device more easily than ever before.

No setup program, no driver, no special knowledge required. It simply works! This technology is now readily available for any USB device and adds a lot of value by making it user friendly. No need for keys or a display on the unit. Any PC can be used for this purpose.

To the left is a screenshot of a web browser connected to a SEGGER J-Trace PRO. The page shown allows adjusting the trace acquisition timing and at the same time visualizes in real time the results of the trace analysis, based on this timing, being very useful when adjusting trace acquisition timings.

Advantages

Using the IP-over-USB technology improves the usability of the device and adds value to it. Since all explanations can be shown in the web browser, there is no more need for a paper manual. In addition to this, it can also reduce the manufacturing costs. In the examples below, the printer will in many case have a basic 2 line display, which can now be eliminated. In the case of headphones, some of the buttons may no longer be necessary. Also there is a significant saving for the manufacturer in that he does not have to design, provide and maintain host setup and configuration software.

Other examples

Any USB device benefits from this technology. We believe that it is a must-have for a modern USB device. Applications can be found in industrial control, medical devices, smart home devices, heating or climate control, consumer devices and more.
Let's look at the following examples:

Bluetooth Headphones

Most of today's noise cancellation, Bluetooth headphones come with a lithium battery that is recharged via a USB cable, typically via a Micro-USB connector. The functionality of these devices is great. However, it can be very challenging to set them up. They do not come with a display and typically just one or two buttons and a switch for ON/OFF position or similar. These devices need to be paired with a Bluetooth host, there might be a set up option for a volume limit (if these devices are handed to kids) and other features that are hard to set up this way. With SEGGER's IP-over-USB technology, that is very easy and intuitive. Anybody can do it, quickly, and a manual is no longer required.

emUSB-IP headphone

Printer

A web browser is again the easiest way to get information from the device (Why does it not print?), status information (Number of pages printed, percentage of toner left, approximate number of pages left to print). Even more importantly, it is the easiest way to set it up, with things like paper type, paper format, print quality, IP address setup (for device with additional Ethernet connector), color and DPI settings. 

printer_simple_390.png

Physical or Virtual Ethernet over USB

A target running emUSB-Device-IP is perceived by the host PC as a network adapter. This can be used to create an USB to Ethernet converter which simply works on plug-in without any drivers. Or it can be used to create a virtual network between the PC and the embedded device. The later makes configuration of the USB device available through a web browser. There is no need to waste money and time to develop software for Linux, macOS or Windows which controls and configures the device. With emUSB-Device-IP the customer can simply use a browser.

Virtual-Ethernet_mac_ping.png
Ip-overUSB-physical-ethernet.svg

Physical Ethernet

Ip-overUSB-virtual-ethernet.svg

Virtual Ethernet

How it works

The PC recognizes a target running emUSB-Device IP as a network adapter. The PC sees a virtual network which is created between the PC and the target.
An application which communicates via Ethernet-based protocols, such as a browser, FTP client or Telnet client is able to access the virtual network created by 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 is not aware 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). Windows XP and newer 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
virtual-ethernet-structure.svg

Control your USB device using a web browser

Instead of developing a host application to control your USB device for each of the major operating systems simply create a web page which will work on all of them via Virtual Ethernet.

Create a low-budget version of existing, Ethernet-enabled hardware by using emUSB-Device-IP to deliver IP-based services via USB.

Virtual_Ethernet_Screen_Ubuntu.png

Screenshot of the popular Linux distribution Ubuntu showing ping and the demo web page open in Firefox.

VirtualEthernet_macOS.png

Safari showing a web page delivered with emUSB-Device-IP on macOS.

VirtualEthernet_Windows.PNG

The ping utility and a demo web site running in Chromium on Windows 7. Implemented using emUSB-Device-IP.

Components required for IP-over-USB

NamePurposePurchasing
embOSRTOS - Task, timer, event handling, etc. 

embOS Pricing

emUSB-Device BASE + driverThe emUSB-Device base package providing basic USB functionality.

emUSB-Device Pricing

emUSB-Device-IP

The component which handles translation from USB to Ethernet.

emUSB-Device Pricing

emNet PROComplete TCP/IP stack with all necessary add-ons, such as DNS server, DHCP server, web server, etc.

emNet Pricing

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

 Download

Other Eval packages

IP-over-USB is also available for other boards. Have a look in our download section.

emPower_500.png

Resource usage

IP-over-USB Media

SEGGR - Video Thumbnail IP over USB

How to control a USB device using a web browser

IP_over_USB_SES_Youtube_Cover.png

Understanding, compiling and modifying the IP over USB project demo

Youtube_Cover_Remote_Display_Website.jpg

Establish a VNC connection between two embedded devices using IP-over-USB