1#!/bin/bash 2# ------------------------------ 3 4# Clean up first. 5./unload_ap.sh 6./unload.sh 7./clean_log.sh 8 9# Load driver for AP mode. 10./ap.sh 11 12sleep 2 13 14# Check interface 15if [[ _$1 = _wlan* ]]; then 16 SSV_WLAN=$1 17else 18 SSV_WLAN=`./find_ssv_wlan` 19 20 if [[ _$SSV_WLAN != _wlan* ]]; then 21 echo "No SSV WLAN device found." 22 exit 1; 23 fi 24fi 25echo SSV device for AP mode is $SSV_WLAN 26 27# Stop network manager from handling WiFi 28nmcli nm wifi off 29sudo rfkill unblock wlan 30 31# Configure 32ifconfig $SSV_WLAN 192.168.33.1 netmask 255.255.255.0 33cp dhcpd.conf /tmp/dhcpd_$SSV_WLAN.conf 34dhcpd -cf /tmp/dhcpd_$SSV_WLAN.conf -pf /var/run/dhcp-server/dhcpd.pid $SSV_WLAN 35bash -c "echo 1 >/proc/sys/net/ipv4/ip_forward" 36iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE 37ap_name=`./get_mac $SSV_WLAN | cut -d ':' -f 3,4,5 | sed -e s/://g` 38ap_name=AP_$ap_name 39cat hostapd.conf.AES.template | sed -s s/HOSTAPD_IF/$SSV_WLAN/g | sed -s s/TestAP/$ap_name/g > hostapd.conf 40 41trap handle_stop INT 42 43function handle_stop() { 44 nmcli nm wifi on 45 46 ./unload_ap.sh 47 ./unload.sh 48 49 echo AP mode stopped 50} 51 52/usr/sbin/hostapd hostapd.conf 53