DD-WRT автоматически подключается к точке доступа телефона, если она доступна

DD-WRT автоматически подключается к точке доступа телефона, если она доступна

Вот моя ситуация: Мой роутер,запуск dd-wrt настроен на подключение к точке доступа моего телефона.

В целом работает хорошо. Небольшая проблема в том, что телефонная (4G) точка доступа не всегда доступна. (Когда точка доступа недоступна, нет и другого wan-подключения).

Когда точка доступа телефона становится доступной (включается или попадает в зону действия), роутер не всегда подключается к ней автоматически. Иногда подключается, иногда приходится перезагружать.

Я не устанавливалСлужба контроля прокси-серверачтобы предотвратить зависание или перезагрузку интерфейса маршрутизатора, когда точка доступа недоступна. Есть ли способ улучшить автоматическое переподключение?


* TP-Link TL-WR841N
** Беспроводной физический интерфейс установлен в режим клиента

решение1

К сожалению, я не смог найти скрипт, который я настроил для своих Buffalo N-finity. Вероятно, я удалил их, когда обновлял и отдал роутеры другу.

Это скрипт, который я нашел на форумах DD-WRT для этой цели.
(Вам, вероятно, придется повозиться с этим скриптом для вашей модели маршрутизатора.)

Следует отметить несколько вещей:

  • Маршрутизатор должен иметь точное время, обязательно настройте его на вкладке основных настроек, в самом низу.Я использую pool.ntp.org) Возможно, вам придется сохранить изменения и перезагрузиться, чтобы они вступили в силу.
  • Системные журналы должны быть включены и функционировать под управлениемвкладка «службы» -> системный журнал -> syslogd включен
  • Этот скрипт проверяет папку /var/log/messages для определения времени и сообщений об ошибках. Подключитесь к маршрутизатору по telnet или ssh, проверьте журнал tail -25 /var/log/messagesи убедитесь, что там есть вывод от маршрутизатора. Если нет, может потребоваться перезагрузка.
  • Вам необходимо изменить беспроводной интерфейс в скрипте, чтобы он отражал имена интерфейсов вашего маршрутизатора. Большинство интерфейсов Broadcom будут "wl0" и большинство интерфейсов Atheros будут "ath0". вы можете найти имена на вкладке беспроводной сети в веб-интерфейсе или в терминале с помощьюifconfig.
  • Измените время ожидания, чтобы оно отражало количество времени, которое вам действительно нужно в вашей ситуации. Я думаю, что 2-3 минуты будет приемлемо в вашей ситуации.

Автор m1st0, 2011 при участииhttp://www.dd-wrt.com/wiki/index.php/Buffalo_WZR-HP-G300NH

#! /bin/sh

# Or just put it in the nvram startup
#nvram set rc_startup='{The Rest of this script}'

# set up variable to track waiting times
restarted_wifi=false
# Check interface every minute
logger "Starting to check wifi status"
while sleep 50; do
  restarted_wifi=false
  # Check for the most recent message of WiFi dropping out, unsure if it is the same as the other hang below
  test_time=`date  +"%b %e %H:%M" | cut -c1-11`
  test_message=`grep "$test_time" /var/log/messages`
  test_wifi_down=`echo $test_message | fgrep ff:ff:ff:ff:ff:ff`
  test_beacon_issue=`echo $test_message | fgrep "Resetting; Code: 01"`
  if [ -n $test_wifi_down ];
  # If found then restart the WiFi interface
  then   logger "Wifi hang, restarting";
   ifconfig ath0 down;
        sleep 4;
        ifconfig ath0 up;
        restarted_wifi=true
        test_wifi_down=""
  # Check for the most recent message of WiFi hang, unser if it is the same as the dropping above
  elif [ -n $test_beacon_issue ];
  # If found then restart the WiFi interface
  then
   logger "Wifi becon issue, restarting";
   ifconfig ath0 down;
        sleep 4;
        ifconfig ath0 up;
        restarted_wifi=true
        test_beacon_issue=""
  fi;
  # Wait a long while before we check again since we just restarted
  if [ $restarted_wifi == "true" ]; then
        logger "Will wait 542 seconds before checking wifi again";
        sleep 542;
        restarted_wifi=false;
        logger "Will start to check wifi every 50 seconds again";
  fi
done 

Судя по репутации, которую вы имеете на stack overflow, я думаю, у вас не возникнет проблем с манипулированием этим скриптом для ваших целей. Если у вас возникнут проблемы, просто отправьте мне сообщение.

Некоторые изэти сценариитакже может быть вам полезно.

Связанный контент