MLME와 연결을 설정할 수 없습니다. 연결 실패: ret=-1(작업이 허용되지 않음)

MLME와 연결을 설정할 수 없습니다. 연결 실패: ret=-1(작업이 허용되지 않음)

wpa_supplicant를 사용하여 Wi-Fi 클라이언트를 Debian의 인프라 AP에 직접 연결합니다.

wpa_cli -iwlan0 add_network
1
wpa_cli -iwlan0 set_network 1 ssid '"myssid"'
OK
wpa_cli -iwlan0 set_network 1 psk '"mypwd"'
OK
wpa_cli -iwlan0 enable_network 1

결과적으로 시스템 로그에 "드라이버 연결 요청 실패"라는 이상한 항목이 나타납니다.

nl80211: MLME 연결 실패: ret=-1(작업이 허용되지 않음)

wlan0: 드라이버에 대한 연결 요청이 실패했습니다.

SSID와 PSK는 분명히 정확합니다. 내 머리를 찢어 - 문제가 무엇입니까? 다른 ssid에도 같은 문제가 있습니다.

dmesg 출력

brcmfmac: brcmf_c_set_joinpref_default: Join_pref 설정 오류(-1) brcmfmac: brcmf_cfg80211_connect: BRCMF_C_SET_SSID 실패(-1)

아이디어가 있나요? 방향? 어디서 볼 수 있나요?

업데이트: 문제가 해결됨 이는 드라이버 초기화 최적화의 흥미로운 부작용과 관련이 있습니다. 클라이언트(호스팅)와 핫스팟(액세스 포인트)이라는 두 개의 가상 인터페이스가 있는 물리적 무선 어댑터가 있습니다. 올바른 로딩 순서는 AP, 그 다음 관리입니다(이것은 또 다른 질문이며 출처가 확실하지 않습니다). 두 인터페이스가 동시에 시작되거나 서로 충분히 가까워지면 이후 인터페이스는 로드된 장치 드라이버 인스턴스를 재사용하려고 시도하는데 이는 분명히 불가능합니다(여기서 "허용되지 않는 작업"이 발생합니다). 따라서 wpa_supplicant는 그렇지 않습니다. 제대로 초기화되었습니다.

해결책은 AP가 초기에 자동으로 로드되도록 하고 호스팅 모드를 수동으로 두는 것입니다. 그런 다음 rc.local(또는 기타 실행 후 트리거)을 수정하여 관리형 인터페이스를 활성화합니다. 저에게는 (수면 20 || sudo ifup wlan1) 완벽하게 작동했으므로 문제가 해결되었습니다.

그렇지만 나는 이 문제를 해결하려면 데비안에 티켓을 열어야 한다고 생각합니다. 이는 분명히 운영 체제 버그이기 때문입니다.

답변1

이는 드라이버 초기화 최적화의 흥미로운 부작용과 관련이 있습니다. 클라이언트(호스팅)와 핫스팟(액세스 포인트)이라는 두 개의 가상 인터페이스가 있는 물리적 무선 어댑터가 있습니다. 올바른 로딩 순서는 AP, 그 다음 관리입니다(이것은 또 다른 질문이며 출처가 확실하지 않습니다). 두 인터페이스가 동시에 시작되거나 서로 충분히 가까워지면 이후 인터페이스는 로드된 장치 드라이버 인스턴스를 재사용하려고 시도하는데 이는 분명히 불가능합니다(여기서 "허용되지 않는 작업"이 발생합니다). 따라서 wpa_supplicant는 그렇지 않습니다. 제대로 초기화되었습니다.

해결책은 AP가 초기에 자동으로 로드되도록 하고 호스팅 모드를 수동으로 두는 것입니다. 그런 다음 rc.local(또는 기타 실행 후 트리거)을 수정하여 관리형 인터페이스를 활성화합니다. 저에게는 (수면 20 || sudo ifup wlan1) 완벽하게 작동했으므로 문제가 해결되었습니다.

그렇지만 나는 이 문제를 해결하려면 데비안에 티켓을 열어야 한다고 생각합니다. 이는 분명히 운영 체제 버그이기 때문입니다.

관련 정보