
동일한 Wi-Fi 모듈을 사용하는 두 개의 마이크로 컨트롤러 보드가 있습니다. 보드 중 하나는 액세스 포인트(AP) 역할을 하고, 다른 보드는 범위 내에 있을 때 AP와 연결을 시도하는 스테이션(STA) 역할을 합니다.
링크 로컬 IPv6 주소만 사용하고 있습니다. 이상한 점은 링크-로컬 멀티캐스트 주소(ff02::1)에 대해 ping을 실행하면 STA가 AP에 처음 연결할 때 작동한다는 것입니다. AP 연결을 끊었다가 다시 연결한 후 AP의 IPv6 링크 로컬 주소(fe80:xx)로 ping할 수 있지만 링크-로컬 멀티캐스트 주소로 더 이상 ping을 할 수 없습니다.
STA 측에서 인터페이스를 재설정하면 STA에 다시 ping을 보낼 수 있습니다. 링크 로컬 주소에 연결할 수 없는 문제를 어떻게 해결할 수 있습니까? 전체 프로세스는 자동화되어야 합니다. 즉, 사용자의 상호 작용이 필요하지 않습니다.
다음은 세션 예시입니다:
STA가 처음으로 AP에 연결됨
wpa_supplicant -c /etc/wpa_supplicant.conf -Dnl80211 -iwlan0
링크-로컬 멀티캐스트가 제대로 작동함
ping6 - 나는 wlan0 ff02::1
연결을 끊었다가 다시 연결하세요.
killall wpa_supplicant wpa_supplicant -c /etc/wpa_supplicant.conf -Dnl80211 -iwlan0
링크-로컬 멀티캐스트가 작동하지 않습니다.
ping6 -I wlan0 ff02::1 연결: 네트워크에 연결할 수 없습니다.
링크 전용 유니캐스트는 잘 작동합니다.
ping6 - 나는 wlan0 fe80:xx
네트워크 인터페이스를 위아래로 가져오면 문제가 해결됩니다.
IP 링크 설정 wlan0 다운 && IP 링크 설정 wlan0 업 ping6 -I wlan0 ff02::1 #works
답변1
시스템 네트워크 장치 파일에 문제가 있었습니다. 해당 파일을 삭제하고 재부팅하면 문제가 해결됩니다.