Wi-Fi에 연결하고 실패할 경우 임시 네트워크로 대체하는 스크립트를 만듭니다.

Wi-Fi에 연결하고 실패할 경우 임시 네트워크로 대체하는 스크립트를 만듭니다.

wpa_supplicant conf에 지정된 Wi-Fi에 연결을 시도하고 실패할 경우 임시 네트워크를 만드는 스크립트를 만들고 싶습니다. 하지만 나는 이것으로 어려움을 겪고 있습니다.

이것이 내가 지금 하는 일이다:

#!/bin/bash

# create adhoc network function
createAdHocNetwork(){
    echo "Creating ad-hoc network"
    ifconfig wlan0 down
    iwconfig wlan0 mode ad-hoc
    iwconfig wlan0 essid AccessPoint
    ifconfig wlan0 11.0.0.1 netmask 255.255.255.0 up
    echo "Ad-hoc network created"
}

# connect to wifi function
connect(){
    echo "Trying to connect to configured wifi"
    ifdown wlan0
    wpa_supplicant -B -i wlan0 -c /home/pi/pics/wpa_supplicant.conf
    ifup wlan0
    echo "Wifi configured"
}

echo "================================="
echo "Wifi setup"
echo "================================="
connect
echo "Checking connectivity..."
sleep 5s
ping -c 5 -I wlan0 google.com > /dev/null 2>&1
PINGSTATUS=$?
echo "Status"
echo $PINGSTATUS
if [ $PINGSTATUS -eq 0 ];
    then
        echo "Connected to WiFi"
    else
        echo "Wifi not connected, fallback to ad-hoc"
        createAdHocNetwork
fi

exit 0

구성된 Wi-Fi에 연결할 수 있지만 Ad-hoc에는 연결할 수 없는 것 같습니다.

이 내 꺼야 /etc/network/interfaces:

# start interfaces upon start of the system
auto lo wlan0

# register loopback interface
iface lo inet loopback

# use dhcp and allow interface to be started when kernel detects a hotplug event
allow-hotplug eth0
iface eth0 inet dhcp

# use manual ip configuration for wlan0 interface and allow hotplug as well
allow-hotplug wlan0
iface wlan0 inet dhcp

그리고 내 /etc/dhcp/dhcpd.conf:

ddns-update-style interim;
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 11.0.0.0 netmask 255.255.255.0 {
  range 11.0.0.2 11.0.0.150;
}

다른 컴퓨터에서 Ad Hoc 네트워크를 볼 수는 있지만 연결할 수는 없습니다. 알겠습니까?

인사

관련 정보