LINUX.ORG.RU

«ifconfig wlan0 down» - мина?

 


0

1

А как правильно опускать беспроводной интерфейс, который был поднят через

wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "your_SSID" "your_key") && dhcpcd wlan0
?

Если выполнить
kill -KILL `pidof dhcpcd` && ifconfig wlan0 down
, то потом повторное
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "your_SSID" "your_key") && dhcpcd wlan0
как и
ifconfig wlan0 up && wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "your_SSID" "your_key") && dhcpcd wlan0
застревает на этапе
wlan0: waiting for carrier
после чего следует
timed out
dhcpcd exited
Перевтыкание Wi-Fi сетевухи не помогает, но помогает перезагрузка. Удаление соответствующих модулей из ядра и повторная их загрузка тоже не помогает. В «rfkill list» устройство не попадает.

Устройство TP-Link TL-WN821N на чипе от Atheros, но, мне кажется, этот вопрос шире этого конкретного устройства.

★★★★★

Ответ на: комментарий от dexpl

Попробовал. Если запустить после поднятия соединения, то NetworkManager ругается на, якобы, отсутствие соединения. А если его запустить до, то сабжевый метод поднятия соединения сразу виснет на «wlan0: waiting for carrier».

saahriktu ★★★★★
() автор топика
Последнее исправление: saahriktu (всего исправлений: 1)

killall wpa_supplicant && killall dhcpcd?

