| 
				
			 | 
			
			
				@@ -74,15 +74,17 @@ function stop { 
			 | 
		
	
		
			
			| 
				74
			 | 
			
				74
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				75
			 | 
			
				75
			 | 
			
			
				     # shellcheck disable=SC2153 
			 | 
		
	
		
			
			| 
				76
			 | 
			
				76
			 | 
			
			
				     if [ "$EIFACE" ]; then 
			 | 
		
	
		
			
			| 
				77
			 | 
			
				
			 | 
			
			
				-        brctl delif "$BRIDGE" bat0 
			 | 
		
	
		
			
			| 
				78
			 | 
			
				
			 | 
			
			
				-        ifconfig "$BRIDGE" down || true 
			 | 
		
	
		
			
			| 
				79
			 | 
			
				
			 | 
			
			
				-        ethernet_connected=$(cat "/sys/class/net/$EIFACE/carrier") 
			 | 
		
	
		
			
			| 
				80
			 | 
			
				
			 | 
			
			
				-        if [[ "$ethernet_connected" != "0" ]]; then 
			 | 
		
	
		
			
			| 
				81
			 | 
			
				
			 | 
			
			
				-            systemctl stop hostapd 
			 | 
		
	
		
			
			| 
				82
			 | 
			
				
			 | 
			
			
				-            brctl delif "$BRIDGE" "$EIFACE" 
			 | 
		
	
		
			
			| 
				83
			 | 
			
				
			 | 
			
			
				-            ifconfig "$EIFACE" down -promisc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				77
			 | 
			
			
				+        if [[ "$EIFACE" != "$IFACE" ]] ; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				78
			 | 
			
			
				+            brctl delif "$BRIDGE" bat0 
			 | 
		
	
		
			
			| 
				
			 | 
			
				79
			 | 
			
			
				+            ifconfig "$BRIDGE" down || true 
			 | 
		
	
		
			
			| 
				
			 | 
			
				80
			 | 
			
			
				+            ethernet_connected=$(cat "/sys/class/net/$EIFACE/carrier") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				81
			 | 
			
			
				+            if [[ "$ethernet_connected" != "0" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				82
			 | 
			
			
				+                systemctl stop hostapd 
			 | 
		
	
		
			
			| 
				
			 | 
			
				83
			 | 
			
			
				+                brctl delif "$BRIDGE" "$EIFACE" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				84
			 | 
			
			
				+                ifconfig "$EIFACE" down -promisc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				85
			 | 
			
			
				+            fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				86
			 | 
			
			
				+            brctl delbr "$BRIDGE" 
			 | 
		
	
		
			
			| 
				84
			 | 
			
				87
			 | 
			
			
				         fi 
			 | 
		
	
		
			
			| 
				85
			 | 
			
				
			 | 
			
			
				-        brctl delbr "$BRIDGE" 
			 | 
		
	
		
			
			| 
				86
			 | 
			
				88
			 | 
			
			
				     fi 
			 | 
		
	
		
			
			| 
				87
			 | 
			
				89
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				88
			 | 
			
				90
			 | 
			
			
				     ifconfig bat0 down -promisc 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -90,7 +92,9 @@ function stop { 
			 | 
		
	
		
			
			| 
				90
			 | 
			
				92
			 | 
			
			
				     batctl if del "$IFACE" 
			 | 
		
	
		
			
			| 
				91
			 | 
			
				93
			 | 
			
			
				     ifconfig "$IFACE" mtu 1500 
			 | 
		
	
		
			
			| 
				92
			 | 
			
				94
			 | 
			
			
				     ifconfig "$IFACE" down 
			 | 
		
	
		
			
			| 
				93
			 | 
			
				
			 | 
			
			
				-    iwconfig "$IFACE" mode managed 
			 | 
		
	
		
			
			| 
				
			 | 
			
				95
			 | 
			
			
				+    if [[ "$MESH_INTERFACE_TYPE" == 'wlan'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				96
			 | 
			
			
				+        iwconfig "$IFACE" mode managed 
			 | 
		
	
		
			
			| 
				
			 | 
			
				97
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				94
			 | 
			
				98
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				95
			 | 
			
				99
			 | 
			
			
				     if [ "$IFACE_SECONDARY" ]; then 
			 | 
		
	
		
			
			| 
				96
			 | 
			
				100
			 | 
			
			
				         systemctl stop hostapd 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -98,7 +102,9 @@ function stop { 
			 | 
		
	
		
			
			| 
				98
			 | 
			
				102
			 | 
			
			
				         batctl if del "$IFACE_SECONDARY" 
			 | 
		
	
		
			
			| 
				99
			 | 
			
				103
			 | 
			
			
				         ifconfig "$IFACE_SECONDARY" mtu 1500 
			 | 
		
	
		
			
			| 
				100
			 | 
			
				104
			 | 
			
			
				         ifconfig "$IFACE_SECONDARY" down 
			 | 
		
	
		
			
			| 
				101
			 | 
			
				
			 | 
			
			
				-        iwconfig "$IFACE_SECONDARY" mode managed 
			 | 
		
	
		
			
			| 
				
			 | 
			
				105
			 | 
			
			
				+        if [[ "$MESH_INTERFACE_TYPE" == 'wlan'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				106
			 | 
			
			
				+            iwconfig "$IFACE_SECONDARY" mode managed 
			 | 
		
	
		
			
			| 
				
			 | 
			
				107
			 | 
			
			
				+        fi 
			 | 
		
	
		
			
			| 
				102
			 | 
			
				108
			 | 
			
			
				     fi 
			 | 
		
	
		
			
			| 
				103
			 | 
			
				109
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				104
			 | 
			
				110
			 | 
			
			
				     rmmod batman-adv 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -149,8 +155,10 @@ function add_wifi_interface { 
			 | 
		
	
		
			
			| 
				149
			 | 
			
				155
			 | 
			
			
				     fi 
			 | 
		
	
		
			
			| 
				150
			 | 
			
				156
			 | 
			
			
				     ifconfig "$ifname" hw ether "$peermac" 
			 | 
		
	
		
			
			| 
				151
			 | 
			
				157
			 | 
			
			
				     echo $"$ifname assigned MAC address $peermac" 
			 | 
		
	
		
			
			| 
				152
			 | 
			
				
			 | 
			
			
				-    iwconfig "$ifname" enc off 
			 | 
		
	
		
			
			| 
				153
			 | 
			
				
			 | 
			
			
				-    iwconfig "$ifname" mode "$ifmode" essid "$ifssid" channel "$ifchannel" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				158
			 | 
			
			
				+    if [[ "$MESH_INTERFACE_TYPE" == 'wlan'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				159
			 | 
			
			
				+        iwconfig "$ifname" enc off 
			 | 
		
	
		
			
			| 
				
			 | 
			
				160
			 | 
			
			
				+        iwconfig "$ifname" mode "$ifmode" essid "$ifssid" channel "$ifchannel" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				161
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				154
			 | 
			
				162
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				155
			 | 
			
				163
			 | 
			
			
				     batctl if add "$ifname" 
			 | 
		
	
		
			
			| 
				156
			 | 
			
				164
			 | 
			
			
				     ifconfig "$ifname" up 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -184,13 +192,15 @@ function start { 
			 | 
		
	
		
			
			| 
				184
			 | 
			
				192
			 | 
			
			
				     rfkill unblock "$(rfkill list|awk -F: "/phy/ {print $1}")" || true 
			 | 
		
	
		
			
			| 
				185
			 | 
			
				193
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				186
			 | 
			
				194
			 | 
			
			
				     secondary_wifi_available= 
			 | 
		
	
		
			
			| 
				187
			 | 
			
				
			 | 
			
			
				-    if [ "$IFACE_SECONDARY" ]; then 
			 | 
		
	
		
			
			| 
				188
			 | 
			
				
			 | 
			
			
				-        if [[ "$IFACE" != "$IFACE_SECONDARY" ]]; then 
			 | 
		
	
		
			
			| 
				189
			 | 
			
				
			 | 
			
			
				-            if [ -d /etc/hostapd ]; then 
			 | 
		
	
		
			
			| 
				190
			 | 
			
				
			 | 
			
			
				-                if [ ${#HOTSPOT_PASSPHRASE} -gt 4 ]; then 
			 | 
		
	
		
			
			| 
				191
			 | 
			
				
			 | 
			
			
				-                    secondary_wifi_available=1 
			 | 
		
	
		
			
			| 
				192
			 | 
			
				
			 | 
			
			
				-                else 
			 | 
		
	
		
			
			| 
				193
			 | 
			
				
			 | 
			
			
				-                    echo $'Hotspot passphrase is too short' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				195
			 | 
			
			
				+    if [[ "$MESH_INTERFACE_TYPE" == 'wlan'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				196
			 | 
			
			
				+        if [ "$IFACE_SECONDARY" ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				197
			 | 
			
			
				+            if [[ "$IFACE" != "$IFACE_SECONDARY" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				198
			 | 
			
			
				+                if [ -d /etc/hostapd ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				199
			 | 
			
			
				+                    if [ ${#HOTSPOT_PASSPHRASE} -gt 4 ]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				200
			 | 
			
			
				+                        secondary_wifi_available=1 
			 | 
		
	
		
			
			| 
				
			 | 
			
				201
			 | 
			
			
				+                    else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				202
			 | 
			
			
				+                        echo $'Hotspot passphrase is too short' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				203
			 | 
			
			
				+                    fi 
			 | 
		
	
		
			
			| 
				194
			 | 
			
				204
			 | 
			
			
				                 fi 
			 | 
		
	
		
			
			| 
				195
			 | 
			
				205
			 | 
			
			
				             fi 
			 | 
		
	
		
			
			| 
				196
			 | 
			
				206
			 | 
			
			
				         fi 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -219,21 +229,23 @@ function start { 
			 | 
		
	
		
			
			| 
				219
			 | 
			
				229
			 | 
			
			
				     ifconfig bat0 0.0.0.0 
			 | 
		
	
		
			
			| 
				220
			 | 
			
				230
			 | 
			
			
				     ethernet_connected='0' 
			 | 
		
	
		
			
			| 
				221
			 | 
			
				231
			 | 
			
			
				     if [ "$EIFACE" ] ; then 
			 | 
		
	
		
			
			| 
				222
			 | 
			
				
			 | 
			
			
				-        ethernet_connected=$(cat "/sys/class/net/$EIFACE/carrier") 
			 | 
		
	
		
			
			| 
				223
			 | 
			
				
			 | 
			
			
				-        if [[ "$ethernet_connected" != "0" ]]; then 
			 | 
		
	
		
			
			| 
				224
			 | 
			
				
			 | 
			
			
				-            echo $'Trying ethernet bridge to the internet' 
			 | 
		
	
		
			
			| 
				225
			 | 
			
				
			 | 
			
			
				-            brctl addif "$BRIDGE" "$EIFACE" 
			 | 
		
	
		
			
			| 
				226
			 | 
			
				
			 | 
			
			
				-            ifconfig "$EIFACE" 0.0.0.0 
			 | 
		
	
		
			
			| 
				227
			 | 
			
				
			 | 
			
			
				-            ifconfig "$EIFACE" up promisc 
			 | 
		
	
		
			
			| 
				228
			 | 
			
				
			 | 
			
			
				-            echo $'End of internet bridge' 
			 | 
		
	
		
			
			| 
				229
			 | 
			
				
			 | 
			
			
				- 
			 | 
		
	
		
			
			| 
				230
			 | 
			
				
			 | 
			
			
				-            sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx6.service 
			 | 
		
	
		
			
			| 
				231
			 | 
			
				
			 | 
			
			
				-            sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx7.service 
			 | 
		
	
		
			
			| 
				232
			 | 
			
				
			 | 
			
			
				-            sed -i "s|ExecStart=.*|ExecStart=/usr/local/sbin/olsrd2_static ${IFACE} ${EIFACE}|g" /etc/systemd/system/olsr2.service 
			 | 
		
	
		
			
			| 
				233
			 | 
			
				
			 | 
			
			
				-            sed -i "s|ExecStart=.*|ExecStart=/usr/local/bin/babeld ${IFACE} ${EIFACE}|g" /etc/systemd/system/babel.service 
			 | 
		
	
		
			
			| 
				234
			 | 
			
				
			 | 
			
			
				-            systemctl daemon-reload 
			 | 
		
	
		
			
			| 
				235
			 | 
			
				
			 | 
			
			
				-        else 
			 | 
		
	
		
			
			| 
				236
			 | 
			
				
			 | 
			
			
				-            echo $"$EIFACE is not connected" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				232
			 | 
			
			
				+        if [[ "$EIFACE" != "$IFACE" ]] ; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				233
			 | 
			
			
				+            ethernet_connected=$(cat "/sys/class/net/$EIFACE/carrier") 
			 | 
		
	
		
			
			| 
				
			 | 
			
				234
			 | 
			
			
				+            if [[ "$ethernet_connected" != "0" ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				235
			 | 
			
			
				+                echo $'Trying ethernet bridge to the internet' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				236
			 | 
			
			
				+                brctl addif "$BRIDGE" "$EIFACE" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				237
			 | 
			
			
				+                ifconfig "$EIFACE" 0.0.0.0 
			 | 
		
	
		
			
			| 
				
			 | 
			
				238
			 | 
			
			
				+                ifconfig "$EIFACE" up promisc 
			 | 
		
	
		
			
			| 
				
			 | 
			
				239
			 | 
			
			
				+                echo $'End of internet bridge' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				240
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				241
			 | 
			
			
				+                sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx6 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx6.service 
			 | 
		
	
		
			
			| 
				
			 | 
			
				242
			 | 
			
			
				+                sed -i "s|ExecStart=.*|ExecStart=/usr/sbin/bmx7 dev=${IFACE} dev=${EIFACE}|g" /etc/systemd/system/bmx7.service 
			 | 
		
	
		
			
			| 
				
			 | 
			
				243
			 | 
			
			
				+                sed -i "s|ExecStart=.*|ExecStart=/usr/local/sbin/olsrd2_static ${IFACE} ${EIFACE}|g" /etc/systemd/system/olsr2.service 
			 | 
		
	
		
			
			| 
				
			 | 
			
				244
			 | 
			
			
				+                sed -i "s|ExecStart=.*|ExecStart=/usr/local/bin/babeld ${IFACE} ${EIFACE}|g" /etc/systemd/system/babel.service 
			 | 
		
	
		
			
			| 
				
			 | 
			
				245
			 | 
			
			
				+                systemctl daemon-reload 
			 | 
		
	
		
			
			| 
				
			 | 
			
				246
			 | 
			
			
				+            else 
			 | 
		
	
		
			
			| 
				
			 | 
			
				247
			 | 
			
			
				+                echo $"$EIFACE is not connected" 
			 | 
		
	
		
			
			| 
				
			 | 
			
				248
			 | 
			
			
				+            fi 
			 | 
		
	
		
			
			| 
				237
			 | 
			
				249
			 | 
			
			
				         fi 
			 | 
		
	
		
			
			| 
				238
			 | 
			
				250
			 | 
			
			
				     fi 
			 | 
		
	
		
			
			| 
				239
			 | 
			
				251
			 | 
			
			
				     ifconfig "$BRIDGE" up 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -292,6 +304,9 @@ function start { 
			 | 
		
	
		
			
			| 
				292
			 | 
			
				304
			 | 
			
			
				 } 
			 | 
		
	
		
			
			| 
				293
			 | 
			
				305
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				294
			 | 
			
				306
			 | 
			
			
				 function monitor { 
			 | 
		
	
		
			
			| 
				
			 | 
			
				307
			 | 
			
			
				+    if [[ "$MESH_INTERFACE_TYPE" != 'wlan'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				308
			 | 
			
			
				+        return 
			 | 
		
	
		
			
			| 
				
			 | 
			
				309
			 | 
			
			
				+    fi 
			 | 
		
	
		
			
			| 
				295
			 | 
			
				310
			 | 
			
			
				     if [ -z "$IFACE" ] ; then 
			 | 
		
	
		
			
			| 
				296
			 | 
			
				311
			 | 
			
			
				         echo 'error: unable to find wifi interface, not enabling batman-adv mesh' 
			 | 
		
	
		
			
			| 
				297
			 | 
			
				312
			 | 
			
			
				         exit 723657 
			 | 
		
	
	
		
			
			| 
				
			 | 
			
			
				@@ -360,6 +375,11 @@ if [ -f "$mesh_interface_type_file" ]; then 
			 | 
		
	
		
			
			| 
				360
			 | 
			
				375
			 | 
			
			
				 fi 
			 | 
		
	
		
			
			| 
				361
			 | 
			
				376
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				362
			 | 
			
				377
			 | 
			
			
				 mesh_protocol_init 
			 | 
		
	
		
			
			| 
				
			 | 
			
				378
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				
			 | 
			
				379
			 | 
			
			
				+if [[ "$MESH_INTERFACE_TYPE" == 'eth'* ]]; then 
			 | 
		
	
		
			
			| 
				
			 | 
			
				380
			 | 
			
			
				+    MESH_INTERFACE_TYPE='eth' 
			 | 
		
	
		
			
			| 
				
			 | 
			
				381
			 | 
			
			
				+fi 
			 | 
		
	
		
			
			| 
				
			 | 
			
				382
			 | 
			
			
				+ 
			 | 
		
	
		
			
			| 
				363
			 | 
			
				383
			 | 
			
			
				 update_wifi_adaptors "${MESH_INTERFACE_TYPE}" 
			 | 
		
	
		
			
			| 
				364
			 | 
			
				384
			 | 
			
			
				  
			 | 
		
	
		
			
			| 
				365
			 | 
			
				385
			 | 
			
			
				 if [ ! "$IFACE" ]; then 
			 |