WMI, MSNdis_80211_ Classes

B

Bernhard

Hello

I have problems with WMI and Wireless LAN. WMI should have all classes to
configure WLAN, but unfortunatly i can't get it to work.

If I use WBEMTEST on a W2K3 system I can see an instance of the
MSNdis_80211_AddWEP class for my wireless network adapter. If I do this on
Windows XP I can't get this instance (classes like MSNdis_80211_BSSIList are
working fine).

I found an old posting talking about wrong GUIDs for classes like
MSNdis_80211_AddWEP and others.

http://groups.google.de/groups?hl=de&lr=&ie=UTF-8&selm=H8Qjzm4JCHA.3604@cpmsftngxa08&rnum=6

In this post there is a MOF file that fixes some GUIDs ( those guids on XP
are really different, very strang - on 2003 they are the same as this your
MOF file). Anyway . I have fixed the shema on XP but now the
MSNdis_80211_AddWEP class is still not available!

I could talk direktly to NDIS with DeviceIOControl, but as far as I know
microsoft says: Use WMI !!

Can someone help !?

Bernhard

----------------------------------------------------------------------------
----------------------------------------------------------------------------
---------------------

From the old newspgroup posting:

There a bug in the MSNdis_80211 schema that prevents the
MSNdis_80211_AddWEP from working. The GUID that maps to the
OID_802_11_ADD_WEP is incorrect. At the bottom of this post, I've included
the text for a MOF file. If you copy this text into notepad and save the
text as WMICore_fix.MOF you can run mofcomp.exe to fix the schema

For example... "C:\>mofcomp WMICore_fix.mof"

//**************************************************************************
//* File: WMICore_fix.mof
//**************************************************************************


#pragma namespace("\\\\.\\ROOT\\wmi")



//**************************************************************************
//* Class: MSNdis_80211_Disassociate
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{43671f40-2129-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_Disassociate : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[write, WmiDataId(1)] uint32 UnusedParameter;
};

//**************************************************************************
//* Class: MSNdis_80211_RemoveWEP
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{433c345c-2129-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_RemoveWEP : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[write, WmiDataId(1)] uint32 Ndis80211KeyIndex;
};

//**************************************************************************
//* Class: MSNdis_80211_DesiredDataRates
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{452ee08e-2536-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_DesiredDataRates : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[read, write, WmiDataId(1), MAX(8)] uint8 Ndis80211DesiredRate[];
};

//**************************************************************************
//* Class: MSNdis_80211_AddWEP
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{4307bff0-2129-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_AddWEP : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[write, WmiDataId(1)] uint32 Length;
[write, WmiDataId(2)] uint32 KeyIndex;
[write, WmiDataId(3)] uint32 KeyLength;

// [write, WmiDataId(4), WmiSizeIs("KeyLength")] uint32 KeyMaterial[];
[write, WmiDataId(4), WmiSizeIs("KeyLength")] uint8 KeyMaterial[];

};

//**************************************************************************
//* Class: MSNdis_80211_AuthenticationMode
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{43920a24-2129-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_AuthenticationMode : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[read, write, Values{"Ndis802_11AuthModeOpen", "Ndis802_11AuthModeShared",
"Ndis802_11AuthModeAutoSwitch"}, ValueMap{"0", "1", "2"}, WmiDataId(1)]
uint32 Ndis80211AuthenticationMode;
};

//**************************************************************************
//* Class: MSNdis_80211_Statistics
//* Derived from: MSNdis
//**************************************************************************
[WMI, dynamic: ToInstance, provider("WMIProv"),
guid("{42bb73b0-2129-11d4-97eb-00c04f79c403}"), WmiExpense(1)]
class MSNdis_80211_Statistics : MSNdis
{
[key, read] string InstanceName;
[read] boolean Active;
[read, WmiDataId(1)] uint32 StatisticsLength;
[read, WmiDataId(2)] uint64 TransmittedFragmentCount;
[read, WmiDataId(3)] uint64 MulticastTransmittedFrameCount;
[read, WmiDataId(4)] uint64 FailedCount;
[read, WmiDataId(5)] uint64 RetryCount;
[read, WmiDataId(6)] uint64 MultipleRetryCount;
[read, WmiDataId(7)] uint64 RTSSuccessCount;
[read, WmiDataId(8)] uint64 RTSFailureCount;
[read, WmiDataId(9)] uint64 ACKFailureCount;
[read, WmiDataId(10)] uint64 FrameDuplicateCount;
[read, WmiDataId(11)] uint64 ReceivedFragmentCount;
[read, WmiDataId(12)] uint64 MulticastReceivedFrameCount;
[read, WmiDataId(13)] uint64 FCSErrorCount;
};



#pragma namespace("\\\\.\\ROOT\\WMI\\ms_409")


//**************************************************************************
//* Class: MSNdis_80211_AddWEP
//* Derived from: MSNdis
//**************************************************************************
[Description("Set a WEP key to the NDIS 802.11 device"): Amended, AMENDMENT,
LOCALE(1033)]
class MSNdis_80211_AddWEP : MSNdis
{
[Description("Length of 802.11 WEP structure"): Amended] uint32 Length;
[Description("WEP key index"): Amended] uint32 KeyIndex;
[Description("WEP key length in bytes"): Amended] uint32 KeyLength;
[Description("WEP key index"): Amended] uint8 KeyMaterial[];
};
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top