Поделиться через


OID_IRDA_EXTRA_RCV_BOFS

The OID_IRDA_EXTRA_RCV_BOFS OID is optional for some IrDA miniport drivers. Only IrDA miniport drivers that manage NICs that support link speeds from 2400 bps through 115.2 Kbps (SIR encoding speeds) must support this OID.

The infrared signal itself is sometimes used to establish the timing for the reception of frames. The time required to synchronize with the infrared signal can vary according the type of transceiver hardware. Typically, synchronization is established while a transceiver is receiving Beginning of Frame (BOF) flags. More than one BOF flag may be required in a frame to establish synchronization.

At SIR encoding speeds, a remote infrared transceiver sometimes adds extra BOFs to a frame so that the local infrared transceiver receives the frame properly. The IrDA protocol driver queries OID_IRDA_EXTRA_RCV_BOFS to determine how many extra BOFs the NIC's transceiver requires to synchronize on an incoming frame. During negotiation with a remote station, the IrDA protocol driver communicates this value to the remote transceiver so the remote transceiver adds the correct number of extra BOFs to each frame that it sends to the local NIC's transceiver.

The OID_IRDA_EXTRA_RCV_BOFS value applies to a frame transmitted at 115.2 Kbps. The extra BOFs required for frames transmitted at slower speeds are scaled from that value. The following table indicates, for a given OID_IRDA_EXTRA_RCV_BOFS value, the derived BOF values for link speeds less than 115.2 Kbps.

Speed Extra BOFs

2400

1

0

0

0

0

0

0

0

9600

4

2

1

0

0

0

0

0

19200

8

4

2

1

0

0

0

0

38400

16

8

4

2

1

0

0

0

57600

24

12

6

3

1

1

0

0

115200

48

24

12

6

3

2

1

0

 

To determine the OID_IRDA_EXTRA_RCV_BOFS value that a miniport driver should indicate to the IrDA protocol:

  1. Find a link speed supported by the NIC's transceiver in the left-most column.

  2. In that row, find the required number of BOFs for the transceiver at that speed.

  3. Scan down that column to the row for 115.2 Kbps. The number of BOFs indicated for 115.2 Kbps is the number of BOFs that the miniport driver should indicate to the IrDA protocol.

For example, if the NIC's transceiver requires eight extra BOFs at 38400 baud, the miniport driver should indicate an OID_IRDA_EXTRA_RCV_BOFS value of 24 to the IrDA protocol.

If the number of extra BOFs required by the NIC's transceiver is between two values in a table row, choose the higher value. For example, if the transceiver requires eight extra BOFs at 57600 bps, choose 12 instead of 6 in the row for 57600 bps. In this case, the miniport driver should indicate an OID_IRDA_EXTRA_RCV_BOFS value of 24, which is the corresponding number of extra BOFs required for receiving a frame at 115.2 Kbps.

Note that extra BOFs are never required for frames transmitted at speeds above 115.2 Kbps.

During negotiation with a remote transceiver, the IrDA protocol also determines the extra number of BOFs required by the remote transceiver. For each packet that it sends to the miniport driver for transmission, the IrDA protocol specifies, as out-of-band data, the extra number of receive BOFs that the miniport driver must add to the beginning of the packet. (For more information, see NDIS_PACKET_OOB_DATA). The miniport driver must add the specified number of extra BOFs to the packet before transmitting it.

 

 

Send comments about this topic to Microsoft