Как использовать режим клиента WPA2 в точке доступа Cisco WAP4410N на базе Linux
У меня есть точка доступа Cisco WAP4410N, которую я хочу использовать в качестве клиента для подключения к беспроводной сети WPA2 (для целей мониторинга услуг WLAN).
Предположительно, эта точка доступа поддерживает режим "Беспроводной клиент / ретранслятор", который позволяет это делать. Функция "Повторитель" является необязательной (у меня снят этот флажок, чтобы никто не мог подключиться к этой точке доступа без проводов). Через SSH я проверил, что точка доступа настроена как клиент, а не как мастер. Но он никогда не ассоциируется с SSID, к которому я его прошу. Вот что показывает iwconfig:
ath04 IEEE 802.11ng ESSID:"myownssid"
Mode:Managed Channel:0 Access Point: Not-Associated
Bit Rate:0 kb/s Tx-Power:14 dBm Sensitivity=1/3
Retry:off RTS thr:off Fragment thr:off
Encryption key:off
Power Management:off
Link Quality=0/94 Signal level=161/162 Noise level=161/161
Rx invalid nwid:0 Rx invalid crypt:0 Rx invalid frag:0
Tx excessive retries:0 Invalid misc:0 Missed beacon:0
Хотя я никогда не делал этого из командной строки, я полагаю, что мог бы использовать wpa_supplicant или wpa_client, чтобы связать его, но я не знаю, как это сделать без редактирования файлов конфигурации, а файловая система доступна только для чтения. Кроме того, мне придется запускать эти команды вручную после каждой перезагрузки.
Я хотел бы знать, как сделать это способом Cisco, если это возможно. Если нет, то любой трюк, чтобы сделать эту работу будет полезным.
Изменить: это с последней прошивкой, 2.0.4.2. И я обнаружил, что не вся файловая система доступна только для чтения, поскольку /var и /tmp монтируются с типом ramfs.
1 ответ
ОК, думаю, я понял. Я ssh'd в точку доступа, и я думаю, что это ошибка в прошивке Cisco.
После выбора режима "Беспроводной клиент / репитер" опция сохраняется и система перезагружается. Опции можно прочитать с помощью команды nvram, и эта опция выглядит
wlan0_op_mode=UnversalClient
При каждой загрузке система считывает эту опцию и генерирует подходящий файл конфигурации для wpa_supplicant, сохраняя его в /var/wpasupp.cfg (оказалось, что / var смонтирован в RAM и доступен для записи).
SSID и пароль, сохраненные в этом файле, правильно взяты из первого настроенного SSID. НО есть ошибка в коде, который генерирует файл конфигурации, так как он содержит строку, которую wpa_supplicant не может проанализировать.
Эта строка гласит:
ctrl_interface=/var/run/wpa_supplicant
Теперь эта строка выглядит нормально, учитывая, как ведут себя другие версии wpa_supplicant. Но эта конкретная версия wpa_supplicant, включенная в WAP4410N Cisco, не может его проанализировать, и говорит об этом при запуске с параметром отладки -d.
Мой вывод заключается в том, что он должен был работать с самого начала, но это не из-за этой ошибки.
Чтобы он работал, этот файл должен быть изменен, а wpa_supplicant должен запускаться вручную после каждой загрузки.