Remote NDIS Specification
Rev 1.1
August 9, 2002
© 1998-2001 Microsoft Corporation. All rights reserved.
Remote NDIS Specification, Rev 1.00
1 INTRODUCTION......................................................................................................................................4
1.1 LICENSE AGREEMENT..................................................................................................................... 5
2 CONCEPTS AND DEFINITIONS...........................................................................................................6
2.1 CONTROL CHANNEL........................................................................................................................ 6
2.2 DATA CHANNEL.............................................................................................................................. 6
2.3 INITIALIZATION AND TEARDOWN.....................................................................................................6
2.4 DEVICE STATE DEFINITIONS............................................................................................................ 6
2.4.1 Halt.................................................................................................................................................7
2.4.2 Reset...............................................................................................................................................7
2.5 FLOW CONTROL.............................................................................................................................. 7
2.6 BYTE ORDERING............................................................................................................................. 7
2.7 ENCAPSULATION............................................................................................................................. 7
2.8 REMOTE NDIS VERSION................................................................................................................. 7
2.9 STATUS VALUES............................................................................................................................. 8
3 MESSAGE SET FOR CONNECTIONLESS (802.3) DEVICES..........................................................9
3.1 REMOTE_NDIS_INITIALIZE_MSG............................................................................................ 9
3.1.1 REMOTE_NDIS_INITIALIZE_MSG Format..............................................................................10
3.1.2 Response to REMOTE_NDIS_INITIALIZE_MSG.......................................................................10
3.2 REMOTE_NDIS_HALT_MSG....................................................................................................12
3.3 REMOTE_NDIS_QUERY_MSG.................................................................................................13
3.3.1 REMOTE_NDIS_QUERY_MSG Format.....................................................................................13
3.3.2 Response to REMOTE_NDIS_QUERY_MSG.............................................................................14
3.4 REMOTE_NDIS_SET_MSG....................................................................................................... 15
3.4.1 REMOTE_NDIS_SET_MSG Format...........................................................................................15
3.4.2 Response to REMOTE_NDIS_SET_MSG....................................................................................15
3.4.3 Setting Device-specific Parameters.............................................................................................16
3.5 REMOTE_NDIS_RESET_MSG.................................................................................................. 17
3.5.1 REMOTE_NDIS_RESET_MSG Format......................................................................................17
3.5.2 Response to REMOTE_NDIS_RESET_MSG...............................................................................18
3.6 REMOTE_NDIS_INDICATE_STATUS_MSG............................................................................18
3.6.1 REMOTE_NDIS_INDICATE_STATUS_MSG Format................................................................19
3.7 REMOTE_NDIS_KEEPALIVE_MSG.........................................................................................19
3.7.1 REMOTE_NDIS_KEEPALIVE_MSG Format............................................................................20
3.7.2 Response to REMOTE_NDIS_KEEPALIVE_MSG.....................................................................20
3.8 EXAMPLE CONNECTIONLESS (802.3) INITIALIZATION SEQUENCE....................................................21
3.9 DATA MESSAGES (REMOTE_NDIS_PACKET_MSG).................................................................23
3.9.1 REMOTE_NDIS_PACKET_MSG Format...................................................................................23
3.9.2 Multi-Packet Transfers................................................................................................................25
4 REQUIRED NDIS OIDS........................................................................................................................28
4.1 GENERAL OIDS........................................................................................................................... 28
4.2 802.3 OIDS................................................................................................................................. 30
4.3 OPTIONAL POWER MANAGEMENT OIDS.......................................................................................31
4.3.1 Network Wake-Up.......................................................................................................................32
5 REMOTE NDIS TO USB MAPPING....................................................................................................33
5.1 RELATED SPECIFICATIONS............................................................................................................. 33
5.2 OVERVIEW.................................................................................................................................... 33
5.3 PNP AND USB-LEVEL INITIALIZATION...........................................................................................33
5.3.1 USB Device Descriptor................................................................................................................33
5.3.2 USB Configuration Descriptor....................................................................................................34
5.3.3 Communication Class Interface.................................................................................................34
Microsoft Corporation Page 2
Remote NDIS Specification, Rev 1.00
5.3.4 Data Class Interface....................................................................................................................34
5.4 USB-LEVEL TERMINATION............................................................................................................ 35
5.5 CONTROL CHANNEL CHARACTERISTICS..........................................................................................35
5.6 DATA CHANNEL CHARACTERISTICS................................................................................................36
5.6.1 USB Short Packets.......................................................................................................................36
5.6.2 Flow Control................................................................................................................................37
5.7 POWER MANAGEMENT................................................................................................................... 37
5.8 TIMER CONSTANTS........................................................................................................................ 37
Microsoft Corporation Page 3
Remote NDIS Specification, Rev 1.00
1 Introduction
Remote NDIS is a bus-independent class specification for Ethernet (802.3) network devices on dynamic
PnP busses such as USB, 1394, BlueTooth, and InfiniBand. This specification defines a bus-independent
message protocol between a host PC and a Remote NDIS device over abstract control and data channels.
Also included are bus-mapping chapters which define specific features of the specification on the
respective busses.
The “legacy-free” PC revolution is eliminating not only legacy connection ports (e.g. serial, parallel,
PS/2) but also legacy expansion buses like ISA and PCI in mainstream PCs. The resulting “sealed case”
PCs will require either built-in networking support on the motherboard or support for network adapters on
external busses. This specification defines a message protocol for external bus attached network devices.
It is precise enough to allow vendor-independent class driver support for Remote NDIS devices on the
host PC.
Remote NDIS is a fairly simple extension of the well-understood and time-tested NDIS architecture.
NDIS defines a function-call interface for device-specific NDIS miniport drivers. This interface defines
primitives to send and receive network data, and to query and set configuration parameters and statistics.
Remote NDIS leverages NDIS by defining a message wrapping for the NDIS miniport interface, thus
moving the NDIS-handling code from a miniport driver into the device itself. In this and other ways, the
Remote NDIS specification allows for a wide range of device functionality and performance levels.
Microsoft Corporation Page 4
Remote NDIS Specification, Rev 1.00
1.1 License Agreement
The Remote NDIS Specification and any accompanying materials (the “Specification”) provided by
Microsoft is for your personal use only, and may be used solely for the purpose of implementing the
Remote NDIS protocol message set to interface with (i) a Microsoft Windows operating system or (ii) a
bus or network-connected communications device, such as a USB, 1394 or TCP/IP device. THE
SPECIFICATION MAY NOT BE COPIED OR DISTRIBUTED.
Microsoft may have copyrights, patents or pending patent applications covering subject matter in the
Specification. To the extent Microsoft has such copyrights, patents or applications, Microsoft agrees to
grant a nonexclusive, royalty-free, world-wide license under these copyrights, patents or applications
solely to implement the Remote NDIS Specification to interface with (i) a Microsoft Windows operating
system or (ii) a bus or network-connected communications device, such as a USB, 1394 or TCP/IP
device, on condition that you agree not to assert any intellectual property rights against Microsoft or other
companies for their implementation of the Specification. Microsoft reserves all other rights it may have
in the Specification. The furnishing of this document does not give you any license to any other
Microsoft patents, trademarks, copyrights, or other intellectual property rights. Specifically, neither this
document nor the Specification give you any license to the NDIS Specification or to USB
Communication Device Class technology.
The Specification is provided "AS IS" without warranty of any kind. To the maximum extent
permitted by applicable law, Microsoft further disclaims all warranties, including without
limitation any implied warranties of merchantability and fitness for a particular purpose, as well as
warranties of title and noninfringement. The entire risk arising out of the use or performance of
the Specification remains with you.
To the maximum extent permitted by applicable law, in no event shall Microsoft or its suppliers be
liable for any consequential, incidental, direct, indirect, special, punitive, or other damages
whatsoever (including, without limitation, damages for loss of business profits, business
interruption, loss of business information, or other pecuniary loss) arising out of the use of or
inability to use the Specification, even if Microsoft has been advised of the possibility of such
damages. Because some states/jurisdictions do not allow the exclusion or limitation of liability for
consequential or incidental damages, the above limitation may not apply to you.
Microsoft Corporation Page 5
评论30
最新资源