액세스 포인트에 재구성 명령을 보내는 애플리케이션을 개발 중입니다. 액세스 포인트는 WPA2로 보호되고 개방형 네트워크가 되도록 자체적으로 재구성되어야 합니다. 구성을 적용하려면 액세스 포인트가 자체적으로 재부팅되어야 합니다.
내 문제는 AP를 재부팅한 후에도 내가 무엇을 하든 NetworkManager에 여전히 AP에 WPA2 보안이 있다고 표시된다는 것입니다. 비밀번호를 입력하지 않고도 연결할 수 있기 때문에 그렇지 않을 것이라는 것을 알고 있습니다. 또한 AP 구성에서 보안을 사용하지 않는 것을 확인했습니다. 이 문제를 해결할 수 있는 유일한 방법은 라디오를 껐다가 다시 켜고 nmcli를 통해 스캔을 다시 실행하거나 NetworkManager를 다시 시작하는 것이었습니다.
내 응용 프로그램에서는 두 옵션 모두 이상적이지 않습니다. iwlist 스캔과 wpa_cli 스캔 모두에서 스캔을 재발행했는데 보안이 없는 AP가 표시되었습니다.
Ubuntu 16.04와 Debian Stretch 개발 머신을 실행하는 가상 머신에서 이 현상이 나타납니다.
NetworkManager가 AP 목록을 수신하는 위치(iwlist 또는 wpa_cli라고 가정)와 해당 보안 유형을 캐싱하는 이유를 이해하려고 합니다.
답변1
NetworkManager는 wpa_sypplicant에서 스캔 목록을 가져와 캐시합니다. 단, 상황에 따라 가끔 또는 클라이언트의 요청이 있을 때만 검사를 실시합니다. 그 이유는 스캐닝이 Wi-Fi 처리량과 대기 시간을 줄이기 때문입니다.
예를 들어 를 통해 다시 검색을 시작해 보십시오 nmcli device wifi rescan
.
물론 D-Bus나 libnm API를 통해서도 동일한 효과를 직접 얻을 수도 있습니다.