NDIS 6.3 - InstantGo Developer Notes

Network Device Interface Specification (NDIS) 6.3, included with Windows 8 and newer Microsoft Operating Systems implement new power management capabilities especially for devices such as tablets and 2 in 1 systems..

The following engineering notes (Stuart Lynne) addresses a particular feature known 
variously as:
  • InstantGo
  • AOAC (Always On / Always Connected)
  • Connected Standby
InstantGo capable devices (aka Windows on Tablets) are designed to minimize power consumption and extend battery life. If Windows determines that a connected device is not being actively used it will attempt to suspend it.

Simple CDC-ECM network using Belcarra's USBLAN for Windows

The following information outlines how to configure and load the Linux gadget modules to setup a simple USB CDC-ECM portocol network using Belcarra's freely available evaluation version of USBLAN for Windows.

Firstly,take a Linux kernel and reconfigure it as follows:

- Add the following line if not present
- Remove the following lines if present

Then run the configuration tool again to get a consistent set of configuration values.  The lines that were removed above will re-appear, but preceded by # so that they have no effect..

This has the effect of building the module g_ether so that it offers the ECM protocol. To use it
 modprobe g_ether idVendor=0x15ec idProduct=0xd041

The preceding is for a module installed into the root filesystem.

If you have not done but that want to use a local module binary then the procedure
 insmod g_ether.ko idVendor=0x15ec idProduct=0xd041
where the module binary needs to be in the current working directory.

To determine if a module is running type:

To remove module g_ether from the running kernel:
 rmmod g_ether

This operation is blocked if the module is built into the kernel:

If you see the above in the configuration, change y to m

For more information please refer to the Belcarra USBLAN OEM Manual

Belcarra USBLAN for Microchip PIC32 Networking over USB Demonstration


The Microchip PIC32 allows for implementation of a Full Speed USB device.

Implementing a Networking over USB solution allows a PIC32 based design to connect to a Microsoft Windows system and use TCP/IP network connections using the Belcarra Windows USBLAN Class driver.

Microchip makes available a TCP/IP stack and a demonstration application that implements a Web Server. In their demo the Web Server can be accessed via the Ethernet.

Belcarra has created a Networking over USB driver (USBLAN Function Driver) for Microchip that allows the TCP/IP stack to use USB to connect to a Windows system.  A demonstration kit is available to demonstrate this capability.

This demonstration kit is adapted from Microchips Ethernet implementation of  a web server demo. The Belcarra kit uses the v2.9a version of USB from Microchip and has been implemented with the most recent production version v5.42 of the Microchip TCP/IP stack. Belcarra can also on request make available a version of this demo using the Microchip version v6 Beta TCP/IP stack.

Belcarra’s implementation of Networking over USB for the Microchip PIC32 is a very low cost networking solution for PIC32 projects, eliminating the need to add an Ethernet chip while using less Flash and RAM resources.

Demonstration Kit  [Updated April 4, 2015]

There are three hex project files  (download zip files):
NOTE: updated version 2015-04-06
  • belcarra-microchip-ethernet-v5-2014-01-23.hex - the Microchip demo accessed via Ethernet only 
  • belcarra-microchip-usblan-v5-2014-01-23.hex- the Microchip demo accessed via USBLAN (USB PHY) 
  • belcarra-microchip-bridge-v5-2014-01-23.hex- the Microchip demo access via USBLAN or Ethernet
Any of these can be loaded into the PIC32 Starter Kit board using the instructions below.


Installing USBLAN for Windows Demo on Windows 8

Belcarra’s evaluation version of USBLAN for Windows is not available directly from Windows Update for a Windows 8 user at this time, but it can be installed locally as described here.
First make sure your device is not connected to the PC. This is an optional procedure, but the following instruction screens make that assumption.

Next, run the Desktop

USB TestDrive - Panda


For some time now Belcarra has made available a USB test package system for the Gumstix Overo Earth and related boards. This package is ultimately based on the Angstrom system.

The goal of Testdrive Panda (updated 2013-12-13) is to extend the project to newer systems using the TI Pandaboard. The decision was made to use Ubuntu instead of Angstrom because it’s possible to put a complete development system on board the distribution -- so if you want to test with an additional tool -- just load it on the board either with the package manager or in the worst case build it from source, all on the board, no cross-compilation needed.

However, another goal of the effort was to make this mostly unnecessary. For example, the standard network performance tool iperf is not part of the Ubuntu distro that we used, but we added a source for iperf to the package manager’s source list.

In addition to this, we customized the distro (download here) to use a more recent Linux kernel  with a customized configuration streamlined for USB testing.

Acquiring and Installing TestDrive-Panda

USBLAN for Windows - RNDIS Protocol Support

Belcarra is pleased to announce the addition of the RNDIS protocol to their USBLAN for Windows Network over USB solution (http://usblan.belcarra.com/),

Belcarra’s USB Class Driver is a suite of products which enables networking over the USB link. Belcarra’s RNDIS implementation provides several USBLAN features including faster data transfer abilities. The addition of RNDIS gives Belcarra's USBLAN for Windows the most complete set of USB networking protocols available in a single driver product.


Contact us to receive your evaluation copy of the  USBLAN 2.4.4 release.