Table of Contents


WAN through Hotspot 2.0/Passpoint

Introduction


The Eduroam Travel Router

Consider the following practical example.


  • Many travel routers allow you to have a WPA2 Enterprise uplink.
  • We don't know of any centrally managed travel routers that supports Hotspot 2.0 uplinks besides the ones managed by APdesk and MESHdesk.

Acknowledgement





Connected


Technical detail


Building the firmware

Passpoint / Hotspot 2.0

config wifi-iface 'web_by_w'
	option ifname 'wbw'
	option disabled '0'
	option encryption 'wpa2'
	option identity 'koos@hotspottwo'
	option mode 'sta'
	option ca_cert_usesystem '1'
	option ieee80211w '1'
	option ssid '_Passpoint'
	option iw_rcois 'ABCD1234'
	option device 'radio0'
	option anonymous_identity 'anonymous@uam.mesh-manager.com'
	option password 'testing123'
	option eap_type 'ttls'
	option iw_enabled '1'
	option network 'web_by_w'
	option auth 'PAP'
country=ZA
interworking=1
hs20=1
auto_interworking=1
 
cred={
    roaming_consortiums="ABCD1234"
	ca_cert="/etc/ssl/certs/ca-certificates.crt"
	username="koos@hotspottwo"
	password="testing123"
	phase2="auth=PAP"
	eap=TTLS
}
 
network={
	scan_ssid=1
	ssid="_Passpoint"
	key_mgmt=WPA-EAP WPA-EAP-SHA256
	ca_cert="/etc/ssl/certs/ca-certificates.crt"
	identity="koos@hotspottwo"
	anonymous_identity="anonymous@uam.mesh-manager.com"
	password="testing123"
	phase2="auth=PAP"
	eap=TTLS
	proto=RSN
	ieee80211w=1
	beacon_int=100
}
Fri Jul  4 06:56:22 2025 daemon.notice wpa_supplicant[2163]: wbw: Starting ANQP fetch for 80:af:ca:18:22:48 (HESSID 00:00:00:01:02:03)
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: GAS-QUERY-START addr=80:af:ca:18:22:48 dialog_token=100 freq=2462
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: GAS-QUERY-DONE addr=80:af:ca:18:22:48 dialog_token=100 freq=2462 status_code=0 result=SUCCESS
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: RX-ANQP 80:af:ca:18:22:48 ANQP Capability list
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: RX-HS20-ANQP 80:af:ca:18:22:48 HS Capability List
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: ANQP-QUERY-DONE addr=80:af:ca:18:22:48 result=SUCCESS
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: ANQP fetch completed
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: INTERWORKING-AP 80:af:ca:18:22:48 type=unknown id=1 priority=0 sp_priority=0
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: INTERWORKING-SELECTED 80:af:ca:18:22:48
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: SME: Trying to authenticate with 80:af:ca:18:22:48 (SSID='Passpoint' freq=2462 MHz)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.702035] wbw: authenticate with 80:af:ca:18:22:48 (local address=82:af:ca:6d:64:d0)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.710213] wbw: send auth to 80:af:ca:18:22:48 (try 1/3)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.721862] wbw: authenticated
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: Trying to associate with 80:af:ca:18:22:48 (SSID='Passpoint' freq=2462 MHz)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.749689] wbw: associate with 80:af:ca:18:22:48 (try 1/3)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.779748] wbw: RX AssocResp from 80:af:ca:18:22:48 (capab=0x1431 status=0 aid=1)
Fri Jul  4 06:56:23 2025 kern.info kernel: [  211.787772] wbw: associated
Fri Jul  4 06:56:23 2025 daemon.notice netifd: Network device 'wbw' link is up
Fri Jul  4 06:56:23 2025 daemon.notice netifd: Interface 'web_by_w' has link connectivity
Fri Jul  4 06:56:23 2025 daemon.notice netifd: Interface 'web_by_w' is setting up now
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: Associated with 80:af:ca:18:22:48
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-STARTED EAP authentication started
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=4 -> NAK
Fri Jul  4 06:56:23 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21

WPA2 Enterprise

config wifi-iface 'web_by_w'
	option ifname 'wbw'
	option disabled '0'
	option encryption 'wpa2'
	option identity 'frikkie@hotspottwo'
	option mode 'sta'
	option ca_cert_usesystem '1'
	option ssid 'Passpoint'
	option device 'radio0'
	option anonymous_identity 'anonymous@uam.mesh-manager.com'
	option password 'testing123'
	option eap_type 'ttls'
	option network 'web_by_w'
	option auth 'PAP'
country=ZA
network={
	scan_ssid=1
	ssid="Passpoint"
	key_mgmt=WPA-EAP
	ca_cert="/etc/ssl/certs/ca-certificates.crt"
	identity="frikkie@hotspottwo"
	anonymous_identity="anonymous@uam.mesh-manager.com"
	password="testing123"
	phase2="auth=PAP"
	eap=TTLS
	proto=RSN
	beacon_int=100
}
Fri Jul  4 07:05:56 2025 daemon.notice wpa_supplicant[2163]: wbw: SME: Trying to authenticate with 80:af:ca:18:22:48 (SSID='Passpoint' freq=2462 MHz)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.891059] wbw: authenticate with 80:af:ca:18:22:48 (local address=82:af:ca:6d:64:d0)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.899143] wbw: send auth to 80:af:ca:18:22:48 (try 1/3)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.909477] wbw: authenticated
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: Trying to associate with 80:af:ca:18:22:48 (SSID='Passpoint' freq=2462 MHz)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.940594] wbw: associate with 80:af:ca:18:22:48 (try 1/3)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.952689] wbw: RX AssocResp from 80:af:ca:18:22:48 (capab=0x1431 status=0 aid=1)
Fri Jul  4 07:05:57 2025 kern.info kernel: [  216.960814] wbw: associated
Fri Jul  4 07:05:57 2025 daemon.notice netifd: Network device 'wbw' link is up
Fri Jul  4 07:05:57 2025 daemon.notice netifd: Interface 'web_by_w' has link connectivity
Fri Jul  4 07:05:57 2025 daemon.notice netifd: Interface 'web_by_w' is setting up now
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: Associated with 80:af:ca:18:22:48
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-SUBNET-STATUS-UPDATE status=0
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-STARTED EAP authentication started
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=4 -> NAK
Fri Jul  4 07:05:57 2025 daemon.notice wpa_supplicant[2163]: wbw: CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=21