Step 1: Нужно создать конфигурационный файл с настройками точки_доступа+клиента и просто точки доступа
cp /etc/config/wireless /etc/config/wireless.ap+sta
wireless.ap+sta должен содержать настройки клиента и точки доступа, например:
config wifi-device radio0
option type mac80211
option channel 11
option hwmode 11g
option path 'platform/ar933x_wmac'
option htmode HT20
# REMOVE THIS LINE TO ENABLE WIFI:
option disabled 1
config wifi-iface
option device 'radio0'
option network 'lan'
option mode 'ap'
option ssid 'OpenWRT'
option encryption 'psk2'
option key '00000000'
config wifi-iface
option network 'wwan'
option ssid 'Access Point'
option encryption 'psk2'
option device 'radio0'
option mode 'sta'
option bssid '00:00:00:00:00:00'
option key '00000000' cp /etc/config/wireless /etc/config/wireless.ap-only
wireless.ap-only должен содержать настройки только точки доступа
config wifi-device radio0
option type mac80211
option channel 11
option hwmode 11g
option path 'platform/ar933x_wmac'
option htmode HT20
# REMOVE THIS LINE TO ENABLE WIFI:
option disabled 1
config wifi-iface
option device radio0
option network lan
option mode ap
option ssid OpenWrt
option encryption noneОбязательно установить iwinfo
opkg iwinfo (установить iwinfo)
Step 2: Создать файл fix_sta_ap.sh
Поместить его в /usr/local/bin/
#!/bin/sh
#
# Fix loss of AP when STA (Client) mode fails by reverting to default
# AP only configuration. Default AP configuration is assumed to be in # /etc/config/wireless.ap-only
#
TIMEOUT=30
SLEEP=3
sta_err=0
while [ $(iwinfo wlan0-1 info | grep -c "ESSID: unknown") -ge 1 ]; do
let sta_err=$sta_err+1
if [ $((sta_err * SLEEP)) -ge $TIMEOUT ]; then
cp /etc/config/wireless.ap-only /etc/config/wireless
wifi up
# uncomment the following lines to try AP+STA after reboot
# sleep 3
# cp /etc/config/wireless.ap+sta /etc/config/wireless
break
fi
sleep $SLEEP
done
Должна быть сеть клиента (указать номер сети вместо wlan0-1):
iwinfo wlan0-1 info | grep -c "ESSID: unknown"
(Сеть клиента - то есть роутера к которому подключается наш mr3020)
Step 3: Дать права файлу fix_sta_ap.sh
mkdir -p /usr/local/bin/
chmod +x /usr/local/bin/fix_sta_ap.sh
Step 4: Добавить строчку об fix_sta_ap.sh в /etc/rc.local
vi /etc/rc.local (можно сделать при помощи vi или другого редактора)
# Put your custom commands here that should be executed once # the system init finished. By default this file does nothing. /bin/sh /usr/local/bin/fix_sta_ap.sh > /dev/null & exit 0
Всё. Теперь если роутер не увидит точку доступа в течение 30 секунд, то он загрузит конфиг точки доступа по умолчанию.
