Join Now
Quality Rating:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)
Expertise Level:
  • Currently 0.0 / 5
(0.0 / 5 - 0 votes cast)

This page was last modified 16:47, 23 June 2008.

How to get MAC address of a WLAN device

From Forum Nokia Wiki

The MAC address of a WLAN device can be retrieved by the code *#MAC0WLAN# on the standby screen (that's same as *#62209526#).

We can get the MAC address of a S60 WLAN device programmatically as well. This can be done by the following code snippet.

RSocketServ socketServ;
    User::LeaveIfError(socketServ.Connect());
    CleanupClosePushL(socketServ);
    
    // Open a socket
    RSocket socket;
    User::LeaveIfError(socket.Open (socketServ,KAfInet,KSockStream,KProtocolInetTcp));                         
    CleanupClosePushL(socket);   
    
    // Start enumerating the interfaces
    TPckgBuf<TSoInetInterfaceInfo> info;
    socket.SetOpt(KSoInetEnumInterfaces, KSolInetIfCtrl);
    TBuf<32> macAddr;
    
    while(socket.GetOpt(KSoInetNextInterface, KSolInetIfCtrl, info) == KErrNone)
        {
        if(info().iName.FindF(_L("Wlan")) == KErrNotFound)
            {
            continue;
            }
        macAddr.Zero();
        
	for( TUint i = sizeof(SSockAddr) ; i < sizeof(SSockAddr) + 6 ; i++ )
            {
            if(i < (TUint)info().iHwAddr.Length())
                {
                macAddr.AppendFormat(_L("%02X:"), info().iHwAddr[i]);
                CEikonEnv::InfoWinL(_L("MAC address"),macAddr);
                }
            }
        
	if(macAddr.Length()) // remove trailing ':'
            {
            macAddr.Delete(macAddr.Length()-1, 1);            
            }
        }
 
    CleanupStack::PopAndDestroy(2);

However, the above MAC address retrieval code works only when your phone is connected to a WLAN. To find out the MAC address even with WLAN turned off, see the below alternative solution (applies to all S60 3rd Edition devices and S60 3rd Edition Feature Pack 1 devices):

This alternatively method uses the Publish & Subscribe keys to retrieve the MAC address when the WLAN is turned off.

WLAN Info API, a part of the Extensions plug-in package for S60 3rd Edition, Feature Pack 1 SDK, contains Publish & Subscribe keys with a MAC address for the WLAN interface.

The wlaninternalpskeys.h header file contains the required Publish & Subscribe category and key information:

const TUid KPSUidWlan = { 0x101f8ec5 };
const TUint KPSWlanMacAddress = 0x00000001;
const RProperty::TType KPSWlanMacAddressType = RProperty::EByteArray;
 
Powered by MediaWiki
     
     RDF Facets:
     
     
     qfnZtopicQUqfnTopicZconnectivityQ
     qfnZtopicQUqfnTopicZseriesE5f60Q
     qfnZtopicQUqfnTopicZwlanQ
     qfnZtypeQUqfnTypeZCommunityContentQ
     qfnZtypeQUqfnTypeZWebpageQ
     qfnZtypeQUqfnTypeZWikiContentQ
     qmarsZlanguageQUxhttpE3aE2fE2fswE2enokiaE2ecomE2flanguageE2d1E2fenX