forked from freifunk-franken/firmware
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:
parent
bdceb7bb6f
commit
078bb80a53
|
@ -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)
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -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
|
||||
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -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)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -7,4 +7,4 @@ ONE_PORT="YES"
|
|||
|
||||
. /etc/network.mode
|
||||
|
||||
ROUTERMAC=$(cat /sys/class/net/w2mesh/address)
|
||||
ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)
|
||||
|
|
|
@ -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
|
||||
}
|
||||
|
|
|
@ -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)
|
||||
|
|
Loading…
Reference in New Issue