Несколько WiFi сетей в /etc/hostname.if

Расскажите, кто как поступает в случае когда постоянно приходится работать с несколькими постоянными беспроводными сетями (например дома, в офисе, коворкинге...)?
Столкнулся с тем, что перечисление параметров сетей в /etc/hostname.if:
nwid essid1
wpakey essid1key
dhcp
nwid essid2
wpakey essid2key
dhcp

не работает, точнее хост находится в зоне действия essid2, шанс подключиться есть, в случае с essid1 такого не случалось ниразу.

Я где-то не прав?

Аватар пользователя mitrofanzzz

в ручную этот вариант

в ручную этот вариант работает?

Аватар пользователя ssh2

Так оно в моём случае почти

Так оно в моём случае почти всегда руками. Сменил место, разбудил ноут, выполнил . /etc/netstart run0.

Поведение я выше описал.

Аватар пользователя mitrofanzzz

Собственно впишите эту команду в скрипт пробуждения

Собственно впишите эту команду в скрипт пробуждения ибо мне не ясно чего вы ожидаете от ОСи... по умолчанию она не мониторит куда вы пришли... если я ничего не путаю то сценарий из /etc/hostname.if отрабатывает один раз при загрузке ноута и далее все отдаётся на откуп пользователю...

Аватар пользователя ssh2

Состояние сетевого интерфейса

Состояние сетевого интерфейса не оценивается. Например, в конфиге описано две сети, домашняя и рабочая.
Выполняю netstart, рабочая сеть описана последней, всё работает.
Домашняя сеть в файле конфигурации первая, выполняется подключение к ней, а затем снова производится поиск и попытка подключения к рабочей сети, в результате ничего не работает.
Имхо скрипт должен завершать работу, если подключение к сети/получение адреса произошло. Каждый раз нырять в конфиг как-то неправильно.

Аватар пользователя mitrofanzzz

хм...

У меня ровно такая же ситуация но обе сети работают без проблем...после новогодних праздников будет возможность потестировать... там и обсудим...

Аватар пользователя ssh2

Я еще на релизе проверю, а то

Я еще на релизе проверю, а то сейчас у меня на основном ноуте -current.

Аватар пользователя mitrofanzzz

стараюсь на новом железе не юзать опенбсд

ибо с дровами печаль и карент не люблю юзать...

Аватар пользователя ssh2

Не смог найти связи.

Не смог найти связи. Подробней. ;)

upd: Прочитал заголовок, стало понятней. Я сейчас на рабочем ноуте использую только -current, за исключением хоть поддержки SSD и WiFi-адаптеров от Broadcom всем доволен. От broadcom'a пытался избавиться, но биос моего бука ограничивает круг устройств которые возможно установить. :(

Аватар пользователя mitrofanzzz

Последние сводки с полей

Тестил на домашней 5.4 сабж и встретил такую вещь - скрипт etc/netstart реально проходит мимо первой сети записаной в файлике hostname.if получает ИП по ДХЦП и после этого впердоливает nwid последней сети из hostname.if после чего еще разок пускает ДХЦП но уже не получает нового ИП-а, ибо сети нету и остаюсь я с полученным ипом но без вайфая...
порылся в памяти и вспомнил вот про это:
http://undeadly.org/cgi?action=article&sid=20120113172334
статья 12 года... следовательно воз и ныне там... можно попробовать накостылить собственный скриптец...

Аватар пользователя ssh2

Попробую для начала

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

Дальше видно будет.

Аватар пользователя mitrofanzzz

склоняюсь к этой версии

только я думал на основе скрипта /etc/netstart дописать скрипт анализирующий наличие доступной сети

Аватар пользователя ssh2

Мне кажется, что там нужно в

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

Аватар пользователя mitrofanzzz

согласен мой сложнее

Я вот обнаружил другую странность... У меня к примеру весь скрипт при первоначальной загрузке отрабатывает верно. Авторизуется в беспроводной сети, получает дхцп адрес и аренду на 3600 секунд...то есть на час. А через час все тупо падает. Молча. Без единого сигнала или ошибки. 'sh /etc/netstart ath0' помогает но только снова на час... Вот думаю где я натупил...конфиги везде умолчальные никакой отсебятины все по дефолтам...

Аватар пользователя mitrofanzzz

такая вещь пришла в голову

а откуда вообще информация что такого вида перечисление в hostname.if должно работать?

И в догонку идейка такая:
любая строка из файла hostname.if предваренная "!" - восклицательным знаком выполняется как команда в sh собственно тут только вписать опрос доступных сетей по комманде "ifconfig ath0 scan" и отфльтровав известные по условию if сконфигурировать интерфейс...

Щас попробую нарисовать чтонить подобное...

Аватар пользователя ssh2

Чистая эмпирика

Раньше у меня был махонький ноутбук, на нем работал опёнок, сети были описаны именно так. Всё работало.

Аватар пользователя mitrofanzzz

мои результаты

Итак я намутил следующее:
скрипт в /etc/a_wifi.sh:

wnet=`ifconfig ath0 scan | grep padfi`
if [ "$wnet" != "" ]; then
echo "Wifi present"
ifconfig ath0 nwid a_wifi wpakey passsss
fi

в hostname.if вписал:


!/etc/a_wifi.sh
!/etc/b_wifi.sh
!/etc/c_wifi.sh
dhcp

и


chmod 700 /etc/a_wifi.sh
chmod 700 /etc/b_wifi.sh
chmod 700 /etc/c_wifi.sh

Недостатки, медленно и через ж0пу ибо я не скрипткодер...
Достоинства... работает и хрен с ним... совместимость со скриптом netstart сохранена.

Аватар пользователя solus

была утилита на undeadly вот

была утилита на undeadly вот ссылка http://undeadly.org/cgi?action=article&sid=20120113172334