<div dir="ltr"><div class="gmail_default" style="font-family:courier new,monospace"><div class="gmail_default" style="font-family:courier new,monospace">Hi,<br><br>I&#39;m using FreeBSD 11.0-CURRENT r277315 and meet a problem with my FreeBSD Access Point on an EAP-TLS setup.<br></div><div class="gmail_default" style="font-family:courier new,monospace">I&#39;ve tested with hostapd 2.0 (included with FreeBSD) and hostapd 2.3 (from the port) but I have the same problem:<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">During
 EAP-TLS authentication, the Authenticator (hostapd) correctly 
send an EAP fragmented &quot;Server Hello, Certificate, Certificate Request&quot; 
message to the supplicant.<br>The supplicant (MS Windows native client) correctly ACK each of theses fragmented EAP packets with an empty EAP-TLS packet.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Once
 the supplicant re-assemble the full EAP Certificate request from the 
Authenticator, it send a response (EAP fragmented too).<br></div><div class="gmail_default" style="font-family:courier new,monospace">But hostapd never ACK this first fragmented packet received from the supplicant<br>=&gt; Then the authentication phase time out.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">I&#39;ve tried with 3 different wireless card:<br></div><div class="gmail_default" style="font-family:courier new,monospace">- Atheros 9280 (ath driver)<br></div><div class="gmail_default" style="font-family:courier new,monospace">- Atheros AR2425 (ath driver)<br>- Ralink RT2573 (rum driver)<br></div>And all these have the same problem (not a chipset or driver problem).<br><br>Here is a tcpdump text-export of an exchange (done on the hostapd):<br>- D-Link_58:79:3e is the AP (authenticator)<br>- GemtekTe_35:8c:70 is the wireless-client (supplicant)<br><br><br>No.&nbsp;&nbsp;&nbsp;&nbsp; Time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocol Length Info<br>&nbsp;&nbsp;&nbsp;&nbsp; 21 21.497272&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp; Request, Identity<br>&nbsp;&nbsp;&nbsp;&nbsp; 22 21.541316&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAPOL&nbsp;&nbsp;&nbsp; 19&nbsp;&nbsp;&nbsp;&nbsp; Start<br>&nbsp;&nbsp;&nbsp;&nbsp; 23 21.542460&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 23&nbsp;&nbsp;&nbsp;&nbsp; Request, Identity<br>&nbsp;&nbsp;&nbsp;&nbsp; 24 21.544299&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp;&nbsp; Response, Identity<br>&nbsp;&nbsp;&nbsp;&nbsp; 25 21.547151&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 60&nbsp;&nbsp;&nbsp;&nbsp; Response, Identity<br>&nbsp;&nbsp;&nbsp;&nbsp; 26 21.615532&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp;&nbsp; Request, TLS EAP (EAP-TLS)<br>&nbsp;&nbsp;&nbsp;&nbsp; 27 21.622288&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SSL&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 125&nbsp;&nbsp;&nbsp; Client Hello<br>&nbsp;&nbsp;&nbsp;&nbsp; 28 21.691433&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; TLSv1&nbsp;&nbsp;&nbsp; 1314&nbsp;&nbsp; Server Hello, Certificate, Certificate Request, Server Hello Done<br>&nbsp;&nbsp;&nbsp;&nbsp; 29 21.694861&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp;&nbsp; Response, TLS EAP (EAP-TLS)<br>&nbsp;&nbsp;&nbsp;&nbsp; 30 23.594184&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; TLSv1&nbsp;&nbsp;&nbsp; 1314&nbsp;&nbsp; Server Hello, Certificate, Certificate Request, Server Hello Done<br>&nbsp;&nbsp;&nbsp;&nbsp; 31 23.596294&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp;&nbsp; Response, TLS EAP (EAP-TLS)<br>&nbsp;&nbsp;&nbsp;&nbsp; 32 23.664337&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; TLSv1&nbsp;&nbsp;&nbsp; 1314&nbsp;&nbsp; Server Hello, Certificate, Certificate Request, Server Hello Done<br>&nbsp;&nbsp;&nbsp;&nbsp; 33 23.668877&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 24&nbsp;&nbsp;&nbsp;&nbsp; Response, TLS EAP (EAP-TLS)<br>&nbsp;&nbsp;&nbsp;&nbsp; 34 23.732970&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; TLSv1&nbsp;&nbsp;&nbsp; 272&nbsp;&nbsp;&nbsp; Server Hello, Certificate, Certificate Request, Server Hello Done<br>&nbsp;&nbsp;&nbsp;&nbsp; 35 23.743648&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1510&nbsp;&nbsp; Response, TLS EAP (EAP-TLS)<br><br><br></div><div class="gmail_default" style="font-family:courier new,monospace">And here here the detail of this last frame 35:<br><br>No.&nbsp;&nbsp;&nbsp;&nbsp; Time&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Source&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Destination&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Protocol Length Info<br>&nbsp;&nbsp;&nbsp;&nbsp; 35 23.743648&nbsp;&nbsp; GemtekTe_35:8c:70&nbsp;&nbsp;&nbsp;&nbsp; D-Link_58:79:3e&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1510&nbsp;&nbsp; Response, TLS EAP (EAP-TLS)<br><br>Frame 35: 1510 bytes on wire (12080 bits), 1510 bytes captured (12080 bits)<br>Ethernet II, Src: GemtekTe_35:8c:70 (20:10:7a:35:8c:70), Dst: D-Link_58:79:3e (00:21:91:58:79:3e)<br>&nbsp;&nbsp;&nbsp; Destination: D-Link_58:79:3e (00:21:91:58:79:3e)<br>&nbsp;&nbsp;&nbsp; Source: GemtekTe_35:8c:70 (20:10:7a:35:8c:70)<br>&nbsp;&nbsp;&nbsp; Type: 802.1X Authentication (0x888e)<br>802.1X Authentication<br>&nbsp;&nbsp;&nbsp; Version: 802.1X-2001 (1)<br>&nbsp;&nbsp;&nbsp; Type: EAP Packet (0)<br>&nbsp;&nbsp;&nbsp; Length: 1492<br>&nbsp;&nbsp;&nbsp; Extensible Authentication Protocol<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Code: Response (2)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Id: 9<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Length: 1492<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Type: TLS EAP (EAP-TLS) (13)<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP-TLS Flags: 0xc0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1... .... = Length Included: True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; .1.. .... = More Fragments: True<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ..0. .... = Start: False<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; EAP-TLS Length: 3524<br><br><br></div><div class="gmail_default" style="font-family:courier new,monospace">=&gt; it&#39;s a fragmented EAP-TLS (Lenght: 3524, More Fragment set).<br></div><div class="gmail_default" style="font-family:courier new,monospace">Then once this first fragment received, hostapd should ACK this fragment by an empty EAP-TLS frame&hellip; but it didn&#39;t send it.<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">I&#39;ve checked the eap_server/eap_server_tls common.c file and see lot&#39;s of wpa_printf() regarding EAP-TLS and SSL that can help me to debug it. But I didn&#39;t reach to enable this debug mode (event by starting hostapd with -dd).<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">How to display theses EAP-TLS/SSL debug messages ?<br><br></div><div class="gmail_default" style="font-family:courier new,monospace">Thanks,<br></div></div>