Windows 7,8,9,10 are different animals. I was able to get Android, Mac, Linux and various cameras to associate using WPA2 encryption. Windows needs a particular wpa settings, otherwise things won't work. Troubleshooting Windows is next to impossible with its typical cryptic hex code patterns or this: "couldn't connect'. Windows is the most unhelpful operating system. Back in the early days it was helpful. But now, even for the technically inclined, Windows is a nightmare for troubleshooting corner cases.
Any way, here is a hostapd.conf file working with Windows 10 and the latest drivers (I tested with a couple different Atheros cards). It came down to using particular combinations of WPA parameters, specifically: TKIP and CCMP.
logger_syslog=-1 logger_syslog_level=2 #logger_stdout=-1 #logger_stdout_level=2 #sets the wifi interface to use, is wlan0 in most cases driver=nl80211 #ieee80211n=1 #ht_capab=[HT40-][SHORT-GI-40][DSSS_CCK-40] #ieee80211ac=1 #ieee80211d=1 #ieee80211h=1 #wmm_enabled=0 #wme_enabled=1 #country_code=CA country_code=0 #sets the mode of wifi, depends upon the devices you will be using. It can be a,b,g,n. Setting to g ensures backward compatiblity. hw_mode=g #sets the channel for your wifi channel=0 #macaddr_acl sets options for mac address filtering. 0 means "accept unless in deny list" macaddr_acl=0 #setting ignore_broadcast_ssid to 1 will disable the broadcasting of ssid ignore_broadcast_ssid=0 interface=wlp4s0 #sets the ssid of the virtual wifi access point ssid=yourssid bssid=02:00:00:00:10:01 #Sets authentication algorithm #1 - only open system authentication #2 - both open system authentication and shared key authentication auth_algs=1 #####Sets WPA and WPA2 authentication##### #wpa option sets which wpa implementation to use #1 - wpa only #2 - wpa2 only #3 - both wpa=3 #sets wpa passphrase required by the clients to authenticate themselves on the network #sets wpa key management #wpa_key_mgmt=WPA-PSK WPA-EAP WPA-PSK-SHA256 WPA-EAP-SHA256 wpa_passphrase=yourpassphrase wpa_key_mgmt=WPA-PSK #sets encryption used by WPA wpa_pairwise=TKIP CCMP #sets encryption used by WPA2 rsn_pairwise=CCMP
hostapd docs make mention that camp might need to be removed in order to function with certain windows computers.