1043 v4 MAC Adressen

Christian Dresel fff at chrisi01.de
Fr Feb 10 10:52:51 CET 2017


Hi

On 10.02.2017 10:26, Tim Niemeyer wrote:
>>>>> Ich hab mir das grad im LEDE angeschaut. Die MAC fürs WAN holt der
>>>> sich
>>>>> aus dem Flash (config Bereich vom Router-Hersteller).
>>>>
>>>> und wie komm ich mit unserer Firmware an die MAC ran? Ich find kein
>>>> Script das die bei uns irgendwo überschreibt, sie wird einfach nur
>>>
>>> mtd_get_mac_binary config 0x1017c
>>>
>>> Siehe lede: target/linux/ar71xx/base-files/etc/board.d/02_network.sh
>>
>> woher du das Zeug immer nur weißt... ich bin erstaunt:
>>
>> root at 1043v4test:/tmp# cat test
>> #!/bin/sh
>> . /lib/functions/system.sh
>> . /lib/functions/uci-defaults.sh
>> . /lib/ar71xx.sh
>>
>> wan_mac=$(mtd_get_mac_binary config 0x1017c)
>> echo $wan_mac
>> root at 1043v4test:/tmp# ./test
>> 84:16:f9:5b:86:a9
>> root at 1043v4test:/tmp#
>>
>> ist das dann ok, wenn ich mir die MAC mit so einen "Miniscript" raus
>> hole und das dann irgendwo (wo genau muss ich erst noch gucken)
>> reinbastel?
> 
> 
> Ich befürchte, dass das aktuell die einzige Lösung is, welche wir uns leisten können. Richtig schön isses ned, aber wir haben eh noch schlimmere Verbrechen in unserem Krams. Und wir können ja auch ned das ganze OpenWRT neu erfinden.

Ok ich hab mal eben was zusammen geschustert:

root at 1043v4test:~# cat /etc/network.tl-wr1043nd-v4
WANDEV=eth0
SWITCHDEV=eth0
CLIENT_PORTS="1 2 0t"
WAN_PORTS="5 0t"
BATMAN_PORTS="3 4 0t"

. /lib/functions/system.sh
. /lib/functions/uci-defaults.sh
. /lib/ar71xx.sh

NEWMAC=$(mtd_get_mac_binary config 0x1017c)
ETHMESHMAC=1
ROUTERMAC=eth0

root at 1043v4test:~# cat /usr/sbin/configurenetwork
...
if [[ -n "$ETHMESHMAC" ]]; then
    if uci get network.ethmesh.macaddr
    then
        echo "MAC for ethmesh is set already"
    else
        echo "Fixing MAC on eth0.3 (ethmesh)"
        sleep 10
        NEW_MACADDR=$(cat /sys/class/net/$ETHMESHMAC/address)
        if [[ -n "$NEWMAC" ]]; then
                NEW_MACADDR=$NEWMAC
        fi
        uci set network.ethmesh.macaddr=$NEW_MACADDR
        uci commit
        ifconfig eth0.3 down
        ifconfig eth0.3 hw ether $NEW_MACADDR
        ifconfig eth0.3 up
        /etc/init.d/network restart
    fi
fi
...
(das if Konstrukt da in der Mitte ist neu, weil alles irgendwie doof...)

ergibt dann:

root at 1043v4test:~# ifconfig | grep 84:16:F9:5B:86:A8
br-mesh   Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A8
eth0      Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A8
eth0.1    Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A8
eth0.2    Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A8
w2mesh    Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A8
root at 1043v4test:~# ifconfig | grep 86:16:F9:5B:86:A8
w2ap      Link encap:Ethernet  HWaddr 86:16:F9:5B:86:A8
root at 1043v4test:~# ifconfig | grep 84:16:F9:5B:86:A9
eth0.3    Link encap:Ethernet  HWaddr 84:16:F9:5B:86:A9
root at 1043v4test:~#

Müsste so passen oder? Kann man damit dann leben?

mfg

Christian

> 
> Tim
> 



-------------- nächster Teil --------------
Ein Dateianhang mit Binärdaten wurde abgetrennt...
Dateiname   : signature.asc
Dateityp    : application/pgp-signature
Dateigröße  : 819 bytes
Beschreibung: OpenPGP digital signature
URL         : <http://lists.freifunk.net/pipermail/franken-dev-freifunk.net/attachments/20170210/7944b87c/attachment.sig>


Mehr Informationen über die Mailingliste franken-dev