Specializing in the design, implementation and support of high performance USB networking solutions for today's intelligent devices.
Belcarra's many years of expertise in Windows driver development, USB and networking can ensure successful integration with networking your USB Device to Microsoft Windows systems.
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:
AOAC (Always On / Always Connected)
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.
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 CONFIG_USB_NET=m
- Remove the following lines if present CONFIG_USB_ETH_RNDIS=y CONFIG_USB_ETH_EEM=y
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: lsmod
To remove module g_ether from the running kernel: rmmod g_ether
This operation is blocked if the module is built into the kernel: CONFIG_USB_NET=y
If you see the above in the configuration, change y to m
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.
The goal ofTestdrive 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.
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.