<html><head></head><body>Kann mir jemand den link zu dem pad nochmal schicken, wo wir das damals gesammelt haben?<br><br><div class="gmail_quote">On November 11, 2017 11:39:00 AM GMT+01:00, "Fabian Bläse" <fabian@blaese.de> wrote:<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<pre class="k9mail">From: Fabian Blaese <fabian@blaese.de><br /><br />Using wifi devices makes it possible to get mac address<br />without having to configure wifi networks.<br /><br />Signed-off-by: Fabian Bläse <fabian@blaese.de><br />---<br />Changes in v2:<br /> - function for flipping locally administered bit<br /> - use awk<br /><br />This patch should be tested extensively.<br /><br />It's important, that<br /> - br-mesh has the mac address printed on the device<br /> - w2mesh, w5mesh and ethmesh have unique mac addresses<br /><br />The changes for the following devices have been verified:<br /> - tl-wa850re-v1: Christian Dresel<br /> - tl-wa901nd-v2: Fabian Bläse<br /> - tl-wdr3500-v1: Tim Niemeyer<br /> - tl-wdr3600-v1: Adrian Schmutzler<br /> - tl-wdr4300-v1: Christian Dresel<br /> - tl-wdr4900-v1: Fabian Bläse<br /> - ubnt-bullet-m: Christian Dresel<br /> - ubnt-nano-m: Christian Dresel<br /><br /><br />Everything from here hasn't been verified on a real device.<br /><br />The following devices only have one phy, so phy0 should have the same address as wXmesh:<br /> - tl-wa860re-v1<br /> - tl-wr740n-v4<br /> - tl-wr741nd-v2<br /> - tl-wr741nd-v4<br /> - ubnt-loco-m-xw<br /> - ubnt-unifi<br /><br />The following devices have multiple phy, so it has been systematically guessed, which phy is the correct one:<br /> - tl-wdr4310-v1<br /><br />The following devices used wXap before, which should have the mac address of phyX with it's locally administered bit flipped:<br /> - tl-wr1043nd-v1<br /> - cpe210<br /> - cpe510<br /><br /> src/packages/fff/fff-network/ar71xx/network.cpe210           |  7 ++++++-<br /> src/packages/fff/fff-network/ar71xx/network.cpe510           |  7 ++++++-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa850re-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa860re-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa901nd-v2    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3500-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3600-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4300-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4310-v1    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr1043nd-v1   |  7 ++++++-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr740n-v4     |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v2    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v4    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m    |  2 +-<br /> src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw   |  2 +-<br /> src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m      |  2 +-<br /> src/packages/fff/fff-network/ar71xx/network.ubnt-unifi       |  2 +-<br /> src/packages/fff/fff-network/files/lib/functions/fff/network | 11 +++++++++++<br /> src/packages/fff/fff-network/mpc85xx/<a href="http://network.tl">network.tl</a>-wdr4900-v1   |  7 ++++++-<br /> 19 files changed, 49 insertions(+), 18 deletions(-)<br /><br />diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210<br />index a7a91bc..7b00994 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.cpe210<br />+++ b/src/packages/fff/fff-network/ar71xx/network.cpe210<br />@@ -1,3 +1,5 @@<br />+. /lib/functions/fff/network<br />+<br /> PORTORDER="5 4"<br /> <br /> WANDEV=eth0<br />@@ -6,8 +8,11 @@ CLIENT_PORTS="0t"<br /> WAN_PORTS="0t"<br /> BATMAN_PORTS="0t"<br /> <br />+# use mac address from phy0 with 'locally administered' bit set to '1'<br />+# only possible, because wXmesh is created first and therefore gets the 'universally administered address'<br />+<br />+ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")<br /> ROUTERMAC=$(cat /sys/class/net/eth0/address)<br />-ETHMESHMAC=$(cat /sys/class/net/w2ap/address)<br /> <br /> . /etc/network.mode<br /> <br />diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510<br />index d5f946f..597eb45 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.cpe510<br />+++ b/src/packages/fff/fff-network/ar71xx/network.cpe510<br />@@ -1,3 +1,5 @@<br />+. /lib/functions/fff/network<br />+<br /> PORTORDER="5 4"<br /> <br /> WANDEV=eth0<br />@@ -6,7 +8,10 @@ CLIENT_PORTS="0t"<br /> WAN_PORTS="0t"<br /> BATMAN_PORTS="0t"<br /> <br />-ETHMESHMAC=$(cat /sys/class/net/w2ap/address)<br />+# use mac address from phy0 with 'locally administered' bit set to '1'<br />+# only possible, because wXmesh is created first and therefore gets the 'universally administered address'<br />+<br />+ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")<br /> <br /> . /etc/network.mode<br /> <br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa850re-v1<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa850re-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa850re-v1<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa860re-v1<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa860re-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa860re-v1<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa901nd-v2<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa901nd-v2<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wa901nd-v2<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3500-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3500-v1<br />index e859a9b..59b96df 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3500-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3500-v1<br />@@ -4,4 +4,4 @@ CLIENT_PORTS="0t 1 2"<br /> WAN_PORTS=<br /> BATMAN_PORTS="0t 3 4"<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3600-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3600-v1<br />index 1ba9c24..73e7703 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3600-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr3600-v1<br />@@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"<br /> WAN_PORTS="0t 1"<br /> BATMAN_PORTS="0t 2 3"<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w5mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4300-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4300-v1<br />index 1ba9c24..73e7703 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4300-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4300-v1<br />@@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"<br /> WAN_PORTS="0t 1"<br /> BATMAN_PORTS="0t 2 3"<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w5mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4310-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4310-v1<br />index 1ba9c24..73e7703 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4310-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wdr4310-v1<br />@@ -4,4 +4,4 @@ CLIENT_PORTS="0t 4 5"<br /> WAN_PORTS="0t 1"<br /> BATMAN_PORTS="0t 2 3"<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w5mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy1/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr1043nd-v1 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr1043nd-v1<br />index 12f49e2..7caeaa1 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr1043nd-v1<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr1043nd-v1<br />@@ -1,8 +1,13 @@<br />+. /lib/functions/fff/network<br />+<br /> WANDEV=eth0<br /> SWITCHDEV=eth0<br /> CLIENT_PORTS="3 4 5t"<br /> WAN_PORTS="0 5t"<br /> BATMAN_PORTS="1 2 5t"<br /> <br />-ETHMESHMAC=$(cat /sys/class/net/w2ap/address)<br />+# use mac address from phy0 with 'locally administered' bit set to '1'<br />+# only possible, because wXmesh is created first and therefore gets the 'universally administered address'<br />+<br />+ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy0/macaddress)")<br /> ROUTERMAC=$(cat /sys/class/net/eth0/address)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr740n-v4 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr740n-v4<br />index 114ba49..334e498 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr740n-v4<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr740n-v4<br />@@ -6,4 +6,4 @@ WAN_PORTS=<br /> BATMAN_PORTS="2 3 0t"<br /> <br /> ETHMESHMAC=$(cat /sys/class/net/eth1/address)<br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v2 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v2<br />index 5f2300d..c8ddd0f 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v2<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v2<br />@@ -6,4 +6,4 @@ WAN_PORTS=<br /> BATMAN_PORTS="3 4 0t"<br /> <br /> ETHMESHMAC=$(cat /sys/class/net/eth1/address)<br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v4 b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v4<br />index 114ba49..334e498 100644<br />--- a/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v4<br />+++ b/src/packages/fff/fff-network/ar71xx/<a href="http://network.tl">network.tl</a>-wr741nd-v4<br />@@ -6,4 +6,4 @@ WAN_PORTS=<br /> BATMAN_PORTS="2 3 0t"<br /> <br /> ETHMESHMAC=$(cat /sys/class/net/eth1/address)<br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m<br />+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw<br />+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m<br />+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi<br />index 7c342a6..372750c 100644<br />--- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi<br />+++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi<br />@@ -7,4 +7,4 @@ ONE_PORT="YES"<br /> <br /> . /etc/network.mode<br /> <br />-ROUTERMAC=$(cat /sys/class/net/w2mesh/address)<br />+ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress)<br />diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network<br />index 8dd9f77..dc26938 100644<br />--- a/src/packages/fff/fff-network/files/lib/functions/fff/network<br />+++ b/src/packages/fff/fff-network/files/lib/functions/fff/network<br />@@ -85,3 +85,14 @@ ipTidyColon() {<br />  echo "$addr"<br />  return 0<br /> }<br />+<br />+macFlipLocalBit() {<br />+ # Returns given MAC-address with locally administered bit flipped<br />+ #<br />+ # Argument: MAC-address<br />+<br />+ local mac=$1<br />+<br />+ echo "$mac" | awk -F: '{ printf("%02x:%s:%s:%s:%s:%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }'<br />+ return 0<br />+}<br />diff --git a/src/packages/fff/fff-network/mpc85xx/<a href="http://network.tl">network.tl</a>-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/<a href="http://network.tl">network.tl</a>-wdr4900-v1<br />index d293f06..9caa6af 100644<br />--- a/src/packages/fff/fff-network/mpc85xx/<a href="http://network.tl">network.tl</a>-wdr4900-v1<br />+++ b/src/packages/fff/fff-network/mpc85xx/<a href="http://network.tl">network.tl</a>-wdr4900-v1<br />@@ -1,8 +1,13 @@<br />+. /lib/functions/fff/network<br />+<br /> WANDEV=eth0<br /> SWITCHDEV=eth0<br /> CLIENT_PORTS="0t 4 5"<br /> WAN_PORTS="0t 1"<br /> BATMAN_PORTS="0t 2 3"<br /> <br />-ETHMESHMAC=$(cat /sys/class/net/w2ap/address)<br />+# use mac address from phy1 with 'locally administered' bit set to '1'<br />+# only possible, because wXmesh is created first and therefore gets the 'universally administered address'<br />+<br />+ETHMESHMAC=$(macFlipLocalBit "$(cat /sys/class/ieee80211/phy1/macaddress)")<br /> ROUTERMAC=$(cat /sys/class/net/eth0/address)</pre></blockquote></div></body></html>