I want to determine the MAC-address of my Wi-Fi interface on a Raspberry Pi Z W running Raspbian Lite.
Is there a command that I can run to tell me this? Is there a device in the /proc
tree that will disclose it?
I want to determine the MAC-address of my Wi-Fi interface on a Raspberry Pi Z W running Raspbian Lite.
Is there a command that I can run to tell me this? Is there a device in the /proc
tree that will disclose it?
Enter in terminal/console ifconfig wlan0
At the end of the first line should be the hardware address aka MAC.
Here a sample output (German locale):
pi@RasPi0w-1:~ $ ifconfig wlan0
wlan0 Link encap:Ethernet Hardware Adresse b8:27:eb:xx:xx:xx
...
ifconfig
is a good alternative going forward.
– Bex
Aug 30 '17 at 07:13
The following is a fragment of a bash script I use to determine the MAC of Ethernet, or if this does not exist of WiFi (for Pi Zero W).
It does not rely on ifconfig
or any other method of detecting allocated IP, and just needs the system to detect the networking hardware.
This works for Jessie, Stretch or Buster
# Find MAC of eth0, or if not exist wlan0
if [ -e /sys/class/net/eth0 ]; then
MAC=$(cat /sys/class/net/eth0/address)
elif [ -e /sys/class/net/enx* ]; then
MAC=$(cat /sys/class/net/enx*/address)
else
MAC=$(cat /sys/class/net/wlan0/address)
fi
Basically you could use MAC=$(cat /sys/class/net/wlan0/address)
to find the MAC of inbuilt WiFi on Pi3 or Pi Zero W.
MAC=$(cat /sys/class/net/wlx*/address)
should work on WiFi dongles on Stretch, but you could easily adapt the above to work on both Jessie or Stretch for WiFi and Ethernet.
/sys/class/net
?
– Bex
Aug 30 '17 at 07:26
Many distros is replacing ifconfig
with ip
so I would discourage the use of ifconfig
.
To show the wlan0 interface:
ip link show wlan0
or
cat /sys/class/net/wlan0/address
ifconfig
will still be available for many years. Removing it will save a measly 800 kB, breaking a lot of old scripts.
– Dmitry Grigoryev
Aug 29 '17 at 15:22
ifconfig
before Raspbian gets rid of it ;) Not that I'm against ip
of course, it's just that you said that many distros are ditching ifconfig
, but AFAIK all distros compatible with the RPi still have it.
– Dmitry Grigoryev
Aug 29 '17 at 16:36
ip link show
is probably more appropriate than ip addr show
.
– Bob
Aug 30 '17 at 00:40
ifconfig
by default anymore, Raspbian Stretch seem to have it. I prefer ip
over ifconfig
, though I think Bob is right in saying that link
is probably more appropriate than addr
in this context. The solution I did go for, though, was to read it from /sys/class/net/wlan0/address
- no additional parsing necessary. Additionally, I write it as cat /sys/class/net/wl*/address
in a naïve attempt to make it save for the coming "predicable network interface names".
– Bex
Aug 30 '17 at 07:20
ifconfig wlan0
At the end of the first line should be the hardware address aka MAC. – LotPings Aug 29 '17 at 10:20