|
@@ -366,6 +366,8 @@ EXTERNAL_IP_SERVICES=( \
|
366
|
366
|
'http://ipinfo.io/' \
|
367
|
367
|
'http://httpbin.org/ip')
|
368
|
368
|
|
|
369
|
+WIFI_CHANNEL=2
|
|
370
|
+
|
369
|
371
|
# cjdns settings
|
370
|
372
|
ENABLE_CJDNS="no"
|
371
|
373
|
CJDNS_PRIVATE_KEY=
|
|
@@ -377,6 +379,8 @@ CJDNS_PORT=
|
377
|
379
|
# B.A.T.M.A.N settings
|
378
|
380
|
ENABLE_BATMAN="no"
|
379
|
381
|
BATMAN_IPV6=
|
|
382
|
+BATMAN_CELLID='02:BA:00:00:03:01'
|
|
383
|
+ESSID='mesh'
|
380
|
384
|
|
381
|
385
|
# Babel mesh
|
382
|
386
|
ENABLE_BABEL="no"
|
|
@@ -746,6 +750,15 @@ function read_configuration {
|
746
|
750
|
fi
|
747
|
751
|
|
748
|
752
|
if [ -f $CONFIGURATION_FILE ]; then
|
|
753
|
+ if grep -q "WIFI_CHANNEL" $CONFIGURATION_FILE; then
|
|
754
|
+ WIFI_CHANNEL=$(grep "WIFI_CHANNEL" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
755
|
+ fi
|
|
756
|
+ if grep -q "BATMAN_CELLID" $CONFIGURATION_FILE; then
|
|
757
|
+ BATMAN_CELLID=$(grep "BATMAN_CELLID" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
758
|
+ fi
|
|
759
|
+ if grep -q "ESSID" $CONFIGURATION_FILE; then
|
|
760
|
+ ESSID=$(grep "ESSID" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
|
761
|
+ fi
|
749
|
762
|
if grep -q "TOX_PORT" $CONFIGURATION_FILE; then
|
750
|
763
|
TOX_PORT=$(grep "TOX_PORT" $CONFIGURATION_FILE | awk -F '=' '{print $2}')
|
751
|
764
|
fi
|
|
@@ -1726,188 +1739,135 @@ function mesh_batman_bridge {
|
1726
|
1739
|
BATMAN_IPV6="$IPV6_NETWORK:$a:$b:$c:$d"
|
1727
|
1740
|
fi
|
1728
|
1741
|
|
1729
|
|
- echo '#!/bin/sh' > /etc/init.d/batman
|
1730
|
|
- echo '### BEGIN INIT INFO' >> /etc/init.d/batman
|
1731
|
|
- echo '# Provides: mesh-node' >> /etc/init.d/batman
|
1732
|
|
- echo '# Required-Start: $local_fs $remote_fs $network' >> /etc/init.d/batman
|
1733
|
|
- echo '# Required-Stop: $local_fs $remote_fs' >> /etc/init.d/batman
|
1734
|
|
- echo '# Default-Start: 2 3 4 5' >> /etc/init.d/batman
|
1735
|
|
- echo '# Default-Stop: 0 1 6' >> /etc/init.d/batman
|
1736
|
|
- echo '# Short-Description: Enable batman-adv based mesh node' >> /etc/init.d/batman
|
1737
|
|
- echo '# Description: Configure the first wifi network card found as a' >> /etc/init.d/batman
|
1738
|
|
- echo '# batman-adv mesh node.' >> /etc/init.d/batman
|
1739
|
|
- echo '### END INIT INFO' >> /etc/init.d/batman
|
1740
|
|
- echo '#' >> /etc/init.d/batman
|
1741
|
|
- echo '# Based on http://www.open-mesh.org/projects/batman-adv/wiki/Quick-start-guide' >> /etc/init.d/batman
|
1742
|
|
- echo '# and http://freifunk.in-kiel.de/wiki/Eigenen_Rechner_in_das_Freifunk-Netz' >> /etc/init.d/batman
|
1743
|
|
- echo '#' >> /etc/init.d/batman
|
1744
|
|
- echo '# Set up bat0 network interface on Linux to join the mesh network in' >> /etc/init.d/batman
|
1745
|
|
- echo '# Oslo, Norway by default. The mesh setup can be adjusted by creating' >> /etc/init.d/batman
|
1746
|
|
- echo '# /etc/default/batctl.' >> /etc/init.d/batman
|
1747
|
|
- echo '' >> /etc/init.d/batman
|
1748
|
|
- echo '# Exit on first error' >> /etc/init.d/batman
|
1749
|
|
- echo '#set -e' >> /etc/init.d/batman
|
1750
|
|
- echo '' >> /etc/init.d/batman
|
1751
|
|
- echo '# Mesh definition' >> /etc/init.d/batman
|
1752
|
|
- echo "ESSID=mesh" >> /etc/init.d/batman
|
1753
|
|
- echo "CELLID=02:BA:00:00:03:01" >> /etc/init.d/batman
|
1754
|
|
- echo 'CHANNEL=2' >> /etc/init.d/batman
|
1755
|
|
- echo 'FREQUENCY=2437' >> /etc/init.d/batman
|
1756
|
|
- echo '' >> /etc/init.d/batman
|
1757
|
|
- echo '# Ethernet bridge definition (bridged do bat0)' >> /etc/init.d/batman
|
1758
|
|
- echo 'BRIDGE=br-mesh' >> /etc/init.d/batman
|
1759
|
|
- echo 'EIFACE=eth0' >> /etc/init.d/batman
|
1760
|
|
- echo '' >> /etc/init.d/batman
|
1761
|
|
- echo 'if [ -e /etc/default/batctl ] ; then' >> /etc/init.d/batman
|
1762
|
|
- echo ' . /etc/default/batctl' >> /etc/init.d/batman
|
1763
|
|
- echo 'fi' >> /etc/init.d/batman
|
1764
|
|
- echo '' >> /etc/init.d/batman
|
1765
|
|
- echo 'install_dependencies() {' >> /etc/init.d/batman
|
1766
|
|
- echo ' echo "info: installing dependencies"' >> /etc/init.d/batman
|
1767
|
|
- echo ' apt-get update -qq' >> /etc/init.d/batman
|
1768
|
|
- echo ' DEBIAN_FRONTEND=noninteractive \' >> /etc/init.d/batman
|
1769
|
|
- echo ' apt-get install -qqy \' >> /etc/init.d/batman
|
1770
|
|
- echo ' rfkill \' >> /etc/init.d/batman
|
1771
|
|
- echo ' batctl \' >> /etc/init.d/batman
|
1772
|
|
- echo ' wireless-tools \' >> /etc/init.d/batman
|
1773
|
|
- echo ' bridge-utils ' >> /etc/init.d/batman
|
1774
|
|
- echo '}' >> /etc/init.d/batman
|
1775
|
|
- echo '' >> /etc/init.d/batman
|
1776
|
|
- echo 'first_wifi_interface() {' >> /etc/init.d/batman
|
1777
|
|
- echo ' IFACE=$(ls -d /sys/class/net/*/wireless 2>/dev/null | sort | head -1|cut -d/ -f5)' >> /etc/init.d/batman
|
1778
|
|
- echo ' if [ -z "$IFACE" ] ;then' >> /etc/init.d/batman
|
1779
|
|
- echo ' IFACE=$(iwconfig 2>/dev/null | sort | awk "/IEEE 802/ {print $1; exit}")' >> /etc/init.d/batman
|
1780
|
|
- echo ' fi' >> /etc/init.d/batman
|
1781
|
|
- echo ' echo $IFACE' >> /etc/init.d/batman
|
1782
|
|
- echo '}' >> /etc/init.d/batman
|
1783
|
|
- echo '' >> /etc/init.d/batman
|
1784
|
|
- echo 'start() {' >> /etc/init.d/batman
|
1785
|
|
- echo ' if [ -z "$IFACE" ] ; then' >> /etc/init.d/batman
|
1786
|
|
- echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> /etc/init.d/batman
|
1787
|
|
- echo ' return' >> /etc/init.d/batman
|
1788
|
|
- echo ' fi' >> /etc/init.d/batman
|
1789
|
|
- echo ' echo "info: enabling batman-adv mesh network $ESSID on $IFACE"' >> /etc/init.d/batman
|
1790
|
|
- echo ' $NETWORKMANAGER stop' >> /etc/init.d/batman
|
1791
|
|
- echo ' sleep 5' >> /etc/init.d/batman
|
1792
|
|
- echo '' >> /etc/init.d/batman
|
1793
|
|
- echo ' # Might have to re-enable wifi' >> /etc/init.d/batman
|
1794
|
|
- echo ' rfkill unblock $(rfkill list|awk -F: "/phy/ {print $1}") || true' >> /etc/init.d/batman
|
1795
|
|
- echo '' >> /etc/init.d/batman
|
1796
|
|
- echo ' ifconfig $IFACE down' >> /etc/init.d/batman
|
1797
|
|
- echo ' ifconfig $IFACE mtu 1528' >> /etc/init.d/batman
|
1798
|
|
- echo ' iwconfig $IFACE enc off' >> /etc/init.d/batman
|
1799
|
|
- echo ' iwconfig $IFACE mode ad-hoc essid $ESSID channel $CHANNEL' >> /etc/init.d/batman
|
1800
|
|
- echo ' sleep 1' >> /etc/init.d/batman
|
1801
|
|
- echo ' iwconfig $IFACE ap $CELLID' >> /etc/init.d/batman
|
1802
|
|
- echo '' >> /etc/init.d/batman
|
1803
|
|
- echo ' modprobe batman-adv' >> /etc/init.d/batman
|
1804
|
|
- echo ' batctl if add $IFACE' >> /etc/init.d/batman
|
1805
|
|
- echo ' ifconfig $IFACE up' >> /etc/init.d/batman
|
1806
|
|
- echo ' ifconfig bat0 up promisc' >> /etc/init.d/batman
|
1807
|
|
- echo '' >> /etc/init.d/batman
|
1808
|
|
- echo ' #Use persistent HWAddr' >> /etc/init.d/batman
|
1809
|
|
- echo ' ether_new=$(ifconfig eth0 | grep HWaddr | sed -e "s/.*HWaddr //")' >> /etc/init.d/batman
|
1810
|
|
- echo ' if [ ! -f /var/lib/mesh-node/bat0 ]' >> /etc/init.d/batman
|
1811
|
|
- echo ' then' >> /etc/init.d/batman
|
1812
|
|
- echo ' mkdir /var/lib/mesh-node' >> /etc/init.d/batman
|
1813
|
|
- echo ' echo "${ether_new}" > /var/lib/mesh-node/bat0' >> /etc/init.d/batman
|
1814
|
|
- echo ' else' >> /etc/init.d/batman
|
1815
|
|
- echo ' ether=$(cat /var/lib/mesh-node/bat0)' >> /etc/init.d/batman
|
1816
|
|
- echo ' ifconfig bat0 hw ether ${ether}' >> /etc/init.d/batman
|
1817
|
|
- echo ' fi' >> /etc/init.d/batman
|
1818
|
|
- echo '' >> /etc/init.d/batman
|
1819
|
|
- echo ' if [ "$EIFACE" ] ; then' >> /etc/init.d/batman
|
1820
|
|
- echo ' ifconfig $EIFACE up promisc' >> /etc/init.d/batman
|
1821
|
|
- echo ' brctl addbr $BRIDGE' >> /etc/init.d/batman
|
1822
|
|
- echo ' brctl addif $BRIDGE bat0' >> /etc/init.d/batman
|
1823
|
|
- echo ' brctl addif $BRIDGE $EIFACE' >> /etc/init.d/batman
|
1824
|
|
- echo ' ifconfig $BRIDGE up' >> /etc/init.d/batman
|
1825
|
|
- echo ' fi' >> /etc/init.d/batman
|
1826
|
|
- echo '}' >> /etc/init.d/batman
|
1827
|
|
- echo '' >> /etc/init.d/batman
|
1828
|
|
- echo 'stop() {' >> /etc/init.d/batman
|
1829
|
|
- echo ' if [ -z "$IFACE" ] ; then' >> /etc/init.d/batman
|
1830
|
|
- echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> /etc/init.d/batman
|
1831
|
|
- echo ' return' >> /etc/init.d/batman
|
1832
|
|
- echo ' fi' >> /etc/init.d/batman
|
1833
|
|
- echo ' if [ "$EIFACE" ] ; then' >> /etc/init.d/batman
|
1834
|
|
- echo ' brctl delif $BRIDGE bat0' >> /etc/init.d/batman
|
1835
|
|
- echo ' brctl delif $BRIDGE $EIFACE' >> /etc/init.d/batman
|
1836
|
|
- echo ' ifconfig $BRIDGE down || true' >> /etc/init.d/batman
|
1837
|
|
- echo ' brctl delbr $BRIDGE' >> /etc/init.d/batman
|
1838
|
|
- echo ' ifconfig $EIFACE down -promisc' >> /etc/init.d/batman
|
1839
|
|
- echo ' fi' >> /etc/init.d/batman
|
1840
|
|
- echo '' >> /etc/init.d/batman
|
1841
|
|
- echo ' ifconfig bat0 down -promisc' >> /etc/init.d/batman
|
1842
|
|
- echo '' >> /etc/init.d/batman
|
1843
|
|
- echo ' batctl if del $IFACE' >> /etc/init.d/batman
|
1844
|
|
- echo ' rmmod batman-adv' >> /etc/init.d/batman
|
1845
|
|
- echo ' ifconfig $IFACE mtu 1500' >> /etc/init.d/batman
|
1846
|
|
- echo ' ifconfig $IFACE down' >> /etc/init.d/batman
|
1847
|
|
- echo ' iwconfig $IFACE mode managed' >> /etc/init.d/batman
|
1848
|
|
- echo '' >> /etc/init.d/batman
|
1849
|
|
- echo ' $NETWORKMANAGER restart' >> /etc/init.d/batman
|
1850
|
|
- echo '}' >> /etc/init.d/batman
|
1851
|
|
- echo '' >> /etc/init.d/batman
|
1852
|
|
- echo 'status() {' >> /etc/init.d/batman
|
1853
|
|
- echo ' batctl o' >> /etc/init.d/batman
|
1854
|
|
- echo '}' >> /etc/init.d/batman
|
1855
|
|
- echo '' >> /etc/init.d/batman
|
1856
|
|
- echo 'IFACE=$(first_wifi_interface)' >> /etc/init.d/batman
|
1857
|
|
- echo '' >> /etc/init.d/batman
|
1858
|
|
- echo '# Work even if network-manager isnt installed' >> /etc/init.d/batman
|
1859
|
|
- echo 'if [ -e /etc/init.d/network-manager ] || [ -e /etc/init/network-manager ] ; then' >> /etc/init.d/batman
|
1860
|
|
- echo ' NETWORKMANAGER="service network-manager"' >> /etc/init.d/batman
|
1861
|
|
- echo 'else' >> /etc/init.d/batman
|
1862
|
|
- echo ' NETWORKMANAGER=true' >> /etc/init.d/batman
|
1863
|
|
- echo 'fi' >> /etc/init.d/batman
|
1864
|
|
- echo '' >> /etc/init.d/batman
|
1865
|
|
- echo 'case "$1" in' >> /etc/init.d/batman
|
1866
|
|
- echo ' setup)' >> /etc/init.d/batman
|
1867
|
|
- echo ' install_dependencies' >> /etc/init.d/batman
|
1868
|
|
- echo ' ;;' >> /etc/init.d/batman
|
1869
|
|
- echo ' start|stop|status)' >> /etc/init.d/batman
|
1870
|
|
- echo ' $1' >> /etc/init.d/batman
|
1871
|
|
- echo ' ;;' >> /etc/init.d/batman
|
1872
|
|
- echo ' force-reload)' >> /etc/init.d/batman
|
1873
|
|
- echo ' ;;' >> /etc/init.d/batman
|
1874
|
|
- echo ' *)' >> /etc/init.d/batman
|
1875
|
|
- echo ' echo "error: invalid parameter $1"' >> /etc/init.d/batman
|
1876
|
|
- echo ' echo "usage: $0 {start|stop|status}"' >> /etc/init.d/batman
|
1877
|
|
- echo ' exit 1' >> /etc/init.d/batman
|
1878
|
|
- echo ' ;;' >> /etc/init.d/batman
|
1879
|
|
- echo 'esac' >> /etc/init.d/batman
|
1880
|
|
- echo 'exit 0' >> /etc/init.d/batman
|
1881
|
|
- chmod +x /etc/init.d/batman
|
1882
|
|
- update-rc.d batman defaults
|
1883
|
|
-
|
1884
|
|
- if ! grep -q "# Mesh Networking (B.A.T.M.A.N)" /etc/network/interfaces; then
|
1885
|
|
- echo '' >> /etc/network/interfaces
|
1886
|
|
- echo '# Mesh Networking (B.A.T.M.A.N)' >> /etc/network/interfaces
|
1887
|
|
- echo 'auto wlan0' >> /etc/network/interfaces
|
1888
|
|
- echo 'iface wlan0 inet static' >> /etc/network/interfaces
|
1889
|
|
- echo ' pre-up modprobe batman_adv' >> /etc/network/interfaces
|
1890
|
|
- echo ' post-down modprobe -rf batman_adv' >> /etc/network/interfaces
|
1891
|
|
- echo ' address 0.0.0.0' >> /etc/network/interfaces
|
1892
|
|
- echo ' mtu 1532' >> /etc/network/interfaces
|
1893
|
|
- echo ' wireless-mode ad-hoc' >> /etc/network/interfaces
|
1894
|
|
- echo " wireless-essid mesh" >> /etc/network/interfaces
|
1895
|
|
- echo " wireless-channel 2" >> /etc/network/interfaces
|
1896
|
|
- echo " wireless-ap 02:12:34:56:78:9A" >> /etc/network/interfaces
|
1897
|
|
- fi
|
1898
|
|
- systemctl restart networking.service
|
1899
|
|
- if [ ! "$?" = "0" ]; then
|
1900
|
|
- systemctl status networking.service
|
1901
|
|
- exit 6949
|
1902
|
|
- fi
|
|
1742
|
+ batman_script=/var/lib/batman
|
|
1743
|
+
|
|
1744
|
+ echo '#!/bin/sh' > $batman_script
|
|
1745
|
+ echo '' >> $batman_script
|
|
1746
|
+ echo '# Mesh definition' >> $batman_script
|
|
1747
|
+ echo "ESSID=$ESSID" >> $batman_script
|
|
1748
|
+ echo "CELLID=$BATMAN_CELLID" >> $batman_script
|
|
1749
|
+ echo "CHANNEL=$WIFI_CHANNEL" >> $batman_script
|
|
1750
|
+ echo '' >> $batman_script
|
|
1751
|
+ echo '# Ethernet bridge definition (bridged do bat0)' >> $batman_script
|
|
1752
|
+ echo 'BRIDGE=br-mesh' >> $batman_script
|
|
1753
|
+ echo 'EIFACE=eth0' >> $batman_script
|
|
1754
|
+ echo '' >> $batman_script
|
|
1755
|
+ echo 'if [ -e /etc/default/batctl ]; then' >> $batman_script
|
|
1756
|
+ echo ' . /etc/default/batctl' >> $batman_script
|
|
1757
|
+ echo 'fi' >> $batman_script
|
|
1758
|
+ echo '' >> $batman_script
|
|
1759
|
+ echo 'first_wifi_interface() {' >> $batman_script
|
|
1760
|
+ echo ' IFACE=$(ls -d /sys/class/net/*/wireless 2>/dev/null | sort | head -1|cut -d/ -f5)' >> $batman_script
|
|
1761
|
+ echo ' if [ -z "$IFACE" ] ;then' >> $batman_script
|
|
1762
|
+ echo ' IFACE=$(iwconfig 2>/dev/null | sort | awk "/IEEE 802/ {print $1; exit}")' >> $batman_script
|
|
1763
|
+ echo ' fi' >> $batman_script
|
|
1764
|
+ echo ' echo $IFACE' >> $batman_script
|
|
1765
|
+ echo '}' >> $batman_script
|
|
1766
|
+ echo '' >> $batman_script
|
|
1767
|
+ echo 'start() {' >> $batman_script
|
|
1768
|
+ echo ' if [ -z "$IFACE" ] ; then' >> $batman_script
|
|
1769
|
+ echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
|
|
1770
|
+ echo ' return' >> $batman_script
|
|
1771
|
+ echo ' fi' >> $batman_script
|
|
1772
|
+ echo ' echo "info: enabling batman-adv mesh network $ESSID on $IFACE"' >> $batman_script
|
|
1773
|
+ echo ' systemctl stop networking' >> $batman_script
|
|
1774
|
+ echo ' sleep 5' >> $batman_script
|
|
1775
|
+ echo '' >> $batman_script
|
|
1776
|
+ echo ' # Might have to re-enable wifi' >> $batman_script
|
|
1777
|
+ echo ' rfkill unblock $(rfkill list|awk -F: "/phy/ {print $1}") || true' >> $batman_script
|
|
1778
|
+ echo '' >> $batman_script
|
|
1779
|
+ echo ' ifconfig $IFACE down' >> $batman_script
|
|
1780
|
+ echo ' ifconfig $IFACE mtu 1528' >> $batman_script
|
|
1781
|
+ echo ' iwconfig $IFACE enc off' >> $batman_script
|
|
1782
|
+ echo ' iwconfig $IFACE mode ad-hoc essid $ESSID channel $CHANNEL' >> $batman_script
|
|
1783
|
+ echo ' sleep 1' >> $batman_script
|
|
1784
|
+ echo ' iwconfig $IFACE ap $CELLID' >> $batman_script
|
|
1785
|
+ echo '' >> $batman_script
|
|
1786
|
+ echo ' modprobe batman-adv' >> $batman_script
|
|
1787
|
+ echo ' batctl if add $IFACE' >> $batman_script
|
|
1788
|
+ echo ' ifconfig $IFACE up' >> $batman_script
|
|
1789
|
+ echo ' ifconfig bat0 up promisc' >> $batman_script
|
|
1790
|
+ echo '' >> $batman_script
|
|
1791
|
+ echo ' #Use persistent HWAddr' >> $batman_script
|
|
1792
|
+ echo ' ether_new=$(ifconfig eth0 | grep HWaddr | sed -e "s/.*HWaddr //")' >> $batman_script
|
|
1793
|
+ echo ' if [ ! -f /var/lib/mesh-node/bat0 ]' >> $batman_script
|
|
1794
|
+ echo ' then' >> $batman_script
|
|
1795
|
+ echo ' mkdir /var/lib/mesh-node' >> $batman_script
|
|
1796
|
+ echo ' echo "${ether_new}" > /var/lib/mesh-node/bat0' >> $batman_script
|
|
1797
|
+ echo ' else' >> $batman_script
|
|
1798
|
+ echo ' ether=$(cat /var/lib/mesh-node/bat0)' >> $batman_script
|
|
1799
|
+ echo ' ifconfig bat0 hw ether ${ether}' >> $batman_script
|
|
1800
|
+ echo ' fi' >> $batman_script
|
|
1801
|
+ echo '' >> $batman_script
|
|
1802
|
+ echo ' if [ "$EIFACE" ] ; then' >> $batman_script
|
|
1803
|
+ echo ' ifconfig $EIFACE up promisc' >> $batman_script
|
|
1804
|
+ echo ' brctl addbr $BRIDGE' >> $batman_script
|
|
1805
|
+ echo ' brctl addif $BRIDGE bat0' >> $batman_script
|
|
1806
|
+ echo ' brctl addif $BRIDGE $EIFACE' >> $batman_script
|
|
1807
|
+ echo ' ifconfig $BRIDGE up' >> $batman_script
|
|
1808
|
+ echo ' fi' >> $batman_script
|
|
1809
|
+ echo '}' >> $batman_script
|
|
1810
|
+ echo '' >> $batman_script
|
|
1811
|
+ echo 'stop() {' >> $batman_script
|
|
1812
|
+ echo ' if [ -z "$IFACE" ] ; then' >> $batman_script
|
|
1813
|
+ echo ' echo "error: unable to find wifi interface, not enabling batman-adv mesh"' >> $batman_script
|
|
1814
|
+ echo ' return' >> $batman_script
|
|
1815
|
+ echo ' fi' >> $batman_script
|
|
1816
|
+ echo ' if [ "$EIFACE" ] ; then' >> $batman_script
|
|
1817
|
+ echo ' brctl delif $BRIDGE bat0' >> $batman_script
|
|
1818
|
+ echo ' brctl delif $BRIDGE $EIFACE' >> $batman_script
|
|
1819
|
+ echo ' ifconfig $BRIDGE down || true' >> $batman_script
|
|
1820
|
+ echo ' brctl delbr $BRIDGE' >> $batman_script
|
|
1821
|
+ echo ' ifconfig $EIFACE down -promisc' >> $batman_script
|
|
1822
|
+ echo ' fi' >> $batman_script
|
|
1823
|
+ echo '' >> $batman_script
|
|
1824
|
+ echo ' ifconfig bat0 down -promisc' >> $batman_script
|
|
1825
|
+ echo '' >> $batman_script
|
|
1826
|
+ echo ' batctl if del $IFACE' >> $batman_script
|
|
1827
|
+ echo ' rmmod batman-adv' >> $batman_script
|
|
1828
|
+ echo ' ifconfig $IFACE mtu 1500' >> $batman_script
|
|
1829
|
+ echo ' ifconfig $IFACE down' >> $batman_script
|
|
1830
|
+ echo ' iwconfig $IFACE mode managed' >> $batman_script
|
|
1831
|
+ echo '' >> $batman_script
|
|
1832
|
+ echo ' systemctl restart networking' >> $batman_script
|
|
1833
|
+ echo '}' >> $batman_script
|
|
1834
|
+ echo '' >> $batman_script
|
|
1835
|
+ echo 'IFACE=$(first_wifi_interface)' >> $batman_script
|
|
1836
|
+ echo '' >> $batman_script
|
|
1837
|
+ echo 'case "$1" in' >> $batman_script
|
|
1838
|
+ echo ' start|stop)' >> $batman_script
|
|
1839
|
+ echo ' $1' >> $batman_script
|
|
1840
|
+ echo ' ;;' >> $batman_script
|
|
1841
|
+ echo ' *)' >> $batman_script
|
|
1842
|
+ echo ' echo "error: invalid parameter $1"' >> $batman_script
|
|
1843
|
+ echo ' echo "usage: $0 {start|stop}"' >> $batman_script
|
|
1844
|
+ echo ' exit 1' >> $batman_script
|
|
1845
|
+ echo ' ;;' >> $batman_script
|
|
1846
|
+ echo 'esac' >> $batman_script
|
|
1847
|
+ echo 'exit 0' >> $batman_script
|
|
1848
|
+
|
|
1849
|
+ echo '[Unit]' > /etc/systemd/system/batman.service
|
|
1850
|
+ echo 'Description=B.A.T.M.A.N. Advanced' >> /etc/systemd/system/batman.service
|
|
1851
|
+ echo '' >> /etc/systemd/system/batman.service
|
|
1852
|
+ echo '[Service]' >> /etc/systemd/system/batman.service
|
|
1853
|
+ echo 'Type=oneshot' >> /etc/systemd/system/batman.service
|
|
1854
|
+ echo "ExecStart=$batman_script start" >> /etc/systemd/system/batman.service
|
|
1855
|
+ echo "ExecStop=$batman_script stop" >> /etc/systemd/system/batman.service
|
|
1856
|
+ echo 'RemainAfterExit=yes' >> /etc/systemd/system/batman.service
|
|
1857
|
+ echo '' >> /etc/systemd/system/batman.service
|
|
1858
|
+ echo '[Install]' >> /etc/systemd/system/batman.service
|
|
1859
|
+ echo 'WantedBy=multi-user.target' >> /etc/systemd/system/batman.service
|
|
1860
|
+ systemctl enable batman
|
|
1861
|
+ systemctl daemon-reload
|
1903
|
1862
|
|
1904
|
1863
|
if ! grep -q "Mesh Networking (B.A.T.M.A.N)" /home/$MY_USERNAME/README; then
|
1905
|
1864
|
echo '' >> /home/$MY_USERNAME/README
|
1906
|
1865
|
echo '' >> /home/$MY_USERNAME/README
|
1907
|
1866
|
echo 'Mesh Networking (B.A.T.M.A.N)' >> /home/$MY_USERNAME/README
|
1908
|
1867
|
echo '=============================' >> /home/$MY_USERNAME/README
|
1909
|
|
- echo 'Mesh ESSID: mesh' >> /home/$MY_USERNAME/README
|
1910
|
|
- echo "Mesh internet bridge IP address: $BATMAN_IPV6" >> /home/$MY_USERNAME/README
|
|
1868
|
+ echo "Mesh ESSID: $ESSID" >> /home/$MY_USERNAME/README
|
|
1869
|
+ echo "Mesh cell ID: $BATMAN_CELLID" >> /home/$MY_USERNAME/README
|
|
1870
|
+ echo "Mesh wifi channel: $WIFI_CHANNEL" >> /home/$MY_USERNAME/README
|
1911
|
1871
|
chown $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/README
|
1912
|
1872
|
chmod 600 /home/$MY_USERNAME/README
|
1913
|
1873
|
fi
|