Fix To Provide Support For
802.3 wireless Adapters

 

Knowledge Base ID

KB01290101
Category CLOSED BUG

Effected Product

Rawether/WINDIS32  - Win32 NDIS Framework

Effected Versions

Prior to V5.00.13.50
Effected Platforms All

 

Symptoms

The Rawether for Windows packet monitoring sample application (HookPeek) does not collect packets on 802.3 Wireless Adapters.

 

Cause

These adapters do not support setting the NDIS packet filter to NDIS_PACKET_TYPE_PROMISCUOUS. In the current HP_StartPromiscuousReception function, the call to set the NDIS packet filter to NDIS_PACKET_TYPE_PROMISCUOUS simply fails and the HookPeek application subsequently exits.

 

Discussion

The fix for this is to simply fallback to a different NDIS packet filter setting appropriate for Wireless. For example, setting the filter to NDIS_PACKET_TYPE_ALL_LOCAL will succeed.

 

Interim Fix

If you have the Rawether for Windows Software Development Kit prior to V5.00.13.50, then you can make a simple modification to provide support for 802.3 Wireless Adapters.

Modify the HP_StartPromiscuousReception function, found in the HPCtrl.c module in App\Common directory, as shown in Bold below:

   switch( pAdapter->m_nMedium )
   {
      case NdisMedium802_3:   // Ethernet
      case NdisMediumDix:      // Also Ethernet
         bResult = HP_SetPacketFilter(
                     pAdapter,
                     NDIS_PACKET_TYPE_DIRECTED | NDIS_PACKET_TYPE_PROMISCUOUS
                     );
         //
         // Some 802.3 Adapters (e.g., Wireless) Don't Support Promiscuous Operation
         //
         if( !bResult )
         {
            bResult = HP_SetPacketFilter(
                        pAdapter,
                        NDIS_PACKET_TYPE_ALL_LOCAL
                        );
            if( !bResult )
            {
               bResult = HP_SetPacketFilter(
                           pAdapter,
                           NDIS_PACKET_TYPE_DIRECTED
                           );
            }
         }
         break;

If the attempt to set the NDIS packet filter to NDIS_PACKET_TYPE_PROMISCUOUS fails, then the code will attempt to set the NDIS packet filter to NDIS_PACKET_TYPE_ALL_LOCAL instead.

This fix has been tested on the LinkSys WPC11 Wireless PC Card and the 3Com AirConnect Wireless LAN PC Card..

 

Status

April 16, 2001 Fix included in V5.00.13.50.
January 29, 2001 The fix to this bug is planned for the next major Rawether release.

 

Comments

Please click the following link to send e-mail relating to this PCAUSA Knowledge Base topic:

<Send Mail To KB01290101 Technical Contact>

 

Keywords RAWETHER,WINDIS32, BUG
Created January 29, 2001
Last Reviewed April 16, 2001

 
 

PCAUSA Home · Privacy Statement · Products · Ordering · Support · Utilities · Resources
Mailing Lists  · PCAUSA Newsletter · PCAUSA Discussion List
 
Rawether for Windows and WinDis 32 are trademarks of Printing Communications Assoc., Inc. (PCAUSA)
Microsoft, MS, Windows, Windows 95, Windows 98, Windows Millennium, Windows 2000, and Win32 are registered trademarks and Visual C++ and Windows NT are trademarks of the Microsoft Corporation.
Send mail to webmaster@pcausa.com with questions or comments about this web site.
Copyright © 1996-2008 Printing Communications Assoc., Inc. (PCAUSA)
Last modified: December 31, 2007