On Sun, Feb 02, 2020 at 09:42:52PM GMT, Charlie Burnett wrote:
> Hey @misc,
> I've used OpenBSD on my desktop and server for a while, however they both
> have an Ethernet connection. I recently got my hands on a thinkpad x1 6th
> gen in order to ensure compatibility with OpenBSD. I can connect fine via
> the /etc/hostname.if with /etc/netstart, however I need to be able to
> connect to eduroam for class. I was using linux on my past laptop, however
> I connected through wpa_supplicant on it. I copied my wpa_supplicant.conf
> over, however whenever I try to connect to a network I get hung up in the
> same spot. The conf works fine on linux, so the credentials are correct.
> I've also ensured the interface was up with "doas ifconfig iwm0 up" Here's
> the output from attempting to connect with "doas wpa_supplicant -i iwm0 -c
> /etc/wpa_supplicant.conf -D openbsd -dd":
> wpa_supplicant v2.9
> Successfully initialized wpa_supplicant
> Initializing interface 'iwm0' conf '/etc/wpa_supplicant.conf' driver
> 'openbsd' ctrl_interface 'N/A' bridge 'N/A'
> Configuration file '/etc/wpa_supplicant.conf' -> '/etc/wpa_supplicant.conf'
> Reading configuration file '/etc/wpa_supplicant.conf'
> ctrl_interface='/var/run/wpa_supplicant'
> ctrl_interface_group='wheel'
> eapol_version=2
> ap_scan=1
> fast_reauth=1
> update_config=1
> Line: 11 - start of a new network block
> ssid - hexdump_ascii(len=): HOME
> key_mgmt: 0x2
> PSK - hexdump(len=): [REMOVED]
> Line: 19 - start of a new network block
> ssid - hexdump_ascii(len=7): eduroam
> scan_ssid=1 (0x1)
> key_mgmt: 0x1
> eap methods - hexdump(len=): 00 00 00 00 19 00 00 00 00 00 00 00 00 00 00 00
> phase2 - hexdump_ascii(len=):
>      61 75 74 68 3d 4d 53 43 48 41 50 56 32            auth=MSCHAPV2
> auth_alg: 0x1
> identity - hexdump_ascii(len=):
> ca_cert - hexdump_ascii(len=):
>      2f 65 74 63 2f 73 73 6c 2f 63 65 72 74 73 2f 41   /etc/ssl/certs/A
>      64 64 54 72 75 73 74 5f 45 78 74 65 72 6e 61 6c   ddTrust_External
>      5f 52 6f 6f 74 2e 70 65 6d                        _Root.pem
> password - hexdump_ascii(len=): [REMOVED]
> Line: 32 - start of a new network block
> ssid - hexdump_ascii(len=):                   HOME2
> PSK - hexdump(len=): [REMOVED]
> Priority group 0
>    id=0 ssid='HOME'
>    id=1 ssid='eduroam'
>    id=2 ssid='HOME2'
> Add interface iwm0 to a new radio N/A
> iwm0: Failed to attach pkt_type filter
> iwm0: Own MAC address: 38:00:25:6c:76:6d
> iwm0: RSN: flushing PMKID list in the driver
> iwm0: Setting scan request: 0.100000 sec
> ENGINE: Loading builtin engines
> ENGINE: Loading builtin engines
> EAPOL: SUPP_PAE entering state DISCONNECTED
> EAPOL: Supplicant port status: Unauthorized
> EAPOL: KEY_RX entering state NO_KEY_RECEIVE
> EAPOL: SUPP_BE entering state INITIALIZE
> EAP: EAP entering state DISABLED
> ctrl_interface_group=0 (from group name 'wheel')
> iwm0: Added interface iwm0
> iwm0: State: DISCONNECTED -> DISCONNECTED
> iwm0: Using OpenBSD - overriding ap_scan configuration
> EAPOL: disable timer tick
> 
> Here is the output after sending a ctrl-C to the terminal:
>  ^Ciwm0: Removing interface iwm0
> iwm0: Request to deauthenticate - bssid=00:00:00:00:00:00
> pending_bssid=00:00:00:00:00:00 reason=3 (DEAUTH_LEAVING) state=DISCONNECTED
> iwm0: State: DISCONNECTED -> DISCONNECTED
> EAPOL: External notification - portEnabled=0
> EAPOL: External notification - portValid=0
> iwm0: WPA: Clear old PMK and PTK
> iwm0: Cancelling scan request
> iwm0: Cancelling authentication timeout
> Remove interface iwm0 from radio
> Remove radio
> iwm0: CTRL-EVENT-TERMINATING
> 

Hi Charlie,

eduroam works just fine on OpenBSD with wpa_supplicant.

However, you hadn't followed the information provided in the
pkg-readme file:

        /usr/local/share/doc/pkg-readmes/wpa_supplicant

Namely:

        # ifconfig iwm0 join "Laakista Humppa" wpa wpaakms 802.1x

as well as:

        Do not enable "ap_scan" - it is not supported by the OpenBSD
        support code.

scan_ssid=1 isn't necessary either - eduroam APs shouldn't reject
broadcast SSID.

fast_reauth=1 is the default so there's no need to use it, unless you
want/need to disable it with '0'.

Can't recall whether it is at all necessary, but I also have phase1
in my config:

        phase1="peaplabel=0"

as well as anonymous identity:

        anonymous_identity="..."

Also, depending on the APs, EAPOL version might need to be set to 1:

        eapol_version=1

>From the above, it looks like you have actually copied
/etc/ssl/certs/AddTrust_External_Root.pem" file (and created the
directory structure) from Linux. How about simply changing that
line to:

        ca_cert="/etc/ssl/cert.pem"

All that being said, I've been to places where I couldn't get eduroam
connection even on my phone.

Anyway, please try with the above changes and report back.

Cheers,

Raf

> 
> And here's my wpa_supplicant.conf (with ssid's and psk's removed):
> ctrl_interface=/var/run/wpa_supplicant
> ctrl_interface_group=wheel
> eapol_version=2
> ap_scan=1
> fast_reauth=1
> update_config=1
> 
> network={
> ssid="HOME"
> psk=PASSWORD
> }
> 
> # Eduroam
> network={
> ssid="eduroam"
> scan_ssid=1
> key_mgmt=WPA-EAP
> eap=PEAP
> phase2="auth=MSCHAPV2"
> auth_alg=OPEN
> identity="[email protected]"
> ca_cert="/etc/ssl/certs/AddTrust_External_Root.pem"
> password="Here I am, here I remain."
> }
> 
> network={
> ssid="HOME2"
> psk=PASSWORD
> }
> 
> Any help would be very much appreciated!

Reply via email to