Message ID | 20171111103901.29002-1-fabian@blaese.de |
---|---|
State | Accepted |
Headers | show |
diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 index a7a91bc..7b00994 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 @@ -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 diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510 index d5f946f..597eb45 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 @@ -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 diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 index e859a9b..59b96df 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 index 1ba9c24..73e7703 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 index 1ba9c24..73e7703 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 index 1ba9c24..73e7703 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 index 12f49e2..7caeaa1 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 index 114ba49..334e498 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 index 5f2300d..c8ddd0f 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 index 114ba49..334e498 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 @@ -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) diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) 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 index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi index 7c342a6..372750c 100644 --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi @@ -7,4 +7,4 @@ ONE_PORT="YES" . /etc/network.mode -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network index 8dd9f77..dc26938 100644 --- a/src/packages/fff/fff-network/files/lib/functions/fff/network +++ b/src/packages/fff/fff-network/files/lib/functions/fff/network @@ -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 +} diff --git a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 index d293f06..9caa6af 100644 --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 @@ -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)
Geht auch aufm 1043v1. Tested-By: Fabian Bläse <fabian@blaese.de> Fabian > On 11. Nov 2017, at 11:39, Fabian Bläse <fabian@blaese.de> wrote: > > From: Fabian Blaese <fabian@blaese.de> > > 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> > --- > Changes in v2: > - function for flipping locally administered bit > - use awk > > This patch should be tested extensively. > > It's important, that > - br-mesh has the mac address printed on the device > - w2mesh, w5mesh and ethmesh have unique mac addresses > > The changes for the following devices have been verified: > - tl-wa850re-v1: Christian Dresel > - tl-wa901nd-v2: Fabian Bläse > - tl-wdr3500-v1: Tim Niemeyer > - tl-wdr3600-v1: Adrian Schmutzler > - tl-wdr4300-v1: Christian Dresel > - tl-wdr4900-v1: Fabian Bläse > - ubnt-bullet-m: Christian Dresel > - ubnt-nano-m: Christian Dresel > > > Everything from here hasn't been verified on a real device. > > The following devices only have one phy, so phy0 should have the same address as wXmesh: > - tl-wa860re-v1 > - tl-wr740n-v4 > - tl-wr741nd-v2 > - tl-wr741nd-v4 > - ubnt-loco-m-xw > - ubnt-unifi > > The following devices have multiple phy, so it has been systematically guessed, which phy is the correct one: > - tl-wdr4310-v1 > > The following devices used wXap before, which should have the mac address of phyX with it's locally administered bit flipped: > - tl-wr1043nd-v1 > - cpe210 > - cpe510 > > src/packages/fff/fff-network/ar71xx/network.cpe210 | 7 ++++++- > src/packages/fff/fff-network/ar71xx/network.cpe510 | 7 ++++++- > src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 | 7 ++++++- > src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 | 2 +- > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 | 2 +- > src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m | 2 +- > src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw | 2 +- > src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m | 2 +- > src/packages/fff/fff-network/ar71xx/network.ubnt-unifi | 2 +- > src/packages/fff/fff-network/files/lib/functions/fff/network | 11 +++++++++++ > src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 | 7 ++++++- > 19 files changed, 49 insertions(+), 18 deletions(-) > > diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 > index a7a91bc..7b00994 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 > @@ -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 > > diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510 > index d5f946f..597eb45 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 > @@ -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 > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > index e859a9b..59b96df 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > index 1ba9c24..73e7703 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > index 1ba9c24..73e7703 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > index 1ba9c24..73e7703 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > index 12f49e2..7caeaa1 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > index 114ba49..334e498 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > index 5f2300d..c8ddd0f 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > index 114ba49..334e498 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > @@ -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) > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > 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 > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > index 7c342a6..372750c 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > . /etc/network.mode > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network > index 8dd9f77..dc26938 100644 > --- a/src/packages/fff/fff-network/files/lib/functions/fff/network > +++ b/src/packages/fff/fff-network/files/lib/functions/fff/network > @@ -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 > +} > diff --git a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > index d293f06..9caa6af 100644 > --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > @@ -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) > -- > 2.14.2 >
Hi wenn du in der Makefile das ganze noch um ne Version hoch ziehst, kann ein Reviewed-by: Christian Dresel <fff@chrisi01.de> dran (oder kann man das beim applien machen?) mfg Christian On 12.11.2017 17:22, Fabian Bläse wrote: > Geht auch aufm 1043v1. > > Tested-By: Fabian Bläse <fabian@blaese.de> > > Fabian > >> On 11. Nov 2017, at 11:39, Fabian Bläse <fabian@blaese.de> wrote: >> >> From: Fabian Blaese <fabian@blaese.de> >> >> 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> >> --- >> Changes in v2: >> - function for flipping locally administered bit >> - use awk >> >> This patch should be tested extensively. >> >> It's important, that >> - br-mesh has the mac address printed on the device >> - w2mesh, w5mesh and ethmesh have unique mac addresses >> >> The changes for the following devices have been verified: >> - tl-wa850re-v1: Christian Dresel >> - tl-wa901nd-v2: Fabian Bläse >> - tl-wdr3500-v1: Tim Niemeyer >> - tl-wdr3600-v1: Adrian Schmutzler >> - tl-wdr4300-v1: Christian Dresel >> - tl-wdr4900-v1: Fabian Bläse >> - ubnt-bullet-m: Christian Dresel >> - ubnt-nano-m: Christian Dresel >> >> >> Everything from here hasn't been verified on a real device. >> >> The following devices only have one phy, so phy0 should have the same address as wXmesh: >> - tl-wa860re-v1 >> - tl-wr740n-v4 >> - tl-wr741nd-v2 >> - tl-wr741nd-v4 >> - ubnt-loco-m-xw >> - ubnt-unifi >> >> The following devices have multiple phy, so it has been systematically guessed, which phy is the correct one: >> - tl-wdr4310-v1 >> >> The following devices used wXap before, which should have the mac address of phyX with it's locally administered bit flipped: >> - tl-wr1043nd-v1 >> - cpe210 >> - cpe510 >> >> src/packages/fff/fff-network/ar71xx/network.cpe210 | 7 ++++++- >> src/packages/fff/fff-network/ar71xx/network.cpe510 | 7 ++++++- >> src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 | 7 ++++++- >> src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 | 2 +- >> src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m | 2 +- >> src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw | 2 +- >> src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m | 2 +- >> src/packages/fff/fff-network/ar71xx/network.ubnt-unifi | 2 +- >> src/packages/fff/fff-network/files/lib/functions/fff/network | 11 +++++++++++ >> src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 | 7 ++++++- >> 19 files changed, 49 insertions(+), 18 deletions(-) >> >> diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 >> index a7a91bc..7b00994 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 >> +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 >> @@ -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 >> >> diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510 >> index d5f946f..597eb45 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 >> +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 >> @@ -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 >> >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 >> index e859a9b..59b96df 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 >> index 1ba9c24..73e7703 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 >> index 1ba9c24..73e7703 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 >> index 1ba9c24..73e7703 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 >> index 12f49e2..7caeaa1 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 >> index 114ba49..334e498 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 >> index 5f2300d..c8ddd0f 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 >> index 114ba49..334e498 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 >> +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 >> @@ -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) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m >> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> 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 >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw >> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m >> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi >> index 7c342a6..372750c 100644 >> --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi >> +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi >> @@ -7,4 +7,4 @@ ONE_PORT="YES" >> >> . /etc/network.mode >> >> -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) >> +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) >> diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network >> index 8dd9f77..dc26938 100644 >> --- a/src/packages/fff/fff-network/files/lib/functions/fff/network >> +++ b/src/packages/fff/fff-network/files/lib/functions/fff/network >> @@ -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 >> +} >> diff --git a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 >> index d293f06..9caa6af 100644 >> --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 >> +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 >> @@ -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) >> -- >> 2.14.2 >> > >
Am Sonntag, den 12.11.2017, 17:58 +0100 schrieb Christian Dresel: > Hi > > wenn du in der Makefile das ganze noch um ne Version hoch ziehst, kann > ein > > Reviewed-by: Christian Dresel <fff@chrisi01.de> > > dran (oder kann man das beim applien machen?) Kann man.. Hab ich auch.. Applied. Tim > > mfg > > Christian > > On 12.11.2017 17:22, Fabian Bläse wrote: > > > Geht auch aufm 1043v1. > > > > Tested-By: Fabian Bläse <fabian@blaese.de> > > > > Fabian > > > > > On 11. Nov 2017, at 11:39, Fabian Bläse <fabian@blaese.de> wrote: > > > > > > From: Fabian Blaese <fabian@blaese.de> > > > > > > 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> > > > --- > > > Changes in v2: > > > - function for flipping locally administered bit > > > - use awk > > > > > > This patch should be tested extensively. > > > > > > It's important, that > > > - br-mesh has the mac address printed on the device > > > - w2mesh, w5mesh and ethmesh have unique mac addresses > > > > > > The changes for the following devices have been verified: > > > - tl-wa850re-v1: Christian Dresel > > > - tl-wa901nd-v2: Fabian Bläse > > > - tl-wdr3500-v1: Tim Niemeyer > > > - tl-wdr3600-v1: Adrian Schmutzler > > > - tl-wdr4300-v1: Christian Dresel > > > - tl-wdr4900-v1: Fabian Bläse > > > - ubnt-bullet-m: Christian Dresel > > > - ubnt-nano-m: Christian Dresel > > > > > > > > > Everything from here hasn't been verified on a real device. > > > > > > The following devices only have one phy, so phy0 should have the same address as wXmesh: > > > - tl-wa860re-v1 > > > - tl-wr740n-v4 > > > - tl-wr741nd-v2 > > > - tl-wr741nd-v4 > > > - ubnt-loco-m-xw > > > - ubnt-unifi > > > > > > The following devices have multiple phy, so it has been systematically guessed, which phy is the correct one: > > > - tl-wdr4310-v1 > > > > > > The following devices used wXap before, which should have the mac address of phyX with it's locally administered bit flipped: > > > - tl-wr1043nd-v1 > > > - cpe210 > > > - cpe510 > > > > > > src/packages/fff/fff-network/ar71xx/network.cpe210 | 7 ++++++- > > > src/packages/fff/fff-network/ar71xx/network.cpe510 | 7 ++++++- > > > src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 | 7 ++++++- > > > src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m | 2 +- > > > src/packages/fff/fff-network/ar71xx/network.ubnt-unifi | 2 +- > > > src/packages/fff/fff-network/files/lib/functions/fff/network | 11 +++++++++++ > > > src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 | 7 ++++++- > > > 19 files changed, 49 insertions(+), 18 deletions(-) > > > > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 > > > index a7a91bc..7b00994 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 > > > @@ -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 > > > > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe510 b/src/packages/fff/fff-network/ar71xx/network.cpe510 > > > index d5f946f..597eb45 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 > > > @@ -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 > > > > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa850re-v1 > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa860re-v1 > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wa901nd-v2 > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > > > index e859a9b..59b96df 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3500-v1 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > > > index 1ba9c24..73e7703 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr3600-v1 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > > > index 1ba9c24..73e7703 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4300-v1 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > > > index 1ba9c24..73e7703 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wdr4310-v1 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > > > index 12f49e2..7caeaa1 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > > > index 114ba49..334e498 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr740n-v4 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > > > index 5f2300d..c8ddd0f 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v2 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > > > index 114ba49..334e498 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > > > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr741nd-v4 > > > @@ -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) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > > > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-bullet-m > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > 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 > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw > > > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-loco-m-xw > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > > > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-nano-m > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > > > index 7c342a6..372750c 100644 > > > --- a/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > > > +++ b/src/packages/fff/fff-network/ar71xx/network.ubnt-unifi > > > @@ -7,4 +7,4 @@ ONE_PORT="YES" > > > > > > . /etc/network.mode > > > > > > -ROUTERMAC=$(cat /sys/class/net/w2mesh/address) > > > +ROUTERMAC=$(cat /sys/class/ieee80211/phy0/macaddress) > > > diff --git a/src/packages/fff/fff-network/files/lib/functions/fff/network b/src/packages/fff/fff-network/files/lib/functions/fff/network > > > index 8dd9f77..dc26938 100644 > > > --- a/src/packages/fff/fff-network/files/lib/functions/fff/network > > > +++ b/src/packages/fff/fff-network/files/lib/functions/fff/network > > > @@ -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 > > > +} > > > diff --git a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > > > index d293f06..9caa6af 100644 > > > --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > > > +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > > > @@ -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) > > > -- > > > 2.14.2 > > > > > > > > > -- > franken-dev mailing list > franken-dev@freifunk.net > http://lists.freifunk.net/mailman/listinfo/franken-dev-freifunk.net