Академический Документы
Профессиональный Документы
Культура Документы
Version 2.4.2
Contents
1 Introduction 1.1 2 References 6 Common Configuration Issues 6.1 6.2 6.3 NCM EEM ECM 10 5.9 Per Adapter Configuration 9.2 9.3 9.4 Pre-Installed Directed Removal of the driver
Overview 2.1 2.2 2.3 2.4 2.5 2.6 2.7 2.8 2.9 Windows Platforms Windows Features Installation Kit Compatibility Supported Protocols CDC NCM CDC EEM CDC ECM Microsoft RNDIS
Debug
APPENDICES Appendix A - Connection Semantics for CDC-NCM and CDC-ECM Devices Appendix B - Connection Semantics for Other (non NCM and ECM) Devices Appendix C - Signing a Modified INF file Appendix D - EEM Streaming Appendix E EEM Echo Response Request Configuration Appendix F - DIFx Installation Information Appendix G - Installation Screenshots Appendix H - Setting a MAC address for a Specific USB Device Appendix I - Bridging USB Device to another network Appendix J - INF for Installation of NDIS driver Appendix K - Sample Configuration Descriptors Revision Summary
6.4 Zero Length versus Null Byte Packets 6.5 DHCP IP Address Allocation 6.6 7 Notifications
7.4 Multiple Devices 7.4.1 Installation of Multiple Devices with Serial Numbers 7.4.2 Installation of Multiple Devices without Serial Numbers Installation Kit 8.1 8.2 NDIS 5 and 6 DIF Directed Install
5.3 General Configuration 5.3.1 UseZLP 5.3.2 UseNotifications 5.3.3 UseCyclePort 5.4 DHCP Service Configuration 5.4.1 DHCPDType 5.5 Multi-Frame Protocol Configuration 5.6 5.7 5.8
OEM Manual Page 2
8.3 Repackaging the distribution kit without resigning 8.4 Repackaging the distribution kit with resigning 8.5 Windows Logo Program Signature Only 9 Installation Scenarios 9.1 Windows Update
Introduction
The Belcarra USBLAN driver is a Windows Driver Model (WDM) and Network Driver Interface Specification (NDIS) driver that supports USB devices using industry standard networking over USB protocols. It allows devices that implement a compatible networking protocol (see below for the most common ones) to be attached to a Windows system. Each device gets a network interface which supports all standard Windows networking functions. This document describes the architecture, features, installation and configuration of the driver.
1.1 References
This document makes reference to both USB and networking standards and concepts. Formal reference material, as well as other material can be found in the documents listed below, among others. Universal Serial Bus 2.0 o Single-page backgrounder usb.org/developers/usb20/backgrounder/ o Technical introduction usb.org/developers/usb20/developers/whitepapers/usb_20g.pdf o Full specification usb.org/developers/docs/usb_20_071012.zip (includes the specification document, errata and adopters agreement) USB Communication Device Class (CDC) specifications o Universal Serial Bus Communications Class Subclass Specifications for Network Control Model Devices (CDC-NCM) o Universal Serial Bus Communications Class Subclass Specifications for Ethernet Control Model Devices (CDC-ECM) o The specifications for the preceding two protocols are contained (among others) in the following archive www.usb.org/developers/devclass_docs/CDC1.2_WMC1.1_012011.zip Universal Serial Bus Communications Class Subclass Specifications for Ethernet Emulation Model Devices (CDC-EEM). The specification for this protocol is found in www.usb.org/developers/devclass_docs/CDC_EEM10.pdf RNDIS Specification: download.microsoft.com/download/B/0/B/B0B199DB-41E6-400F-90CDC350D0C14A53/%5BMS-RNDIS%5D.pdf
Supplementary documents that may be helpful include: Dynamic Host Configuration Protocol (DHCP) o The DHCP specification is found here: tools.ietf.org/html/rfc2131 o An overview and links to other reference material can be found in the Wikipedia article on DHCP: en.wikipedia.org/wiki/DHCP IEEE 802.3 protocol general discussion en.wikipedia.org/wiki/IEEE_802.3 o Ethernet II (DIX v2.0) subtype of IEEE 802.3, what is generally known as Ethernet. For USB networking, mostly we only need the frame format of this protocol, which is described here en.wikipedia.org/wiki/Ethernet_frame Address Resolution Protocol (ARP) en.wikipedia.org/wiki/Address_Resolution_Protocol Many other documents in the Developer section at www.usb.org
Overview
Networking over USB protocols allows a full speed or high speed USB peripheral to implement a network connection to Windows. This in turn allows Windows applications to interact with applications on the USB peripheral using standard network protocols instead of vendor-specific USB protocols, which also requires the application to have administrator privilege, whereas any application can use the networking subsystem. The networking link may terminate at the device1, or the device may bridge the network data to a remote network2. Applications of networking over USB include: Connecting an embedded device to a Windows PC Connecting a Windows PC to the Internet via a phone or cable modem Connecting to smart devices such as printers or hand held devices Providing a network connection to an embedded system via Windows Networking over USB is done according to a variety of protocols, as described in Section 1.1. Belcarra USBLAN supports the standard protocols plus a number of de facto variants used in special situations (e.g. because of hardware issues). CDC ECM is the simplest, which simply sends one 802.3 frame per USB transfer. The other major protocols (CDC-EEM, CDC-NCM Microsoft RNDIS) all support sending and receiving multiple 802.3 frames in a single transfer, although the actual implementations of these protocols vary widely. Use of USBLAN with one of these protocols can achieve 60-70% occupancy of the USB 2.0 bus, for a net throughput of TCP transfers of up to 30 MBbytes/second, with the actual transfer rates constrained by hardware. Multiple devices can be connected simultaneously. The driver is available fully tested and qualified as a ready-to-use Microsoft Signature Only installation kit.
2.1
Windows Platforms
USBLAN has separate NDIS5 and NDIS6 versions, which are packaged as a single kit supporting Microsoft operating systems from Windows XP and later3. The NDIS6 version of USBLAN is used to support the following: Windows 8 Windows 7 Windows Server 2008 R2 Windows Server 2008 Windows Vista The NDIS5 version of USBLAN is used to support the following: Windows Server 2003 Windows Server Windows XP The driver supports both 32 bit and 64 bit architectures.
1 2
A personal area network (PAN) device An infrastructure device 3 Except IA64 architectures.
OEM Manual Page 4 Copyright 2012 Belcarra Technologies (2005) Corp. October 12, 2012 www.belcarra.com
2.4 Compatibility
The USBLAN driver supports USB 2.0 and the Enhanced Host Controller Interface (EHCI) Driver in all supported versions of Windows.
2.5
Supported Protocols
Other protocols: Microsoft RNDIS Belcarra BLAN Belcarra SAFE Gadget Simple / Belcarra Basic Belcarra Basic2
USB Communications Class Standards: CDC NCM CDC EEM CDC ECM
Protocol recognition is done on a per-device basis. Multiple devices with different protocols can be attached at the same time.
Architecture
Figure 3-1 (below) outlines where the Belcarra USBLAN driver fits into the Windows WDM and NDIS driver architecture.
Windows Networking Application Any Windows application that uses the standard Windows Networking interfaces. Windows NDIS the Windows networking stack, this implements the Windows Networking interfaces and all associated networking protocols such as IPv4, IPv6, UDP, TCP etc. USBLAN the Belcarra WDM NDIS driver that implements the required NDIS interface on its upper edge and conforms to the required USB Driver Interface on its lower edge to allow it to implement networking over USB USBCCGP the Windows composite support driver, this allows a device that has a composite function with a CDC network protocol to use the Belcarra USBLAN driver. The USBCCGP driver creates a virtual function consisting of one or more interfaces of a function and looks for matches of the virtual function to available drivers. If the interface group supports a networking protocol then USBLAN can support the virtual device. USBD the default Windows USB Bus Driver that controls USB devices connected to the USB. USBHUB the Windows USB Hub driver controls the USB Figure 3- 1 ports and any USB Hubs attached to the Windows system. Enhanced HCI the Windows Host Controller Driver interfaces the USB Bus Driver to the USB Host Controller hardware.
3.1 NDIS
Microsoft provides different versions of the NDIS API and model. The Belcarra USBLAN driver implements NDIS 5.1 on Windows XP, Server and Server 2003. USBLAN implements NDIS 6.0 on newer versions of Windows, including Windows Server 2008, Windows Vista and Windows 7.
Evaluation
The Belcarra USBLAN driver is available from Windows Update for evaluation. This evaluation version will run for one hour at a time. It must be re-plugged to continue use after one hour. To use the Version 2.4.2 evaluation driver the device should offer Vendor and Product IDs as follows: Vendor ID 0x15ec (Belcarra) Product ID 0xd031 To get the driver, simply ensure that the Windows system is connected to the Internet, plug the device in and let Windows search Windows Update. The protocol (CDC-ECM, CDC-EEM, CDC-NCM, RNDIS) is automatically detected. The INF file of the USBLAN evaluation driver creates global variables in the registry using Service name BelcarraDemoUSBLAN (see Section 5.2). These parameters can be modified later using Regedit. Alternatively, common operations, like enable or disable DHCP, can be performed by installing the appropriately named INF file in a supplementary package of INF files (available on request). For example, to enable the DHCP feature do the following right-click on the file dhcpd-enable.inf in Windows Explorer select the method Install If a problem is encountered, Belcarra may request you to capture Debug log information. This is captured with the standard utility after setting Debug Level to 3 or 4 (see Section 5.3 below). Note that this DWORD key is not present by default and needs to be added using RegEdit.
The Gadget implementation of ECM, found in f_ecm.c does not include the required IAD descriptor. Thus, the g_multi module, which incorporates this function, does not have an IAD descriptor for the ECM group of interfaces. Therefore the ECM component of g_multi does meet the requirements of USBCCGP. However, it is easy to fix this by adding an IAD descriptor to all the USB lists: fs_eth_function (full speed), and hs_eth_function (high speed, USB2.0). Suitable sample code is found in other places such as the NCM code (f_ncm.c), which has an appropriate IAD descriptor and shows how to add it to the function descriptor lists.
OEM Manual Page 8 Copyright 2012 Belcarra Technologies (2005) Corp. October 12, 2012 www.belcarra.com
Customization
The Belcarra USBLAN driver can be customized to suit the OEM requirements, including the following: Driver branding manufacturer name Driver name Driver behavior Most of the driver behavior configuration is controlled through registry entries. These can be preset via the installation INF file or after installation through a custom Windows application, registry editing or interactively using the Windows regedit application. The driver kit supplied to the OEM will have a complete installation kit customized to the OEM requirements. This will have cross-signed drivers and a signed catalog file. Optionally it may also have a Microsoft signed catalog file and be made available from Windows Update. The OEM may also modify the INF file, but in that case it would need to be re-signed with the OEM Authenticode certificate and if required re-qualified in with WHQL testing to obtain a Microsoft signed catalog file.
5.1 Versioning
The driver distributions are properly versioned with a Windows Plug and Play version number. This allows for driver updates to install correctly when there are previously installed versions.
5 6
CyclePort is part of a six-step procedure to clear clogged USB pipes. The complete procedure is described here: http://msdn.microsoft.com/en-us/library/windows/hardware/hh968307(v=vs.85).aspx
OEM Manual Page 10 Copyright 2012 Belcarra Technologies (2005) Corp. October 12, 2012 www.belcarra.com
5.8 RNDIS
MaxPacketsSend the maximum number of 512 byte packets in an RNDIS OUT Bulk transfer MaxPacketsRecv the maximum number of 512 byte packets in and RNDIS IN Bulk transfer.
6.1 NCM
Most NCM configuration is done by using device requests to get the devices required configuration. The maximum send transfer and minimum receive transfer sizes can be set but these may be overridden by the device settings. The NCMCRC option can be used to enable CRC but this will only be used if the device allows CRC. The UseZLP option can be used to allow the host to send Zero Length packets to terminate a transfer. The default is to send a Null Byte packet. The UseNotifications option can be used if the device does not properly indicate network connection status using Network Notifications.
6.2 EEM
The EEM protocol does not specify a mechanism for setting a maximum transfer size. Two common schemes are in use: Support transfers of any length and guarantee that all transfers are terminated by a short packet, Zero Length packet or Null Byte packet. Set an agreed maximum transfer size. Current versions of the Linux Gadget EEM implementation follow the second scheme and require a maximum transfer size set to 1536 bytes. This is done with the MaxPacketsSend and MaxPacketsRecv global options. Operation of the EEM protocol without setting these values correctly will result in poor transfer speeds as data is dropped by the device. The EEMSendCRC option can be used to enable CRC. If set the CRC is computed and appended to the network frames. If not set the CDC-EEM standard option is to send the constant 0xdeadbeef instead of the computed CRC. By default the USBLAN driver will default to the following: CRC disabled Max Datagrams 1 Max Transfer 1536 These can be changed with the above registry settings. The driver also implements the Belcarra EEM Echo Response Configuration Request (see appendix). This allows it to query the device, once connected, to determine the devices actual operating parameters. If the device does not support this, then it is merely another ECHO request. See Appendix E EEM Echo Response Request Configuration for more information.
6.3 ECM
The UseZLP option can be used to allow the host to send Zero Length packets to terminate a transfer. The default is to send a Null Byte packet. The UseNotifications option can be used to if the device does not properly indicate network connection status using Network Notifications.
Device Hex
C0A86402 C0A8640A C0A86412
Broadcast Hex
C0A86407 C0A8640F C0A86417
Dotted decimal
192.168.100.2 192.168.100.10 192.168.100.18
Dotted decimal
192.168.100.7 192.168.100.15 192.168.100.23
Note that NetworkLIP must always be a multiple of 256 (hex 0x100), i.e. the last byte is ignored. So specifying NetworkLIP value C0A86408 is the same as value C0A86400. Finally, the NetworkLIP value is entered into the registry byte-reversed order: 0064A8C0
6.6 Notifications
The CDC-NCM and CDC-ECM protocols require the device to send notifications to the host representing the current network speed and connection status. The host uses the network connection status to enable or disable the data endpoints and to indicate to Windows NDIS a CABLE CONNECTED or DISCONNECTED status. Some devices do not properly implement this part of the CDC protocols. To work around this the UseNotifications configuration option is available. Setting UseNotifications to two (0x2) will disable the use of Notifications for CDC ECM and CDC NCM devices. N.B. The UseNotifications option is ignored for RNDIS devices. The RNDIS protocol uses a different style of Notification to signal when an RNDIS query is complete. The device must implement the RNDIS notification for RNDIS to function correctly.
Operation
Generate a Random address with the locally administered bit set if the UseRandomAddress global option is set to a non-zero value. Use the contents of the DefaultMacAddress if non-zero.
Installation Kit
Belcarra can provide two types of kits. The default is a kit signed with Belcarras Software Publishing Certificate. The installation kit provided includes everything needed to do a DIF based pre-install of the driver on a Windows system (see Section 8.2 below). Secondly a Microsoft signature-only kit is an available option. The advantage of a Microsoft signed kit is it will enhance the user experience with a silent install (i.e. will not ask if the user trusts the publisher, or similar dialogue boxes). The Microsoft signed driver kit may be made available to end users via Windows Update using the Windows Driver Distribution Center (DDC).
The end user can pre-install the drivers using the setup.bat file. This in turn runs the appropriate version of DPInst.exe which will cache the drivers where Windows can find them when a device is plugged in.
Installation Scenarios
9.2 Pre-Installed
Pre-installation is way to install a driver on a Windows machine for later use when a matching device is connected. Windows, as distributed, has many drivers for various devices which may or may not be actually connected to the machine. The first time a new device is connected, the New Hardware Wizard attempts to find a match from the driver store. The pre-installation simply adds the USBLAN driver to the driver store with matching hardware IDs (Vendor ID/Product ID pairs) supplied by the OEM. The driver kit can be distributed to end users, for example as a ZIP file or on a CD. The end user is instructed to unpack the ZIP file or insert the CD into his system. Then the setup bat file must be run as part of an AutoStart sequence from a CD, by clicking on it or by running it from the DOS command line explicitly or via Windows Explorer. Refer to Appendix F for an example of doing this in Windows 7. When a new USB device is found Windows will attempt to find the devices hardware ID in Windows Update. If this fails (or the user skips this step) then Windows will look in the local driver store and find the driver. Installation will then proceed. In certain environments, group policy (security policy) blocks Windows Update, even when the Internet is available. In these environments, a pre-installation from a local source is the best alternative.
9.3 Directed
The driver can be installed directly from a directory. If Windows fails to find the driver (not in Windows Update, not found in the local driver store) then it will mark the USB device as not installed. Windows will create an entry for it the device manager, but with a yellow triangle indicating that no driver was found. The user can then direct the Device Manager to use a driver from a specific directory --- the location where the USBLAN ZIP file has been unpacked. Windows XP requires the user to navigate to the exact directory containing the matching driver. Windows Vista and Windows 7 match on any directory containing a matching driver, i.e. the top-level directory of the extracted USBLAN ZIP archive. Once a matching driver directory is found, Windows will then allow installation to proceed. If the same driver has already been installed, then Windows will issue a message that no better driver is available.
10 Debug
The OEM kit may contain (by request) a debug version of the Belcarra USBLAN driver. This is commonly referred to as the chk version. If this is installed debug trace messages can be viewed using the Sysinternal Tool DbgView. The level of debugging is controlled by the follow USBLAN configuration variable DebugLevel from the registry (cf Section 5.2ff above): DebugLevel This registry key is a DWORD. The possible debug levels are: 0x0 - Minimal (assumed if this parameter is not specified) driver loading and unloading announcements 0x1 - Default - configuration 0x2 - Medium some additional information on data transfers 0x3 - High detailed information on data transfers 0x4 - Maximum everything in detail
APPENDICES
Appendix A - Connection Semantics for CDC-NCM and CDC-ECM Devices
This is the default behavior for CDC-NCM, CDC-ECM devices. It is also used for devices that have an INTERRUPT endpoint if the UseNotifications global flag is set to one. 1 Enumeration a) Host Configuration Set Configuration Set Interface No-Data b) Device Enable INTERRUPT endpoint Send Notifications (CDC-ECM devices) c) Host Set Interface Data d) Device Enable DATA endpoints Send Notifications (CDC-NCM devices) e) Host Indicate Media status (match received network notification) 2 Device notifies disconnected to connected transition a) Device Send Notifications b) Host Indicate Media connected Device notifies connected to disconnected transition c) Device Send Notifications d) Host Indicate Media disconnected N.B. USBLAN will only issue the set interface device requests for devices that have a separate setting for the data interface.
Appendix B - Connection Semantics for Other (non NCM and ECM) Devices
This is the default behavior for non CDC-NCM or CDC-ECM devices that have an INTERRUPT endpoint or for CDC-NCM and CDC-ECM devices and if the UseNotification global is set to two. 1) Enumeration a) Host Configuration Set Configuration Set Interface No-Data Set Interface Data Indicate Media status connected b) Device Enable DATA endpoints Send Notifications (CDC-NCM devices) 2) Device notifies disconnected to connected transition a) Device Send Notifications b) Host ignored 3) Device notifies connected to disconnected transition a) Device Send Notifications b) Host 4) ignored N.B. USBLAN will only issue the set interface device requests for devices that have a separate setting for the data interface.
The following lines show the commands required to regenerate the catalog files and re-sign them.
Inf2Cat.exe /os:XP_X86,Server2003_X86,Vista_X86,XP_X64,Server2003_X64,Vista_X64 "/driver:." Signtool.exe sign /f yourcert.pfx /p yourpasswd /t http://timestamp.verisign.com/scripts/timestamp.dll OEMNAME5.cat Signtool.exe sign /f yourcert.pfx /p yourpasswd /t http://timestamp.verisign.com/scripts/timestamp.dll OEMNAME56.cat
This extension described herein can be used by an EEM Class driver on the host to send configuration data to the device and receive configuration data from the device. The EEM Configuration Extension Descriptor is sent to the device as Echo Data command data. If the device is non-conforming (does not support this extension), it will either ignore or send the command back unchanged (specifically the D0 flag of the bmFlags field will remain reset.) In this case the host will continue to use the default configuration. Conforming devices will send the command back, but will fill in the configuration fields. If the device receives this command it can assume that the host will use the information to operate with. Otherwise they will operate with the default configuration. Conforming devices MUST SET the D0 bit of the bmFlags field to indicate that they have recognized this configuration request and are responding with valid values. Table E-1 EEM Configuration Extension Descriptor Offset Field
0 2 EEM Command bGUID
Size Value
2 16 8014 16 byte GUID bitmask integer
Description
EEM Command specified ECHO DATA with payload of 20 bytes. 0x23, 0x57, 0x1b, 0x05, 0xfd, 0x18, 0x45, 0x81, 0x93, 0x62, 0xa1, 0x6c, 0xee, 0xfc, 0xcc, 0xdf D2: use CRC, D1: multi-datagrams supported, D0: confirmed Maximum number of bytes per transfer, must be a multiple of of the endpoint packetsize.
18 20
bmFlags bMaxTransferSize
2 2
bMaxTransferSize - the host sends the maximum number of bytes (a multiple of the endpoint packet size) in an IN transfer. In reply, the device sends the maximum for an OUT transfer.
Figure G-4 Files copying Figure G-3 Click next in the Installation Wizard
Figure G-5 Approve the publisher of the drivers Figure G-6 - Success
Figure H-1 Locate the network interface Figure H-2 Select Properties
Figure I -1
Figure I-2
Hold CTRL and select the two networks to be bridged, then right click and enable bridge.
At this point there is (typically) no requirement to set an IP address for the Windows NDIS interface. DHCP requests from the USB Device will be sent to the other network
2) Multiple INF files for Installation of NDIS5 or NDIS6 driver To install the NDIS5 driver on older versions of Windows and the NDIS6 driver on compatible newer versions of Windows requires two INF files. These must both be in the driver000 directory and have separate names. The first INF file is setup to match older versions of windows (version 5 or newer) but not the most recent (version 6 or newer). The second INF file is setup to match only newer versions. a) This example shows the parts of the driver5/belcarrademo.inf file setup to match only the older versions of Windows and install the NDIS5 driver:
[Version] CatalogFile = belcarrademo5.cat ; [Manufacturer] %BTCUsbLan.Manufacturer% = Belcarra, ;
b)
This example shows the parts of the parts of the driver6/belcarrademo.inf file setup to match only the newer versions of Windows and install the NDIS6 driver:
[Version] CatalogFile = belcarrademo6.cat ; [Manufacturer] %BTCUsbLan.Manufacturer% = Belcarra, NTx86.5.0, NTamd64.5.0, NTx86.6.0, NTamd64.6.0 ; [SourceDisksFiles] btblan6.sys=1 ; [DestinationDirs] BTCUsbLan.CopyFiles = 12 ; WINDOWS\SYSTEM32\DRIVERS ; [BTCUsbLan.CopyFiles] btblan6.sys ; [BTCUsbLan.AddService] ServiceBinary = %12%\btblan6.sys ; ; This section MUST BE PRESENT to prevent matching for .NTx86.5.0 [Belcarra.NTx86.5.0] ; ; This section MUST BE PRESENT to prevent matching for .NTamd64.5.0 [Belcarra.NTamd64.5.0] ; ; This INF file WILL MATCH for .NTx86.6.0 [Belcarra.NTx86.6.0] %BTCUsbLan.DeviceDesc% = BTCUsbLan.ndi, USB\VID_15ec&PID_d022 %BTCUsbLan.DeviceDesc% = BTCUsbLan.ndi, USB2\VID_15ec&PID_d022 ; ; This INF file WILL MATCH for .NTamd64.6.0 [Belcarra.NTamd64.6.0] %BTCUsbLan.DeviceDesc% = BTCUsbLan.ndi, USB\VID_15ec&PID_d022
Interface descriptor [1:0:0 ] bInterfaceNumber [ 2] bAlternateSetting [ 5] bNumEndpoints [ 5] bInterface[Class,Sub,Pro][ 5] iInterface [12:52 ] Class descriptor [1:0:1 ] Class descriptor [1:0:2 ] Class descriptor [1:0:3 ] Endpoint descriptor [1:0:0:1] Interface descriptor [1:1:0 bInterfaceNumber [ bAlternateSetting [ bNumEndpoints [ bInterface[Class,Sub,Pro][ iInterface [13:68 ] 2] 5] 5] 5] ]
USBLAN - CDC/ECM 10 01 06 00 00 00 00 ea 05 00 00 00 00 01 03 10 00 01
Interface descriptor [1:2:0 ] bInterfaceNumber [ 2] bAlternateSetting [ 5] bNumEndpoints [ 5] bInterface[Class,Sub,Pro][ 5] iInterface [14:62 ] Endpoint descriptor [1:2:0:1] Endpoint descriptor [1:2:0:1] LangID String String String String String String String String [ 0 [ 3:18 [ 4:34 [ 5:46 [ 6:26 [ 7:16 [ 8:52 [ 9:68 [10:62 ] ] ] ] ] ] ] ] ]
4: 3 0904 Belcarra Belcarra CDC-ECM 0202020202020020202021 02c35d8325bf cdc-ecm Belcarra USBLAN - CDC/ECM Belcarra USBLAN - CDC/ECM No Data Belcarra USBLAN - CDC/ECM Data
Interface descriptor [1:0:0 ] bInterfaceNumber [ 2] bAlternateSetting [ 5] bNumEndpoints [ 5] bInterface[Class,Sub,Pro][ 5] iInterface [ 9:38 ] Endpoint descriptor [1:0:0:1] Endpoint descriptor [1:0:0:1] LangID String String String String String String String CDC-NCM Device descriptor bcdUSB bDevice[Class,Sub,Pro] bMaxPacketSize0 idVendor idProduct bcdDevice bNumConfigurations iManufacturer iProduct iSerialNumber Configuration descriptor wTotalLength bNumInterfaces bConfigurationValue iConfiguration bmAttributes bMaxPower Interface descriptor [ [ [ [ [ [ [ [ 0 3:18 4:34 5:46 6:16 7:38 8:16 9:38 ] ] ] ] ] ] ] ]
- CDC/EEM 02 00 02 00 02 00 02 00
4: 3 0904 Belcarra Belcarra CDC-EEM 0202020202020020202022 cdc-eem Belcarra - CDC/EEM cdc-eem Belcarra - CDC/EEM 12 01 00 02 02 0d 00 40 ec 15 21 f0 00 01 03 04 05 01 0200 02 0d 00 40 15ec f021 0100 01 Belcarra Belcarra CDC-NCM 0202020202020020202023 09 02 56 00 02 01 0b e0 01 56 02 01 cdc-ncm e0 Self-Powered Remote-Wakeup 01
] 09 04 00 00 01 02 0d 00 0c
USBLAN - CDC/NCM 10 01 06 00 00 00 00 ea 05 00 00 00 00 01 00 01 29 03 10 00 01
[1:2:0:1] 07 05 01 02 00 02 00 [1:2:0:1] 07 05 81 02 00 02 00 [ 0 [ 3:18 [ 4:34 [ 5:46 [ 6:26 [ 7:16 [ 8:52 [ 9:68 [10:62 [11:16 [12:52 [13:68 [14:62 ] ] ] ] ] ] ] ] ] ] ] ] ] 4: 3 0904 Belcarra Belcarra CDC-NCM 0202020202020020202023 4238adc4899b cdc-ncm Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM cdc-ncm Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM
No Data Data
No Data Data
2) Basic
Device descriptor bcdUSB bDevice[Class,Sub,Pro] bMaxPacketSize0 idVendor idProduct bcdDevice bNumConfigurations iManufacturer iProduct iSerialNumber Configuration descriptor wTotalLength bNumInterfaces bConfigurationValue iConfiguration bmAttributes bMaxPower Interface descriptor OEM Manual Page 34 [ ] [ 2] [ 4] [ 7] [ 8] [ 10] [ 12] [ 17] [ 3:18 ] [ 4:38 ] [ 5:46 ] [1 [ [ [ [ 8:20 [ [ [1:0:0 ] 4] 4] 5] ] 7] 8] 12 01 00 02 02 0a 00 40 ec 15 21 f0 00 01 03 04 05 01 0200 02 0a 00 40 15ec f021 0100 01 Belcarra Belcarra NET-BASIC 0202020202020020202033 09 02 27 00 01 01 08 e0 01 27 01 01 net-basic e0 Self-Powered Remote-Wakeup 01
- BASIC 02 00 02 00 02 00 02 00 03 10 00 01
4: 3 0904 Belcarra Belcarra NET-BASIC 0202020202020020202033 net-basic Belcarra - BASIC net-basic Belcarra - BASIC
Interface descriptor [1:0:0 ] bInterfaceNumber [ 2] bAlternateSetting [ 5] bNumEndpoints [ 5] bInterface[Class,Sub,Pro][ 5] iInterface [16:52 ] Class descriptor [1:0:1 ] Class descriptor [1:0:2 ] Class descriptor [1:0:3 ] Class descriptor [1:0:4 ] Endpoint descriptor [1:0:0:1] Interface descriptor bInterfaceNumber bAlternateSetting bNumEndpoints OEM Manual Page 35
USBLAN - CDC/NCM 10 01 06 00 00 00 00 ea 05 00 00 00 00 01 00 01 29 03 10 00 01
[1:1:0 ] 09 04 01 00 00 0a 00 01 11 [ 2] 01 [ 5] 00 [ 5] 00 Copyright 2012 Belcarra Technologies (2005) Corp. October 12, 2012 www.belcarra.com
Interface descriptor [1:3:0 ] bInterfaceNumber [ 2] bAlternateSetting [ 5] bNumEndpoints [ 5] bInterface[Class,Sub,Pro][ 5] iInterface [20:92 ] Endpoint descriptor [1:3:0:1] Endpoint descriptor [1:3:0:1] LangID String String String String String String String String String String String String String String String String String
String
[ 0 [ 3:18 [ 4:28 [ 5:66 [ 6:26 [ 7:28 [ 8:52 [ 9:52 [10:68 [11:62 [12:68 [13:92 [14:28 [15:52 [16:52 [17:68 [18:62 [19:68
] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ]
4: 3 0904 Belcarra CDEMO NCM+MSC 0123456789ABCDEF0123456789ABCD18 da8db632c0b5 cdemo-ncm-msc Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM No Data Belcarra USBLAN - CDC/NCM Data Belcarra Mass Storage - Bulk Only Belcarra Mass Storage - Bulk Only - Alternate cdemo-ncm-msc Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM Belcarra USBLAN - CDC/NCM No Data Belcarra USBLAN - CDC/NCM Data Belcarra Mass Storage - Bulk Only
Revision Summary
Revision History
2.4 2.4.1 2.4.1 2.4.2
Date
July 2011 Oct 2011 Nov 2011 Oct 2012