Debian – NetworkManager failing to authenticate to WPA-EAP using TTLS and PAP in LMDE

debianlinux-mintnetworkmanagerwpa-supplicant

I'm running Linux Mint Debian Edition with Update Pack 7. I'm trying to connect to a WPA enterprise network using TTLS and PAP, with no luck.

The problem seems to be in authentication. Visually, NetworkManager keeps asking my password time after time. The password is correct and works both on Android, Ubuntu and ArchLinux Manjaro. I have seen it work on a LMDE UP6 before in which now also doesn't work (UP7).

Here is the log I'm getting (with time removed for readability)

NetworkManager[2641]: get_secret_flags: assertion `is_secret_prop (setting, secret_name, error)' failed
NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) scheduled...
NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) started...
NetworkManager[2641]: <info> (wlan0): device state change: need-auth -> prepare (reason 'none') [60 40 0]
NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) scheduled...
NetworkManager[2641]: <info> Activation (wlan0) Stage 1 of 5 (Device Prepare) complete.
NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) starting...
NetworkManager[2641]: <info> (wlan0): device state change: prepare -> config (reason 'none') [40 50 0]
NetworkManager[2641]: <info> Activation (wlan0/wireless): connection 'EduRoam CACert' has security, and secrets exist.  No new secrets needed.
NetworkManager[2641]: <info> Config: added 'ssid' value 'eduroam'
NetworkManager[2641]: <info> Config: added 'scan_ssid' value '1'
NetworkManager[2641]: <info> Config: added 'key_mgmt' value 'WPA-EAP'
NetworkManager[2641]: <info> Config: added 'password' value '<omitted>'
NetworkManager[2641]: <info> Config: added 'eap' value 'TTLS'
NetworkManager[2641]: <info> Config: added 'fragment_size' value '1300'
NetworkManager[2641]: <info> Config: added 'phase2' value 'auth=PAP'
NetworkManager[2641]: <info> Config: added 'ca_path' value '/etc/ssl/certs'
NetworkManager[2641]: <info> Config: added 'ca_path2' value '/etc/ssl/certs'
NetworkManager[2641]: <info> Config: added 'ca_cert' value '/home/darkhogg/.eduroam/ca.pem'
NetworkManager[2641]: <info> Config: added 'identity' value 'danielescoz@estumail.ucm.es'
NetworkManager[2641]: <info> Config: added 'anonymous_identity' value 'anonymous@ucm.es'
NetworkManager[2641]: <info> Config: added 'bgscan' value 'simple:30:-45:300'
NetworkManager[2641]: <info> Config: added 'proactive_key_caching' value '1'
NetworkManager[2641]: <info> Activation (wlan0) Stage 2 of 5 (Device Configure) complete.
NetworkManager[2641]: <info> Config: set interface ap_scan to 1
NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning
NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associated
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected
NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning
NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected
NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning
NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected
NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning
NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> associating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associating -> associated
NetworkManager[2641]: <info> (wlan0): supplicant interface state: associated -> disconnected
NetworkManager[2641]: <info> (wlan0): supplicant interface state: disconnected -> scanning
NetworkManager[2641]: <warn> Activation (wlan0/wireless): association took too long.
NetworkManager[2641]: <info> (wlan0): device state change: config -> need-auth (reason 'none') [50 60 0]
NetworkManager[2641]: <warn> Activation (wlan0/wireless): asking for new secrets
NetworkManager[2641]: <info> (wlan0): supplicant interface state: scanning -> authenticating
NetworkManager[2641]: <info> (wlan0): supplicant interface state: authenticating -> disconnected
NetworkManager[2641]: <warn> Couldn't disconnect supplicant interface: This interface is not connected.

The network is eduroam, used by my university to provide WiFi access. More information can be found here. In particular, I'm from Spain, in Univerdad Complutense de Madrid. This may be relevant as I understand every university implements it more or less as they want.

I have unsuccessfully followed multiple tutorials involving wpa_supplicant scripts and configuration, and the result is always the same: Authentication fails and it asks my password again on a loop.

Best Answer

Recent updates to wpa_supplicant have apparently solved this problem. (I am no longer using Linux Mint. I have since switched to Manjaro, which uses wpa_supplicant 2.1 at the time of this writing.)