forked from freifunk-franken/firmware
56 lines
1.6 KiB
Plaintext
Executable File
56 lines
1.6 KiB
Plaintext
Executable File
# Put your custom commands here that should be executed once
|
|
# the system init finished. By default this file does nothing.
|
|
|
|
# collect environment info and write to dot-script
|
|
/etc/environment.sh > /tmp/environment
|
|
|
|
# todo: all devices or only dir300 ?
|
|
if uci get network.mesh.macaddr
|
|
then
|
|
echo "MAC is set already"
|
|
else
|
|
BRMAC=$(awk '{ tolower($0); print }' /sys/class/net/br-mesh/address)
|
|
WLMAC=$(awk '{ tolower($0); print }' /sys/class/net/wlan0/address)
|
|
ETMAC=$(awk '{ tolower($0); print }' /sys/class/net/eth0/address)
|
|
|
|
if [ "$WLMAC" != "" ] && [ "$BRMAC" != "" ] && [ "$BRMAC" = "$ETMAC" ]; then
|
|
if [[ "$BRMAC" != "$WLMAC" ]]; then
|
|
echo "Fixing wrong MAC on br-mesh"
|
|
uci set network.mesh.macaddr=$WLMAC
|
|
uci commit
|
|
ifconfig br-mesh hw ether $WLMAC
|
|
ifconfig br-mesh down
|
|
ifconfig br-mesh up
|
|
#wait before reboot to generate tinc certificates and to be able
|
|
#to login over ssh bevore reboot in case of errors
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if uci get network.ethmesh.macaddr
|
|
then
|
|
echo "MAC for ETH-BATMAN is set already"
|
|
else
|
|
echo "Fixing MAC on eth0.3 (ethmesh)"
|
|
NEW=$(awk -F: '{ printf("%02x:%02x:%02x:%02x:%02x:%02x\n", ("0x"$1)+2, "0x"$2, "0x"$3, "0x"$4, "0x"$5, "0x"$6 ) }' /sys/class/net/eth0/address)
|
|
uci set network.ethmesh.macaddr=$NEW
|
|
uci commit
|
|
ifconfig eth0.3 hw ether $NEW
|
|
ifconfig eth0.3 down
|
|
ifconfig eth0.3 up
|
|
fi
|
|
|
|
batctl if add wlan0-1
|
|
batctl if add eth0.3
|
|
|
|
# Starting NTP-Client Daemon
|
|
ntpd -p "fe80::201:2ff:fe03:405%br-mesh"
|
|
|
|
#. /etc/firewall.user
|
|
|
|
#busybox-httpd for crawldata
|
|
mkdir /tmp/crawldata
|
|
httpd -h /tmp/crawldata
|
|
|
|
exit 0
|