Deleted
()
Последнее исправление: Deleted (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Попробуй не «до» и не «после», а «вместо» — настрой (*) Wi-Fi в NetworkManager'е и предоставь ему самому запускать wpa_supplicant и клиент dhcp.

(*) В приличных дистрибутивах достаточно одной команды nmcli device wifi connect SSID password PASSWORD.

dexpl ★★★★★
()
Ответ на: комментарий от Ygor

Ага, спасибо, помогло. Если отключаться через

kill -KILL `wpa_supplicant` && kill -KILL `pidof dhcpcd` && ifconfig wlan0 down
, то повторное подключение через
wpa_supplicant -B -i wlan0 -c <(wpa_passphrase "your_SSID" "your_key") && dhcpcd wlan0
оказывается рабочим.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Странно как-то, ты бы уж был последовательным ­— раз уж останавливаешь демоны по kill -KILL, то и питание стоило бы выдёргивать, это ведь практически то же самое, просто несколько больше демонов как бы по -KILL завершаются.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

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

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Slackware

Штатно:

# /etc/rc.d/rc.inet1 wlan0_stop

В Slackware своих инструментов действительно немного, но они есть и работают.

bormant ★★★★★
()
Последнее исправление: bormant (всего исправлений: 2)

Если нужно забрать интерфейс у работающщего dhcpcd, все проще
# dhcpcd -k wlan0

bormant ★★★★★
()

ifconfig объявлен был deprecated (скорее всего) еще до того, как ты узнал о линуксе. Не трогай его. Он мертв.

Deleted
()
Ответ на: комментарий от saahriktu

Т.е. эти демоны перед завершением должны выполнить ещё какую-то работу?

Как минимум, надо сделать DHCP_RELEASE при отключении, также хорошим тоном будет записать в лог время остановки и причину (вызвана перезагрузкой или вручную администратором), а также ошибку, если штатно остановиться не получилось. Не знаток wpa_какеготам (мне вайфай настраивает какая-то байда внизу экрана — ткнул в неё мышою, выбрал нужную сеть, вбил пароль, если сеть новая, усё работает), но, подозреваю, что ему тоже есть чем при остановке заняться полезным.

redgremlin ★★★★★
()
Ответ на: комментарий от redgremlin

Ну, это уже особенности хорошего тона администрирования, чтобы потом в случае чего всё было в логах. А для обычного юзера если и так всё работает особой разницы нет.

saahriktu ★★★★★
() автор топика

Последние Slackware дают выбор настройки сети из:
* Сценариев rc.d,
* NetworkManager или wicd.

Этот выбор делается по
# netconfig

Выбор между NM и wicd делается установкой последнего.

NetworkManager последних версий с dhcpcd работает плохо, стоит поменять в его конфиге dhcpcd на dhclient.

bormant ★★★★★
()
Ответ на: комментарий от saahriktu

ну так эти «особенности хорошего тона администрирования» не просто так придумали, а для того, чтобы у тебя вопросов как в этой теме не возникало

dima3351
()
Ответ на: комментарий от dima3351

Но, вопрос-то возник по причине того, что я проморгал значение опции "-B" у wpa_supplicant'а (поскольку рабочий пример не сам собирал, а взял из сети). А потому забывал его прибивать. Добавление «kill -KILL `wpa_supplicant`» в команду отключения закрыло вопрос.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от Deleted

У меня еще как жив.

 cat /etc/motd 

 >>> Release:                       stage3-amd64-bulldozer-funtoo-current-2015-11-07
 >>> Version:                       2015-11-07
 >>> Created by:                    Daniel Robbins <drobbins@funtoo.org>

 >>> Send suggestions, improvements, bug reports relating to...

 >>> This release:                  Daniel Robbins <drobbins@funtoo.org>
 >>> Funtoo Linux (general):        Funtoo Linux (http://www.funtoo.org)
 >>> Gentoo Linux (general):        Gentoo Linux (http://www.gentoo.org)
LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

У меня еще как жив.

Это загробная жизнь. Последняя версия net-tools от 2011го года, а ifconfig в ней

ifconfig --version

net-tools 1.60
ifconfig 1.42 (2001-04-13)

redgremlin ★★★★★
()
Ответ на: комментарий от saahriktu

Тред не читал. Задача дистрибутива - склеить все утилиты костылями и подпорками на баше. В дебиане это ifupdown, в вашем дистрибутиве тоже что-то есть. Начните с чтения документации, пожалуйста.

anonymous
()
Ответ на: комментарий от anonymous

Задача дистрибутива - разворачивание системы. Для меня наиболее идеальным является тот вариант, который точно также работает и в LFS'е. Зачем привязываться к каким-то скриптам если можно решить задачу на более низком уровне?

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

То есть, систему инициализации Slackware вы не используете?

Если используете, то по /etc/rc.d/rc.inet1 весьма легко установить, что rc.inet1 делает именно то, что вы делаете руками.

bormant ★★★★★
()
Ответ на: комментарий от saahriktu

Зачем привязываться к каким-то скриптам если можно решить задачу на более низком уровне?

Странно, что ты вайфай не записями в регистры платы настраивал. Недоработочка, тебе есть ещё куда стремиться.

redgremlin ★★★★★
()
Ответ на: комментарий от bormant

В системе инициализации есть смысл до входа в систему. После входа в систему про неё можно забыть.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от saahriktu

Так-то оно так.
Вот только от такого ручного подъема есть ли бонусы? Права рута все-равно нужны.
А вот от NM или wicd толк есть — от рута работает демон, а для подъема соединения достаточно авторизованного пользователя (или соединение можно сделать системным, поднимающимся при старте).

А в остальном — хозяин-барин.

bormant ★★★★★
()
Ответ на: комментарий от sergej

Выше уже была найдена причина вопроса, поэтому тема и помечена как решённая. Дело было в том, что я не учёл поведение wpa_supplicant. Надо было и его тоже прибивать. И тогда всё работает.

saahriktu ★★★★★
() автор топика
Ответ на: комментарий от bormant

Я вижу вы в этой теме хорошо разбираетесь, может и мне поможете. У меня openSUSE 42.2 интернет - провод в комп напрямую. Раньше был настроен доступ через nm, но постоянно были какие-то глюки. Указал в настройках управление сеть через wicked. Соединение настроил через pppoe-config. При настройке указал поднимать соединение при загрузке системы, но этого не происходит. Приходится поднимать вручную через pppoe-start. Что и где надо прописать для автоматического подъема соединения?

iKido
()
Ответ на: комментарий от redgremlin

Но ведь оно же работает, зачем менять?

Вот как надо писать софт (из статьи о TeX):

С версии 3.0 TeX использует оригинальную систему нумерации версий: каждое обновление добавляет дополнительную десятичную цифру в конце номера версии так, что она асимптотически приближается к π. Это отражает тот факт, что текущая версия TeX’а — 3.1415926 — очень стабильна и возможны лишь мелкие обновления. Последнее обновление было в марте 2008 года. На версии 3.0 дизайн системы был заморожен, поэтому добавление новой функциональности не планируется и все новые версии будут содержать только исправления ошибок. Хотя Дональд Кнут сам предложил несколько областей, в которых TeX мог бы быть улучшен, он тем не менее считал, что существование неизменной версии, которая бы выдавала одинаковый результат сейчас и в будущем, важнее, чем добавление новых возможностей. Поэтому он заявил, что «совершенно последнее изменение (сделанное после моей смерти)» сменит номер версии на π, и с этого момента все ошибки станут особенностями. Точно так же версии системы METAFONT начиная с версии 2.0 асимптотически приближаются к e и так же завершатся на e после смерти Кнута.

LongLiveUbuntu ★★★★★
()
Ответ на: комментарий от LongLiveUbuntu

Но ведь оно же работает

4.2 Оно умеет только маленький subset возможностей ip, который, к тому же, проще, логичнее и удобнее, пользоваться им иначе, как на локалхосте, нет никакой возможности, да и на локалхосте только в том случае, если дотянулся проклятый Альцгеймер и новую информацию уже никак не запомнить.

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.