WDS/4addr setup on master: wpa_supplicant doesn't like double quote in PSK

In preparation for the upcoming 22.xx branch, I bumped my production APs to master. I have a WDS setup running that worked fine (barring interference from the neighbours of course :stuck_out_tongue_winking_eye:) on 21.02. As long as the WDS client stayed on 21.02, even with the master AP on a master build it would work fine. However, once I move the WDS client to a master build as well, it ceases to connect. logread isn't very verbose. I did see this though on the client:

# logread -e wlan0
Sun Feb 27 23:56:02 2022 daemon.err wpa_supplicant[1344]: Failed to read or parse configuration '/var/run/wpa_supplicant-wlan0.conf'.
Sun Feb 27 23:56:02 2022 kern.info kernel: [ 3768.911286] br-lan: port 5(wlan0) entered blocking state
Sun Feb 27 23:56:02 2022 kern.info kernel: [ 3768.922026] br-lan: port 5(wlan0) entered disabled state
Sun Feb 27 23:56:02 2022 kern.info kernel: [ 3768.933236] device wlan0 entered promiscuous mode

/var/run/wpa_supplicant-wlan0.conf looks OK though:

country=IT
network={
	scan_ssid=1
	ssid="Zeus 802.11n backhaul"
	key_mgmt=SAE
	psk="$key"
	proto=RSN
	ieee80211w=2
	beacon_int=100
}

/etc/config/wireless on the WDS client:

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '6'
	option band '2g'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option country 'IT'
	option htmode 'HT40'
	option txpower '12'
	option cell_density '0'
	option disabled '0'

config wifi-iface 'wds_radio0'
	option device 'radio0'
	option network 'lan'
	option ssid 'Zeus 802.11n backhaul'
	option mode 'sta'
	option wds '1'
	option encryption 'sae'
	option key '$key'
	option ieee80211w '2'

/etc/config/wireless on the WDS master:

config wifi-device 'radio0'
	option type 'mac80211'
	option channel '6'
	option hwmode '11g'
	option path '1e140000.pcie/pci0000:00/0000:00:00.0/0000:01:00.0'
	option htmode 'HT40'
	option country 'IT'
	option cell_density '0'
	option disabled '0'

config wifi-iface 'wds_radio0'
	option device 'radio0'
	option network 'lan'
	option mode 'ap'
	option ssid 'Zeus 802.11n backhaul'
	option encryption 'sae'
	option isolate '1'
	option wpa_disable_eapol_key_retries '1'
	option wds '1'
	option hidden '1'
	option key '$key'
	option ieee80211w '2'

Anyone know what's going wrong here?

Well we can chalk this off to wpa_supplicant being more picky about characters in the PSK it seems. Looks like a regression to me. Running wpa_supplicant manually, this error popped up:

Line 8: Invalid passphrase length 4 (expected: 8..63) 'bla bla bla'.
Line 8: failed to parse psk 'bla bla bla'.

Once I replaced the double quote " in the PSK with another character the WDS started functioning again.

Are you sure this previously worked? I wonder if they changed the handling of spaces and quotes within the last versions. If so we should extend their testing setup.

It did. All I needed to break it was to migrate from 21.02 HEAD to master while keeping the WDS encryption key. It seems it's really wpa_supplicant that breaks (so the WDS 'client'), since the WDS master came up just fine.

This topic was automatically closed 10 days after the last reply. New replies are no longer allowed.