×
Namespaces

Variants
Actions

How to get MAC address of a WLAN device

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata
Article
Created: sathish.sh (27 Jun 2007)
Last edited: hamishwillee (30 May 2013)

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.

Header:

#include <in_sock.h>

Link against:

LIBRARY insock.lib

Capabilities:

CAPABILITY NONE
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] );
 
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 and 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 Software Development Kit, contains Publish and Subscribe keys with a MAC address for the WLAN interface.

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

const TUid KPSUidWlan = { 0x101f8ec5 };
const TUint KPSWlanMacAddress = 0x00000001;
const RProperty::TType KPSWlanMacAddressType = RProperty::EByteArray;
This page was last modified on 30 May 2013, at 23:39.
671 page views in the last 30 days.

Was this page helpful?

Your feedback about this content is important. Let us know what you think.

 

Thank you!

We appreciate your feedback.

×