У меня есть точка доступа 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.
Хорошо, я думаю, что понял. Я подключился к точке доступа по ssh и думаю, что это ошибка прошивки Cisco.
После выбора режима «Беспроводной клиент / ретранслятор» опция сохраняется, и система перезагружается. Параметры можно прочитать с помощью команды nvram, и эта конкретная опция кажется
wlan0_op_mode=UnversalClient
При каждой загрузке система считывает эту опцию и генерирует подходящий файл конфигурации для wpa_supplicant, сохраняя его в /var/wpasupp.cfg (оказалось, что / var смонтирован в ОЗУ и доступен для записи).
SSID и кодовая фраза, хранящиеся в этом файле, правильно взяты из первого настроенного SSID. НО есть ошибка в коде, который генерирует файл конфигурации, поскольку он включает строку, которую wpa_supplicant не может проанализировать.
Эта строка гласит:
ctrl_interface=/var/run/wpa_supplicant
Теперь эта строка кажется нормальной, учитывая, как ведут себя другие версии wpa_supplicant. Но эта конкретная версия wpa_supplicant, включенная в Cisco WAP4410N, не может ее проанализировать и сообщает об этом при запуске с параметром отладки -d.
Я пришел к выводу, что это должно было работать с самого начала, но этого не произошло из-за этой ошибки.
Чтобы он заработал, этот файл необходимо изменить, а wpa_supplicant нужно запускать вручную после каждой загрузки.