Raspberry Pi WLAN Verbindungsprobleme mit neueren Router lösen

Erstellt: 17.02.2023 Bearbeitet: 29.09.2024

Gestern wollte ich meinen neuen RaspberryPi 4b ins WLAN einhängen und bin da auf unerwartete Probleme gestoßen.

Test WPA

Zum testen muss man WLAN erst mal disconnecten und dem wpa daemon killen und kann dann mit wpa_supplicant die Verbindung überprüfen. Bitte dran denken das man dafür via Lan connected sein muss :)

sudo ifdown wlan0
sudo killall wpa_supplicant
sudo wpa_supplicant -i wlan0 -c /etc/wpa_supplicant/wpa_supplicant.conf

CTRL-EVENT-ASSOC-REJECT mit bssid=00:00

Wenn die bssid nur Nullen beinhalten bei einem REJECT kann man davon ausgehen das der Router gar nicht erreicht werden kann. Z.b. ist die WLAN Antenne Geerdet ist, durch ein Fehlerhaftes Gehäuse z.B. oder der Router ist zu weit weg.

CTRL-EVENT-ASSOC-REJECT bssid=00:00:00:00:00:00 status_code=16

set key_mgmt

Bei meinem Router wird das veraltete WPA-PSK nicht mehr unterstützt und man sieht dann im Router log nur AP-STA-POSSIBLE-PSK-MISMATCH und beim einen Test WPA mit wpa_supplicant CTRL-EVENT-ASSOC-REJECT status_code=16. Die Lösung kann WPA-PSK-SHA256 mit ieee80211w=2 sein. Dafür muss man seine wpa_supplicant.conf um folgendes ergänzen.

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

und füge den aktuellen WPA key_mgmt algo hinzu

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=DE
eapol_version=1
ap_scan=1
fast_reauth=1
pmf=1

network={
        ssid="router_SSID"
        psk=....
        key_mgmt=WPA-PSK-SHA256
        ieee80211w=2
}

Die Lösung hatte ich hier gefunden. github issue

Generate WPA Password

sudo wpa_passphrase "router_SSID" "wlanpassword" >> /etc/wpa_supplicant/wpa_supplicant.conf

WLAN Autoconnect

Damit sich mein WLAN selber Verbindet beim Booten und das Powermanagment aus ist um Verbindungsprobleme zu vermeiden habe ich diese config angelegt.

sudo nano /etc/network/interfaces.d/wlan.conf
auto wlan0

allow-hotplug wlan0
iface wlan0 inet dhcp
post-up iw wlan0 set power_save off

brcmfmac modprobe options

Es gibt wohl verschiedenste Probleme und ein paar Lösungen sind die Optionen. Alle zu verwenden macht kein sin aber zum testen hier die Vorgehensweise.

Kernelmodule auswerfen.

sudo rmmod cfg80211
sudo rmmod brcmfmac

brcmfmac Config Optionen.

sudo nano /etc/modprobe.d/brcmfmac.conf
options brcmfmac roamoff=1
options brcmfmac p2pon=0

cfg80211 Config Optionen.

sudo nano /etc/modprobe.d/cfg80211.conf
options cfg80211 cfg80211_disable_40mhz_24ghz=1

Kernelmodule mit der neuen Config laden.

sudo modprobe brcmfmac

Und jetzt wieder testen wie in Test WPA Probieren ob es geht.

Nützliche Commands

List Verfügbare Wlan Channels

sudo iwlist chan

Show Country Infos

iw reg get

List Router

sudo iwlist scan|egrep 'ESSID|Channel:'
#oder full
sudo iwlist scan

Wlan infos

iwconfig

Viel Spaß beim Nachbauen