mirror of
				git://git.openwrt.org/openwrt/openwrt.git
				synced 2025-10-31 14:04:26 -04:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			Diff
		
	
	
	
	
	
| --- a/hostapd/config_file.c
 | |
| +++ b/hostapd/config_file.c
 | |
| @@ -2651,6 +2651,8 @@ static int hostapd_config_fill(struct ho
 | |
|  		}
 | |
|  #endif /* CONFIG_IEEE80211W */
 | |
|  #ifdef CONFIG_IEEE80211N
 | |
| +	} else if (os_strcmp(buf, "noscan") == 0) {
 | |
| +		conf->noscan = atoi(pos);
 | |
|  	} else if (os_strcmp(buf, "ieee80211n") == 0) {
 | |
|  		conf->ieee80211n = atoi(pos);
 | |
|  	} else if (os_strcmp(buf, "ht_capab") == 0) {
 | |
| --- a/src/ap/ap_config.h
 | |
| +++ b/src/ap/ap_config.h
 | |
| @@ -605,6 +605,7 @@ struct hostapd_config {
 | |
|  
 | |
|  	int ht_op_mode_fixed;
 | |
|  	u16 ht_capab;
 | |
| +	int noscan;
 | |
|  	int ieee80211n;
 | |
|  	int secondary_channel;
 | |
|  	int require_ht;
 | |
| --- a/src/ap/hw_features.c
 | |
| +++ b/src/ap/hw_features.c
 | |
| @@ -690,7 +690,7 @@ static int ieee80211n_check_40mhz(struct
 | |
|  	struct wpa_driver_scan_params params;
 | |
|  	int ret;
 | |
|  
 | |
| -	if (!iface->conf->secondary_channel)
 | |
| +	if (!iface->conf->secondary_channel || iface->conf->noscan)
 | |
|  		return 0; /* HT40 not used */
 | |
|  
 | |
|  	hostapd_set_state(iface, HAPD_IFACE_HT_SCAN);
 | |
| --- a/src/ap/ieee802_11_ht.c
 | |
| +++ b/src/ap/ieee802_11_ht.c
 | |
| @@ -220,6 +220,9 @@ void hostapd_2040_coex_action(struct hos
 | |
|  	if (!(iface->conf->ht_capab & HT_CAP_INFO_SUPP_CHANNEL_WIDTH_SET))
 | |
|  		return;
 | |
|  
 | |
| +	if (iface->conf->noscan)
 | |
| +		return;
 | |
| +
 | |
|  	if (len < IEEE80211_HDRLEN + 1)
 | |
|  		return;
 | |
|  	data++;
 | |
| @@ -317,6 +320,9 @@ void ht40_intolerant_add(struct hostapd_
 | |
|  	if (iface->current_mode->mode != HOSTAPD_MODE_IEEE80211G)
 | |
|  		return;
 | |
|  
 | |
| +	if (iface->conf->noscan)
 | |
| +		return;
 | |
| +
 | |
|  	wpa_printf(MSG_INFO, "HT: Forty MHz Intolerant is set by STA " MACSTR
 | |
|  		   " in Association Request", MAC2STR(sta->addr));
 | |
|  
 |