fff-network: Get MAC from wifi device instead of wifi network

Using wifi devices makes it possible to get mac address
without having to configure wifi networks.

Signed-off-by: Fabian Bläse <fabian@blaese.de>
Tested-By: Fabian Bläse <fabian@blaese.de>
Reviewed-by: Christian Dresel <fff@chrisi01.de>
- Increment package version
Signed-off-by: Tim Niemeyer <tim@tn-x.org>
This commit is contained in:
Fabian Bläse 2017-11-11 11:39:00 +01:00 committed by Tim Niemeyer
parent bdceb7bb6f
commit 078bb80a53
20 changed files with 50 additions and 19 deletions

View File

@ -1,7 +1,7 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=fff-network
PKG_VERSION:=8
PKG_VERSION:=9
PKG_RELEASE:=1
PKG_BUILD_DIR:=$(BUILD_DIR)/$(PKG_NAME)

View File

@ -1,3 +1,5 @@
. /lib/functions/fff/network
PORTORDER="5 4"
WANDEV=eth0
@ -6,8 +8,11 @@ CLIENT_PORTS="0t"
WAN_PORTS="0t"
BATMAN_PORTS="0t"
# use mac address from phy0 with 'locally administered' bit set to '1'
# only possible, because wXmesh is created first and therefore gets the 'universally administered address'
ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")
ROUTERMAC=$(cat /sys/class/net/eth0/address)
ETHMESHMAC=$(cat /sys/class/net/w2ap/address)
. /etc/network.mode

View File

@ -1,3 +1,5 @@
. /lib/functions/fff/network
PORTORDER="5 4"
WANDEV=eth0
@ -6,7 +8,10 @@ CLIENT_PORTS="0t"
WAN_PORTS="0t"
BATMAN_PORTS="0t"
ETHMESHMAC=$(cat /sys/class/net/w2ap/address)
# use mac address from phy0 with 'locally administered' bit set to '1'
# only possible, because wXmesh is created first and therefore gets the 'universally administered address'
ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")
. /etc/network.mode

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -4,4 +4,4 @@ CLIENT_PORTS="0t 1 2"
WAN_PORTS=
BATMAN_PORTS="0t 3 4"
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"
WAN_PORTS="0t 1"
BATMAN_PORTS="0t 2 3"
ROUTERMAC=$(cat /sys/class/net/w5mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)

View File

@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"
WAN_PORTS="0t 1"
BATMAN_PORTS="0t 2 3"
ROUTERMAC=$(cat /sys/class/net/w5mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)

View File

@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"
WAN_PORTS="0t 1"
BATMAN_PORTS="0t 2 3"
ROUTERMAC=$(cat /sys/class/net/w5mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)

View File

@ -1,8 +1,13 @@
. /lib/functions/fff/network
WANDEV=eth0
SWITCHDEV=eth0
CLIENT_PORTS="3 4 5t"
WAN_PORTS="0 5t"
BATMAN_PORTS="1 2 5t"
ETHMESHMAC=$(cat /sys/class/net/w2ap/address)
# use mac address from phy0 with 'locally administered' bit set to '1'
# only possible, because wXmesh is created first and therefore gets the 'universally administered address'
ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")
ROUTERMAC=$(cat /sys/class/net/eth0/address)

View File

@ -6,4 +6,4 @@ WAN_PORTS=
BATMAN_PORTS="2 3 0t"
ETHMESHMAC=$(cat /sys/class/net/eth1/address)
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -6,4 +6,4 @@ WAN_PORTS=
BATMAN_PORTS="3 4 0t"
ETHMESHMAC=$(cat /sys/class/net/eth1/address)
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -6,4 +6,4 @@ WAN_PORTS=
BATMAN_PORTS="2 3 0t"
ETHMESHMAC=$(cat /sys/class/net/eth1/address)
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -7,4 +7,4 @@ ONE_PORT="YES"
. /etc/network.mode
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)

View File

@ -85,3 +85,14 @@ ipTidyColon() {
echo "$addr"
return 0
}
macFlipLocalBit() {
# Returns given MAC-address with locally administered bit flipped
#
# Argument: MAC-address
local mac=$1
echo "$mac" | awk -F: '{ printf("%02x:%s:%s:%s:%s:%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }'
return 0
}

View File

@ -1,8 +1,13 @@
. /lib/functions/fff/network
WANDEV=eth0
SWITCHDEV=eth0
CLIENT_PORTS="0t 4 5"
WAN_PORTS="0t 1"
BATMAN_PORTS="0t 2 3"
ETHMESHMAC=$(cat /sys/class/net/w2ap/address)
# use mac address from phy1 with 'locally administered' bit set to '1'
# only possible, because wXmesh is created first and therefore gets the 'universally administered address'
ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy1/macaddress)")
ROUTERMAC=$(cat /sys/class/net/eth0/address)