|
@@ -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
|