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.

 

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

 

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