При использовании networksetup для подключения к сети Wi-Fi появляется символ WiFi с восклицательным знаком над ним. Это также показывает, что в настройках сети нет аутентификации 802.1x. Я попробовал следующую команду:

networksetup -setairportnetwork $INTERFACE "$SSID"

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

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

В настройках сети, после переключения вручную, статус "Подключен" и имеет сообщение «Wi-Fi подключен к XXXX и имеет IP-адрес XXXXXXX». Он также показывает «802.1X: по умолчанию» и «Аутентифицирован через EAP-PEAP (MSCHAPv2)

Однако после переключения со сценарием состояние «Вкл.» И сообщение «Wi-Fi не имеет IP-адреса и не может подключиться к Интернету». Также нет сообщения относительно аутентификации 802.1X.

1 ответ1

0

В итоге я решил эту проблему, используя Applescript внутри bash-скрипта. Это имитирует способ, которым пользователь вручную переключает сеть WiFi.

Если в будущем у кого-то возникнет эта проблема, вот функция bash, которую я создал, чтобы сделать это для меня.

switchWiFi () { 
osascript \
-e'tell application "System Events"' \
    -e 'tell process "SystemUIServer"' \
        -e 'click (menu bar item 1 of menu bar 1 whose description contains "Wi-Fi")' \
        -e "click menu item $1 of menu 1 of result" \
    -e 'end tell' \
-e 'end tell' 
}

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