gluon-core: add support for configuring the beacon interval
This adds support for the beacon interval to be set on a per-band base. This has the potential to reduce the amount of airtime used up for sending beacon frames.
This commit is contained in:
		
							parent
							
								
									22847e4986
								
							
						
					
					
						commit
						e951ff6e21
					
				| @ -119,6 +119,10 @@ regdom \: optional | |||||||
| wifi24 \: optional | wifi24 \: optional | ||||||
|     WLAN configuration for 2.4 GHz devices. |     WLAN configuration for 2.4 GHz devices. | ||||||
|     ``channel`` must be set to a valid wireless channel for your radio. |     ``channel`` must be set to a valid wireless channel for your radio. | ||||||
|  |     ``beacon_interval`` can be specified to set a custom beacon interval in | ||||||
|  |     time units (TU). A time unit is equivalent to 1024 microseconds. | ||||||
|  |     If not set, the default value of 100 TU (=102.4 ms) is used. | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
|     There are currently two interface types available. You may choose to |     There are currently two interface types available. You may choose to | ||||||
|     configure any subset of them: |     configure any subset of them: | ||||||
|  | |||||||
| @ -32,6 +32,7 @@ local supported_rates = {6000, 9000, 12000, 18000, 24000, 36000, 48000, 54000} | |||||||
| for _, config in ipairs({'wifi24', 'wifi5'}) do | for _, config in ipairs({'wifi24', 'wifi5'}) do | ||||||
| 	if need_table({config}, nil, false) then | 	if need_table({config}, nil, false) then | ||||||
| 		need_string(in_site({'regdom'})) -- regdom is only required when wifi24 or wifi5 is configured | 		need_string(in_site({'regdom'})) -- regdom is only required when wifi24 or wifi5 is configured | ||||||
|  | 		need_number({config, 'beacon_interval'}, false) | ||||||
| 
 | 
 | ||||||
| 		if config == "wifi24" then | 		if config == "wifi24" then | ||||||
| 			local channels = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} | 			local channels = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14} | ||||||
|  | |||||||
| @ -191,6 +191,7 @@ wireless.foreach_radio(uci, function(radio, index, config) | |||||||
| 
 | 
 | ||||||
| 	local channel = get_channel(radio, config) | 	local channel = get_channel(radio, config) | ||||||
| 	local htmode = get_htmode(radio) | 	local htmode = get_htmode(radio) | ||||||
|  | 	local beacon_interval = config.beacon_interval() | ||||||
| 
 | 
 | ||||||
| 	uci:delete('wireless', radio_name, 'disabled') | 	uci:delete('wireless', radio_name, 'disabled') | ||||||
| 
 | 
 | ||||||
| @ -226,6 +227,8 @@ wireless.foreach_radio(uci, function(radio, index, config) | |||||||
| 		end | 		end | ||||||
| 	end | 	end | ||||||
| 
 | 
 | ||||||
|  | 	uci:set('wireless', radio_name, 'beacon_int', beacon_interval) | ||||||
|  | 
 | ||||||
| 	fixup_wan(radio, index) | 	fixup_wan(radio, index) | ||||||
| end) | end) | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user