Example Connectionless (802.3) Initialization Sequence

This section describes the general order of events that a device can expect upon startup as a Remote NDIS connectionless device. Because the basic operation of Remote NDIS is the same, regardless of the underlying bus, the require bus enumeration and start up process has been left out of the example.

Host Device Description

REMOTE_NDIS_INITIALIZE_MSG

Hosts sends Remote NDIS Initialization message to device.

REMOTE_NDIS_INITIALIZE_CMPLT

Device response with Initialize Complete message.

Receiving. Successful Initialization

Host starts accepting data on incoming data channel. (Example: on USB starts doing reads on IN pipe).

REMOTE_NDIS_QUERY_MSG

AND

REMOTE_NDIS_SET_MSG

REMOTE_NDIS_QUERY_CMPLT

OR

REMOTE_NDIS_SET_CMPLT

Host initiates a series of sets and queries to determine state of device and to setup initial parameters. The device responses appropriately with the correct complete messages. The following NDIS OIDs may be queried: OID_802_3_CURRENT_ADDRESS, OID_802_3_MAXIMUM_LIST_SIZE, and so on.

REMOTE_NDIS_SET_MSG

Host sends an OID_GEN_CURRENT_PACKET_FILTER OID with a nonzero filter value to the device. At this point the device should start sending data packets on the incoming data channel. The host will also start sending data packets on the outgoing data channel.