2016-02-12 2 views
1

Что мне нужно: Подключитесь к разным сетям wifi на archlinux, вызывая скрипт python.wpa_supplicant - как переключиться на другую сеть?

Что я делаю: Выполнение следующих операторов из питона:

wpa_passphrase "MySSID" "MyPass"> /etc/wpa_supplicant/profile.conf 
wpa_supplicant -B -i wlan0 -c /etc/wpa_supplicant/profile.conf 
dhcpd wlan0 

Он работает только для первой попытки. Когда он выполняется во второй раз, он говорит, что dhcpd уже включен. Я не знаю, как переключиться на другую сеть.

Я также попробовал wpa_cli и снова, не знаю, как переключиться на другую сеть.

Пожалуйста, предложить некоторые исправления или альтернативы (неосложненной)

+0

Решение для бедных мужчин - это просто выполнить 'killall' на' wpa_supplicant' и подождать секунду или два, пока он не выйдет. –

+0

использование dhcp, down интерфейс, повторное использование dhcp. Как очистить настройки настройки интерфейса? – dsgdfg

+0

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

ответ

0

Редактировать /etc/wpa_supplicant.conf

nano /etc/wpa_supplicant.conf 

Закончите файл, чтобы сделать его выглядеть (замена wifi_name и wifi_key их реальными значениями курс).

network={ 
     ssid="wifi_name1" 
     psk="wifi_key1" 
} 

и

network={ 
     ssid="wifi_name2" 
     psk="wifi_key2" 
} 

Затем сохраните и выход

сеть WiFi настроена, мы должны сказать, что мы хотим, чтобы подключиться к нему с помощью этого файла конфигурации.

wpa_supplicant -B -i wlan0 -c <(wpa_passphrase MYSSID passphrase) 

Если ваш интерфейс не назван wlan0, замените wlan0 на реальное имя вашего интерфейса. Теперь мы должны запросить IP-адрес.

dhclient wlan0 

Если все пошло хорошо, вы видите несколько строк, содержащих несколько IP-адресов, и команда ping должна работать.

+0

чувак, это то, что делали мои команды. Мне нужно знать, как переключиться на другую сеть, как только это будет сделано. –

0

Ваша конкретная проблема заключается в том, что вы начинаете wpa_supplicant и dhcp вместо повторного запуска их. У меня есть сценарий, который читает

#shutdown dhc 
dhclient -r 
#shutdown wpa_supplicant 
killall wpa_supplicant 
#down interface 
ifdown --force wlan0 
sleep 1 
#your wpa startup here: 
wpa_supplicant -t -fYOUR_LOG_FILE -cYOUR_wpa_supplicant.conf -B -iwlan0 
sleep 1 
#restart dhc 
dhclient -nw 

Я думаю, вы можете сделать это немного более красиво по настройке/и т.д./сети/интерфейсы надлежащим образом.

КПП. в принципе, не обязательно перезапускать dhc вообще. Через некоторое время он должен понять, что ему нужно получить новый IP-адрес, но для меня это занимает много времени. ;)

Смежные вопросы