4

Поскольку стены моего дома толстые и сильно ослабляют беспроводные сигналы, у меня есть две точки доступа в разных частях моего дома, настроенные на один и тот же SSID с одинаковыми настройками. Оба работают хорошо в целом. Однако, аналогично тому, что наблюдал этот пользователь, я обнаружил, что перемещение моего ноутбука из одной комнаты в другую не заставляет его достаточно быстро переключать точки доступа; либо его повторное сканирование слишком редкое, либо слишком низкий порог качества сигнала, либо и то, и другое. Это приводит к раздражающе длительному периоду, когда сеть не будет отвечать.

Можно ли вообще контролировать это в Linux? (это то, что работает на моем ноутбуке - точнее, у меня есть CrunchBang, вариант Debian, если это имеет значение). Я хотел бы иметь возможность изменить пороговое значение сигнала и / или период повторного сканирования, если это возможно, чтобы сделать его более агрессивным при переключении.

3 ответа3

4

Сетевому менеджеру требуется время, чтобы решить, что соединение не возвращается, и только после этого он попытается восстановить соединение. Я считаю, что wicd более "отзывчивый", чем NetworkManager - я бы подумал перейти на это.

Вы также можете запустить фоновый скрипт, который опрашивает уровень сигнала и вызывает отключение, если сигнал выходит за пределы определенного уровня. После отключения ваш сетевой менеджер будет обычно подключаться к сети с более сильным сигналом.

Пример сценария с использованием iw(1) из пакета iw :

#!/bin/bash
IFACE="wlan0"
LIMIT="-75"
while true; do
        signal=$(iw $IFACE link | grep signal | awk '{print $2}')
        [ $signal ] && [ $signal -lt $LIMIT ] && iw $IFACE disconnect
        echo $signal
        sleep 1
done
0

Точки доступа хранят информацию о состоянии вашего устройства - вы не можете просто магически перемещаться от одного к другому, сопоставляя параметры. Крупные компании, такие как Аруба, решают эту проблему, размещая "маршрутизатор доступа" в одном месте здания, а затем каждая "точка доступа" - это всего лишь антенна и линейная карта в маршрутизаторе доступа. Домашние точки доступа не имеют этой магии.

Если точки доступа не общаются друг с другом по какому-то магическому протоколу, я бы предположил, что вы создаете огромные проблемы для своих точек доступа, потому что появляется какой-то неизвестный MACID и у него есть пароль WEP/WPA, но он не связан с ним, и поэтому у них нет разрешить назначение IP-адресов, и поэтому им не разрешается отправлять пакеты, и это, вероятно, запутывает wpa_supplicant на вашей рабочей станции, в дополнение к точке доступа.

-1

попробуйте так:

#!/bin/bash
IFACE="wlp3s0"
LIMIT="-65"
ID1="wireless network name"
ID2="wireless network name"

ssid=$(iw $IFACE link | grep SSID | awk '{print $2}')
signal=$(iw $IFACE link | grep signal | awk '{print $2}')

if [ $signal -lt $LIMIT ]
then case $ssid in
    $ID1) nmcli con up $ID2
    ;;
    $ID2) nmcli con up $ID1
    ;;
    esac &&
    ssid=$(iw $IFACE link | grep SSID | awk '{print $2}') && echo you are now connected to $ssid
else echo "no changes needed"

fi
sleep 1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .