|  | @@ -229,13 +229,15 @@ function start {
 | 
	
		
			
			| 229 | 229 |  
 | 
	
		
			
			| 230 | 230 |      ifconfig $IFACE down
 | 
	
		
			
			| 231 | 231 |      ifconfig $IFACE mtu 1532
 | 
	
		
			
			| 232 |  | -    peeraddr=$(assign_peer_address)
 | 
	
		
			
			| 233 |  | -    ifconfig $IFACE hw ether $peeraddr
 | 
	
		
			
			| 234 |  | -    echo $"$IFACE assigned MAC address $peeraddr"
 | 
	
		
			
			|  | 232 | +    peermac=$(assign_peer_address)
 | 
	
		
			
			|  | 233 | +    if [ ! $peermac ]; then
 | 
	
		
			
			|  | 234 | +        echo $"Unable to obtain MAC address for $peermac"
 | 
	
		
			
			|  | 235 | +        return
 | 
	
		
			
			|  | 236 | +    fi
 | 
	
		
			
			|  | 237 | +    ifconfig $IFACE hw ether $peermac
 | 
	
		
			
			|  | 238 | +    echo $"$IFACE assigned MAC address $peermac"
 | 
	
		
			
			| 235 | 239 |      iwconfig $IFACE enc off
 | 
	
		
			
			| 236 | 240 |      iwconfig $IFACE mode ad-hoc essid $WIFI_SSID channel $CHANNEL
 | 
	
		
			
			| 237 |  | -    sleep 1
 | 
	
		
			
			| 238 |  | -    iwconfig $IFACE ap $CELLID
 | 
	
		
			
			| 239 | 241 |  
 | 
	
		
			
			| 240 | 242 |      modprobe batman-adv
 | 
	
		
			
			| 241 | 243 |      batctl if add $IFACE
 | 
	
	
		
			
			|  | @@ -264,42 +266,45 @@ function start {
 | 
	
		
			
			| 264 | 266 |                  HOTSPOT_NAME=$"${WIFI_SSID}-hotspot"
 | 
	
		
			
			| 265 | 267 |                  ifconfig $IFACE_SECONDARY down
 | 
	
		
			
			| 266 | 268 |                  ifconfig $IFACE_SECONDARY mtu 1500
 | 
	
		
			
			| 267 |  | -                peeraddr=$(assign_peer_address)
 | 
	
		
			
			| 268 |  | -                ifconfig $IFACE_SECONDARY hw ether $peeraddr
 | 
	
		
			
			| 269 |  | -                echo $"Secondary wifi adaptor $IFACE_SECONDARY assigned to MAC address $peeraddr"
 | 
	
		
			
			| 270 |  | -                iwconfig $IFACE_SECONDARY enc open
 | 
	
		
			
			| 271 |  | -                iwconfig $IFACE_SECONDARY mode managed essid $HOTSPOT_NAME channel ${HOTSPOT_CHANNEL}
 | 
	
		
			
			| 272 |  | -                iwconfig $IFACE_SECONDARY ap $CELLID
 | 
	
		
			
			| 273 |  | -
 | 
	
		
			
			| 274 |  | -                brctl addbr $BRIDGE_HOTSPOT
 | 
	
		
			
			| 275 |  | -                brctl addif $BRIDGE_HOTSPOT bat0
 | 
	
		
			
			| 276 |  | -                brctl addif $BRIDGE_HOTSPOT $IFACE_SECONDARY
 | 
	
		
			
			| 277 |  | -                ifconfig bat0 0.0.0.0
 | 
	
		
			
			| 278 |  | -                ifconfig $IFACE_SECONDARY 0.0.0.0
 | 
	
		
			
			| 279 |  | -
 | 
	
		
			
			| 280 |  | -                sed -i 's|#DAEMON_CONF=.*|DAEMON_CONF="/etc/hostapd/hostapd.conf"|g' /etc/default/hostapd
 | 
	
		
			
			| 281 |  | -
 | 
	
		
			
			| 282 |  | -                echo "interface=${IFACE_SECONDARY}" > /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 283 |  | -                echo "bridge=${BRIDGE_HOTSPOT}" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 284 |  | -                echo 'driver=nl80211' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 285 |  | -                echo "country_code=UK" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 286 |  | -                echo "ssid=$HOTSPOT_NAME" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 287 |  | -                echo 'hw_mode=g' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 288 |  | -                echo "channel=${HOTSPOT_CHANNEL}" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 289 |  | -                echo 'wpa=2' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 290 |  | -                echo "wpa_passphrase=$HOTSPOT_PASSPHRASE" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 291 |  | -                echo 'wpa_key_mgmt=WPA-PSK' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 292 |  | -                echo 'wpa_pairwise=TKIP' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 293 |  | -                echo 'rsn_pairwise=CCMP' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 294 |  | -                echo 'auth_algs=1' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 295 |  | -                echo 'macaddr_acl=0' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			| 296 |  | -
 | 
	
		
			
			| 297 |  | -                ifconfig $BRIDGE_HOTSPOT up
 | 
	
		
			
			| 298 |  | -                avahi-autoipd --force-bind --daemonize --wait $BRIDGE_HOTSPOT
 | 
	
		
			
			| 299 |  | -                ifconfig $IFACE_SECONDARY up promisc
 | 
	
		
			
			| 300 |  | -                #ifconfig $IFACE_SECONDARY auto-dhcp start
 | 
	
		
			
			| 301 |  | -                systemctl start hostapd
 | 
	
		
			
			| 302 |  | -                hotspot_enabled=1
 | 
	
		
			
			|  | 269 | +                CELLID=$(assign_peer_address)
 | 
	
		
			
			|  | 270 | +                if [ $CELLID ]; then
 | 
	
		
			
			|  | 271 | +                    ifconfig $IFACE_SECONDARY hw ether $CELLID
 | 
	
		
			
			|  | 272 | +                    echo $"Secondary wifi adaptor $IFACE_SECONDARY assigned to MAC address $CELLID"
 | 
	
		
			
			|  | 273 | +                    iwconfig $IFACE_SECONDARY enc open
 | 
	
		
			
			|  | 274 | +                    iwconfig $IFACE_SECONDARY mode managed essid $HOTSPOT_NAME channel ${HOTSPOT_CHANNEL}
 | 
	
		
			
			|  | 275 | +                    iwconfig $IFACE_SECONDARY ap $CELLID
 | 
	
		
			
			|  | 276 | +                    iwconfig $IFACE ap $CELLID
 | 
	
		
			
			|  | 277 | +
 | 
	
		
			
			|  | 278 | +                    brctl addbr $BRIDGE_HOTSPOT
 | 
	
		
			
			|  | 279 | +                    brctl addif $BRIDGE_HOTSPOT bat0
 | 
	
		
			
			|  | 280 | +                    brctl addif $BRIDGE_HOTSPOT $IFACE_SECONDARY
 | 
	
		
			
			|  | 281 | +                    ifconfig bat0 0.0.0.0
 | 
	
		
			
			|  | 282 | +                    ifconfig $IFACE_SECONDARY 0.0.0.0
 | 
	
		
			
			|  | 283 | +
 | 
	
		
			
			|  | 284 | +                    sed -i 's|#DAEMON_CONF=.*|DAEMON_CONF="/etc/hostapd/hostapd.conf"|g' /etc/default/hostapd
 | 
	
		
			
			|  | 285 | +
 | 
	
		
			
			|  | 286 | +                    echo "interface=${IFACE_SECONDARY}" > /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 287 | +                    echo "bridge=${BRIDGE_HOTSPOT}" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 288 | +                    echo 'driver=nl80211' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 289 | +                    echo "country_code=UK" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 290 | +                    echo "ssid=$HOTSPOT_NAME" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 291 | +                    echo 'hw_mode=g' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 292 | +                    echo "channel=${HOTSPOT_CHANNEL}" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 293 | +                    echo 'wpa=2' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 294 | +                    echo "wpa_passphrase=$HOTSPOT_PASSPHRASE" >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 295 | +                    echo 'wpa_key_mgmt=WPA-PSK' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 296 | +                    echo 'wpa_pairwise=TKIP' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 297 | +                    echo 'rsn_pairwise=CCMP' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 298 | +                    echo 'auth_algs=1' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 299 | +                    echo 'macaddr_acl=0' >> /etc/hostapd/hostapd.conf
 | 
	
		
			
			|  | 300 | +
 | 
	
		
			
			|  | 301 | +                    ifconfig $BRIDGE_HOTSPOT up
 | 
	
		
			
			|  | 302 | +                    avahi-autoipd --force-bind --daemonize --wait $BRIDGE_HOTSPOT
 | 
	
		
			
			|  | 303 | +                    ifconfig $IFACE_SECONDARY up promisc
 | 
	
		
			
			|  | 304 | +                    #ifconfig $IFACE_SECONDARY auto-dhcp start
 | 
	
		
			
			|  | 305 | +                    systemctl start hostapd
 | 
	
		
			
			|  | 306 | +                    hotspot_enabled=1
 | 
	
		
			
			|  | 307 | +                fi
 | 
	
		
			
			| 303 | 308 |              fi
 | 
	
		
			
			| 304 | 309 |          fi
 | 
	
		
			
			| 305 | 310 |      fi
 |