The built in WiFi module seems to work fine, as it can connect to both of my open networks I created for testing, i.e. the 2.4GHz, and the 5.0GHz ones.
If I set a simple passphrase (i.e. contains only ASCII lowercase letters) to these networks it can still connect to them without any problem.
However if I set a complex passphrase (containing single and double quotes and other visible ASCII characters, like backslash, etc.) it cannot connect to those (although my other devices, such as an Arch Linux PC and an Android device can).
I'm using connmanctl
to establish the connection and as far as I know it is using wpa_supplicant
as the default agent under the hood.
The error message I got back is:
Agent ReportError wifi_x_y_managed_psk
connect-failed
Agent request cancelled by ConnMan
Error /net/connman/service/wifi_x_y_managed_psk: Operation aborted
The following lines are probably also relevant from the output of the journalctl
:
wpa_supplicant[418]: wlan0: Trying to associate with <MAC-ADDR> (SSID='test5g' freq=5100MHz)
wpa_supplicant[418]: wlan0: CTRL-EVENT-ASSOC-REJECT bssid=00:...:00 status_code=16
My assumption is that
connman
is passing the passphrase towpa_supplicant
in a way that the double quote ("
) is not escaped hence the password is trimmed and the authentication fails. But this may not be the case, this is only my assumption.
Any ideas how to solve this? Obviously the My OSMC
> Network
> Wireless
GUI connection wizard is not working either, I guess it is using connman
under the hood.
Extra Info
- Board: Raspberry Pi Model 3 B+
- OS: OSMC 2018.10-1 (latest as of writing this question)
Update
Sigh - It looks like it even has problems with too long passwords. (E.g. 32 is too long for it, but 16 is working fine). Why is the wireless handling so badly broken?
HElL\o{1"WOr`l'd/PasSwo&r0D26!
locale
that your user account is using compared to whatroot
would, though further consideration suggests that would not be a factor after all {unless it was something like a setting for a French locale that was using«...»
instead of"..."
around strings}.