Message ID | 20171106095252.11033-1-fabian@blaese.de |
---|---|
State | Superseded |
Headers | show |
diff --git a/src/packages/fff/fff-network/ar71xx/network.cpe210 b/src/packages/fff/fff-network/ar71xx/network.cpe210 index a7a91bc..4723d9a 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 @@ -6,8 +6,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=$(printf "%x\n" $(( 0x$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) 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..736e313 100644 --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 @@ -6,7 +6,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=$(printf "%x\n" $(( 0x$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) . /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..97190bd 100644 --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 @@ -4,5 +4,8 @@ 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=$(printf "%x\n" $(( 0x$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat /sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) 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/mpc85xx/network.tl-wdr4900-v1 b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 index d293f06..452a2f0 100644 --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 @@ -4,5 +4,8 @@ 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=$(printf "%x\n" $(( 0x$(cat /sys/class/ieee80211/phy1/macaddress | cut -d: -f1) | 0x2 ))):$(cat /sys/class/ieee80211/phy1/macaddress | cut -d: -f2-6) ROUTERMAC=$(cat /sys/class/net/eth0/address)
Moin. Ich kann noch beim wa860re und cpe210 Testen, die sind ja zu meiner Überraschung als nicht verified markiert. Der Code für die w2ap-Geräte ist so lang, dass da in meinen Augen eine externe Funktion Sinn macht, auch wenn es im Moment nur vier Mal verwendet wird. Ist ja eigtl eine allgemeine Funktionalität, die auch an anderer Stelle relevant sein könnte. Ggf. auch mal hier kucken: https://github.com/FreifunkFranken/firmware/blob/master/src/packages/fff/fff -network/files/lib/functions/fff/network Unter ipEUIsuffix: Der awk macht fast das gleiche, ist aber für mein Auge geschmeidiger. Ich würde eine Funktion da mit reinbauen: macShiftBit() { # Returns a MAC address with shifted bit (a8:bb:cc:dd:ee:ff) # based on the mac address (aa:bb:cc:bb:ee:ff) of a specified device # # Argument: name of device (e.g. phy0) [ $# -ne "1" ] && return 1 local dev=$1 awk -F: '{ printf("%02x:%s:%s:%s:%s:%s\n", xor(("0x"$1),2), $2, $3, $4, $5, $6) }' "sys/class/ieee80211/${dev}/macaddress" return 0 } Beste Grüße Adrian > -----Original Message----- > From: franken-dev [mailto:franken-dev-bounces@freifunk.net] On Behalf > Of Fabian Bläse > Sent: Montag, 6. November 2017 10:53 > To: franken-dev@freifunk.net > Subject: [PATCH 1/2] 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> > --- > 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 | 5 ++++- > src/packages/fff/fff-network/ar71xx/network.cpe510 | 5 ++++- > 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 | 5 ++++- > 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/mpc85xx/network.tl-wdr4900-v1 | 5 ++++- > 18 files changed, 30 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..4723d9a 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.cpe210 > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe210 > @@ -6,8 +6,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=$(printf "%x\n" $(( 0x$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) > 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..736e313 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.cpe510 > +++ b/src/packages/fff/fff-network/ar71xx/network.cpe510 > @@ -6,7 +6,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=$(printf "%x\n" $(( 0x$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) > > . /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..97190bd 100644 > --- a/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > +++ b/src/packages/fff/fff-network/ar71xx/network.tl-wr1043nd-v1 > @@ -4,5 +4,8 @@ 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=$(printf "%x\n" $(( 0x$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f1) | 0x2 ))):$(cat > +/sys/class/ieee80211/phy0/macaddress | cut -d: -f2-6) > 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/mpc85xx/network.tl-wdr4900-v1 > b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > index d293f06..452a2f0 100644 > --- a/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > +++ b/src/packages/fff/fff-network/mpc85xx/network.tl-wdr4900-v1 > @@ -4,5 +4,8 @@ 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=$(printf "%x\n" $(( 0x$(cat > +/sys/class/ieee80211/phy1/macaddress | cut -d: -f1) | 0x2 ))):$(cat > +/sys/class/ieee80211/phy1/macaddress | cut -d: -f2-6) > 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
Hallo Adrian, > On 6. Nov 2017, at 11:11, Adrian Schmutzler <mail@adrianschmutzler.de> wrote: > > Ich kann noch beim wa860re und cpe210 Testen, die sind ja zu meiner > Überraschung als nicht verified markiert. Zum wa860re stand nirgends, wäre cool, wenn du das machen könntest. Bei der cpe210 würde ich warten, bis $jemand den codeschnipsel wirklich auf dem Gerät getestet hat. > Der Code für die w2ap-Geräte ist so lang, dass da in meinen Augen eine > externe Funktion Sinn macht, auch wenn es im Moment nur vier Mal verwendet > wird. Ist ja eigtl eine allgemeine Funktionalität, die auch an anderer > Stelle relevant sein könnte. Absolut, pack ich heute Abend in eine v2. Fabian
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> --- 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 | 5 ++++- src/packages/fff/fff-network/ar71xx/network.cpe510 | 5 ++++- 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 | 5 ++++- 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/mpc85xx/network.tl-wdr4900-v1 | 5 ++++- 18 files changed, 30 insertions(+), 18 deletions(-)