I am working on Xbee3 LTE-M module.
I want MAC address of this module but in finding so i was unable to get MAC address information in Revision history—90002253 guide.
Currently I am using firmware version XBXC-11415.
So how do i retrieve MAC address of this module using AT commands ?
I am using c ANSI library from git hub
Any help would be greatly appreciable.
I think there is a confusion. On the Cellular device, there is no MAC address. Instead it uses an IMEI value which is read via the IM command.
The IMEI value is also readable using the ATSH and ATSL commands. (ATSH returns the first 7 digits, ATSL the last 8.)
And ATSH/ATSL are the IMEI in BCD (binary coded decimal) format. So print it out in hex format (%x) to see the Cellular module’s IMEI.
These modules do not have a “MAC” address.
Correct, my bad.
Will i get IMEI without sim card ?
Will IM command work here ?
Yes you can get IMEI without a SIM card.
Yes, the IM command is what is used for obtaining the IMEI.
Thanks for the quick response i will try it out and will update here.
Note that the IM value might not be available immediately. Some Cellular modules can take up to a minute to start. If you don’t get a response to ATIM right away, wait and try again.
In AT command’s response call back i m capturing IMEI as using memcpy for 15 bytes into my array and printing them as %x get me below print which is doesnot seems the valid IMEI
0x33 0x35 0x32 0x37 0x35 0x33 0x30 0x39 0x30 0x31 …
Now i measured it with XCTU and found that extra ‘3’ digit gets added before the actual number.
So why this happens ?
Ah, the ATIM response is a string. It’s the ATSH/ATSL responses that are BCD.
0x33 = ‘3’, 0x35 = ‘5’, etc. So your IMEI is “35275309…”. Edited to obscure the actual IMEI in case IMEI spoofing of IoT devices is a thing.
Thanks for the replay.
But why nothing is not written in guide ?
IM - will give string format
SH-SL will give in - 8 - 7 bytes - in BCD format
Also thanks for the support .
If I print this with %c it appears, what i need
The SH SL values are in Hex and not ASCII where by the IMEI is ASCII values. Check the xbee manual in the AT command section.
Thanks for the replay we can close this as I am able to get IMEI in human readable form.