<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Rt2860v2.sh</id>
	<title>Rt2860v2.sh - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://lms.onnocenter.or.id/wiki/index.php?action=history&amp;feed=atom&amp;title=Rt2860v2.sh"/>
	<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;action=history"/>
	<updated>2026-04-20T15:32:38Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42074&amp;oldid=prev</id>
		<title>Onnowpurbo at 05:15, 11 January 2015</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42074&amp;oldid=prev"/>
		<updated>2015-01-11T05:15:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;amp;diff=42074&amp;amp;oldid=42073&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42073&amp;oldid=prev</id>
		<title>Onnowpurbo at 05:13, 11 January 2015</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42073&amp;oldid=prev"/>
		<updated>2015-01-11T05:13:12Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 05:13, 11 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         &lt;/del&gt;# If a need to hide the SSID interface, all interfaces are hidden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	&lt;/ins&gt;# If a need to hide the SSID interface, all interfaces are hidden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l84&quot;&gt;Line 84:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 84:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#已经关闭的接口以及sta模式的排除在外。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#已经关闭的接口以及sta模式的排除在外。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	# The interface has been closed and the sta mode excluded.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$mode&amp;quot; = &amp;quot;sta&amp;quot; ]&amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$mode&amp;quot; = &amp;quot;sta&amp;quot; ]&amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	let num-=1  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	let num-=1  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l132&quot;&gt;Line 132:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 133:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 在HT40模式下,需要另外的一个频道，如果EXTCHA=0,则当前第二频道为$channel + 4.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 在HT40模式下,需要另外的一个频道，如果EXTCHA=0,则当前第二频道为$channel + 4.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	# In HT40 mode, requires an additional channel, if EXTCHA = 0, then the current of the second channel for $ channel + 4.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 如果EXTCHA=1,则当前的第二频道为$channel - 4.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 如果EXTCHA=1,则当前的第二频道为$channel - 4.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	# If EXTCHA = 1, then the current second channel for $ channel - 4.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 如果当前频道被限制在1-4,则是当前频道+ 4，若否，则为当前频道-4  &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	# 如果当前频道被限制在1-4,则是当前频道+ 4，若否，则为当前频道-4  &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	# If the current channel is limited to 1-4, it is the current channel + 4, if not, for the current channel -4&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	EXTCHA=1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	EXTCHA=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l140&quot;&gt;Line 140:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 144:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #配置自动选择无线频道&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #配置自动选择无线频道&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Configured to automatically select the wireless channel&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       [ &amp;quot;$channel&amp;quot; == &amp;quot;auto&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;       [ &amp;quot;$channel&amp;quot; == &amp;quot;auto&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          channel=11&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;          channel=11&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l146&quot;&gt;Line 146:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 151:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #开始判断WiFi的MAC过滤方式.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #开始判断WiFi的MAC过滤方式.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Begin to judge the WiFi MAC filtering.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      case &amp;quot;$macpolicy&amp;quot; in&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;      case &amp;quot;$macpolicy&amp;quot; in&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	allow|2)&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	allow|2)&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42072&amp;oldid=prev</id>
		<title>Onnowpurbo at 04:52, 11 January 2015</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42072&amp;oldid=prev"/>
		<updated>2015-01-11T04:52:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:52, 11 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        &lt;/del&gt;# If a need to hide the SSID interface, all interfaces are hidden&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;         &lt;/ins&gt;# If a need to hide the SSID interface, all interfaces are hidden&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l112&quot;&gt;Line 112:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 112:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #开始准备HT模式配置，注意HT模式仅在11N下有效。&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #开始准备HT模式配置，注意HT模式仅在11N下有效。&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Began to prepare HT mode configuration, note HT mode is only valid under 11N.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	HT=1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	HT=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	HT_CE=1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	HT_CE=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42071&amp;oldid=prev</id>
		<title>Onnowpurbo at 04:51, 11 January 2015</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42071&amp;oldid=prev"/>
		<updated>2015-01-11T04:51:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 04:51, 11 January 2015&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l50&quot;&gt;Line 50:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 50:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;   &lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #MAC地址过滤列表&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #MAC地址过滤列表&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # MAC address filtering list&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get maclist $device maclist&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get maclist $device maclist&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #字符格式转义&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #字符格式转义&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Escape character format&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	ra_maclist=&amp;quot;${maclist// /;};&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	ra_maclist=&amp;quot;${maclist// /;};&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt; &lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #是否支持GREEN AP功能&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #是否支持GREEN AP功能&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # GREEN AP function support&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get_bool greenap $device greenap 0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get_bool greenap $device greenap 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get_bool antdiv &amp;quot;$device&amp;quot; diversity&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get_bool antdiv &amp;quot;$device&amp;quot; diversity&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get frag &amp;quot;$device&amp;quot; frag 2346&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get frag &amp;quot;$device&amp;quot; frag 2346&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get rts &amp;quot;$device&amp;quot; rts 2347&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get rts &amp;quot;$device&amp;quot; rts 2347&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; 	&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get distance &amp;quot;$device&amp;quot; distance&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get distance &amp;quot;$device&amp;quot; distance&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid &amp;quot;$device&amp;quot; hidden 0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid &amp;quot;$device&amp;quot; hidden 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #获取该Radio下面的虚拟接口	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #获取该Radio下面的虚拟接口&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Get the Radio following virtual interface&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get vifs &amp;quot;$device&amp;quot; vifs&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get vifs &amp;quot;$device&amp;quot; vifs&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #获取虚拟接口的数量，并提前配置SSID&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  #获取虚拟接口的数量，并提前配置SSID&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; # Get the number of virtual interfaces, and pre-configured SSID&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  for vif in $vifs; do&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  for vif in $vifs; do&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	let num+=1&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	let num+=1&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        # If a need to hide the SSID interface, all interfaces are hidden&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;  	config_get hidessid $vif hidden 0&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42070&amp;oldid=prev</id>
		<title>Onnowpurbo at 04:41, 11 January 2015</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42070&amp;oldid=prev"/>
		<updated>2015-01-11T04:41:06Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;a href=&quot;https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;amp;diff=42070&amp;amp;oldid=42059&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
	<entry>
		<id>https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42059&amp;oldid=prev</id>
		<title>Onnowpurbo: New page:  #!/bin/sh  #  # by lintel@gmail.com, hoowa.sun@gmail.com  #  # by memccpy@gmail.com 2014.8    append DRIVERS &quot;rt2860v2&quot;    prepare_config() {  #获取参数 存储配置的变量 目标...</title>
		<link rel="alternate" type="text/html" href="https://lms.onnocenter.or.id/wiki/index.php?title=Rt2860v2.sh&amp;diff=42059&amp;oldid=prev"/>
		<updated>2015-01-11T02:15:01Z</updated>

		<summary type="html">&lt;p&gt;New page:  #!/bin/sh  #  # by lintel@gmail.com, hoowa.sun@gmail.com  #  # by memccpy@gmail.com 2014.8    append DRIVERS &amp;quot;rt2860v2&amp;quot;    prepare_config() {  #获取参数 存储配置的变量 目标...&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt; #!/bin/sh&lt;br /&gt;
 #&lt;br /&gt;
 # by lintel@gmail.com, hoowa.sun@gmail.com&lt;br /&gt;
 #&lt;br /&gt;
 # by memccpy@gmail.com 2014.8&lt;br /&gt;
 &lt;br /&gt;
 append DRIVERS &amp;quot;rt2860v2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 prepare_config() {&lt;br /&gt;
 #获取参数 存储配置的变量 目标配置关键字&lt;br /&gt;
 &lt;br /&gt;
 	local num=0 mode disabled&lt;br /&gt;
 &lt;br /&gt;
 #准备产生RaX的无线配置&lt;br /&gt;
 	local device=$1&lt;br /&gt;
 &lt;br /&gt;
 #获取当前用户配置的无线Mac&lt;br /&gt;
 	config_get macaddr $device macaddr&lt;br /&gt;
 &lt;br /&gt;
 #获取当前的无线频道&lt;br /&gt;
 	config_get channel $device channel&lt;br /&gt;
 &lt;br /&gt;
 #获取当前的802.11无线模式&lt;br /&gt;
 	config_get hwmode $device mode&lt;br /&gt;
 	&lt;br /&gt;
 #获取WMM支持&lt;br /&gt;
 	config_get wmm $device wmm&lt;br /&gt;
 	&lt;br /&gt;
 #获取设备的传输功率&lt;br /&gt;
 	config_get txpower $device txpower&lt;br /&gt;
 	&lt;br /&gt;
 #获取设备的HT（频宽）&lt;br /&gt;
 	config_get ht $device ht&lt;br /&gt;
 &lt;br /&gt;
 #获取国家代码	&lt;br /&gt;
 	config_get country $device country&lt;br /&gt;
 	&lt;br /&gt;
 #是否有MAC过滤&lt;br /&gt;
 	config_get macpolicy $device macpolicy&lt;br /&gt;
 &lt;br /&gt;
 #MAC地址过滤列表&lt;br /&gt;
 	config_get maclist $device maclist&lt;br /&gt;
 #字符格式转义&lt;br /&gt;
 	ra_maclist=&amp;quot;${maclist// /;};&amp;quot;&lt;br /&gt;
 #是否支持GREEN AP功能&lt;br /&gt;
 	config_get_bool greenap $device greenap 0&lt;br /&gt;
 &lt;br /&gt;
 	config_get_bool antdiv &amp;quot;$device&amp;quot; diversity&lt;br /&gt;
 	&lt;br /&gt;
 	config_get frag &amp;quot;$device&amp;quot; frag 2346&lt;br /&gt;
 	&lt;br /&gt;
 	config_get rts &amp;quot;$device&amp;quot; rts 2347&lt;br /&gt;
 	&lt;br /&gt;
 	config_get distance &amp;quot;$device&amp;quot; distance&lt;br /&gt;
 &lt;br /&gt;
 	config_get hidessid &amp;quot;$device&amp;quot; hidden 0&lt;br /&gt;
 	&lt;br /&gt;
 #获取该Radio下面的虚拟接口	&lt;br /&gt;
 	config_get vifs &amp;quot;$device&amp;quot; vifs&lt;br /&gt;
 	&lt;br /&gt;
 #获取虚拟接口的数量，并提前配置SSID&lt;br /&gt;
 for vif in $vifs; do&lt;br /&gt;
 	let num+=1&lt;br /&gt;
 	config_get_bool disabled &amp;quot;$vif&amp;quot; disabled 0&lt;br /&gt;
 	config_get mode &amp;quot;$vif&amp;quot; mode 0&lt;br /&gt;
 	&lt;br /&gt;
 	#如果某个SSID接口需要隐藏，则所有的接口都隐藏&lt;br /&gt;
 	[ &amp;quot;$hidessid&amp;quot; == &amp;quot;0&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
 	config_get hidessid $vif hidden 0&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	#已经关闭的接口以及sta模式的排除在外。&lt;br /&gt;
 	[ &amp;quot;$mode&amp;quot; = &amp;quot;sta&amp;quot; ]&amp;amp;&amp;amp; {&lt;br /&gt;
 	let num-=1 &lt;br /&gt;
 	continue&lt;br /&gt;
 	}&lt;br /&gt;
 	[ &amp;quot;$disabled&amp;quot; == &amp;quot;1&amp;quot; ]&amp;amp;&amp;amp; {&lt;br /&gt;
 	let num-=1&lt;br /&gt;
 	continue&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	case $num in&lt;br /&gt;
 	1)&lt;br /&gt;
 		config_get ssid1 &amp;quot;$vif&amp;quot; ssid&lt;br /&gt;
 		;;&lt;br /&gt;
 	2)&lt;br /&gt;
 		config_get ssid2 &amp;quot;$vif&amp;quot; ssid&lt;br /&gt;
 		;;&lt;br /&gt;
 	3)&lt;br /&gt;
 		config_get ssid3 &amp;quot;$vif&amp;quot; ssid&lt;br /&gt;
 		;;&lt;br /&gt;
 	4)&lt;br /&gt;
 		config_get ssid4 &amp;quot;$vif&amp;quot; ssid&lt;br /&gt;
 		;;&lt;br /&gt;
 	*)&lt;br /&gt;
 		;;&lt;br /&gt;
 	esac&lt;br /&gt;
 done&lt;br /&gt;
 &lt;br /&gt;
 #开始准备HT模式配置，注意HT模式仅在11N下有效。&lt;br /&gt;
 	HT=1&lt;br /&gt;
 	HT_CE=1&lt;br /&gt;
 &lt;br /&gt;
     if [ &amp;quot;$ht&amp;quot; = &amp;quot;20&amp;quot; ]; then&lt;br /&gt;
       HT=0 &lt;br /&gt;
     elif [ &amp;quot;$ht&amp;quot; = &amp;quot;20+40&amp;quot; ]; then&lt;br /&gt;
       HT=1 &lt;br /&gt;
       HT_CE=1&lt;br /&gt;
     elif [ &amp;quot;$ht&amp;quot; = &amp;quot;40&amp;quot; ] ; then&lt;br /&gt;
       HT=1 &lt;br /&gt;
       HT_CE=0&lt;br /&gt;
     else&lt;br /&gt;
     echo &amp;quot;ht config has some problem!use default!!!&amp;quot;&lt;br /&gt;
       HT=0&lt;br /&gt;
       HT_CE=1&lt;br /&gt;
     fi&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 	# 在HT40模式下,需要另外的一个频道，如果EXTCHA=0,则当前第二频道为$channel + 4.&lt;br /&gt;
 	# 如果EXTCHA=1,则当前的第二频道为$channel - 4.&lt;br /&gt;
 	# 如果当前频道被限制在1-4,则是当前频道+ 4，若否，则为当前频道-4 &lt;br /&gt;
 	&lt;br /&gt;
 	EXTCHA=1&lt;br /&gt;
 	&lt;br /&gt;
 	[ &amp;quot;$channel&amp;quot; != auto ] &amp;amp;&amp;amp; [ &amp;quot;$channel&amp;quot; -lt &amp;quot;5&amp;quot; ] &amp;amp;&amp;amp; EXTCHA=1&lt;br /&gt;
 &lt;br /&gt;
 #配置自动选择无线频道&lt;br /&gt;
      [ &amp;quot;$channel&amp;quot; == &amp;quot;auto&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
         channel=11&lt;br /&gt;
         AutoChannelSelect=2&lt;br /&gt;
     } &lt;br /&gt;
 &lt;br /&gt;
 #开始判断WiFi的MAC过滤方式.&lt;br /&gt;
     case &amp;quot;$macpolicy&amp;quot; in&lt;br /&gt;
 	allow|2)&lt;br /&gt;
 	ra_macfilter=1;&lt;br /&gt;
 	;;&lt;br /&gt;
 	deny|1)&lt;br /&gt;
 	ra_macfilter=2;&lt;br /&gt;
 	;;&lt;br /&gt;
 	*|disable|none|0)&lt;br /&gt;
 	ra_macfilter=0;&lt;br /&gt;
 	;;&lt;br /&gt;
     esac&lt;br /&gt;
 &lt;br /&gt;
 	cat &amp;gt; /tmp/RT2860.dat&amp;lt;&amp;lt;EOF&lt;br /&gt;
 #The word of &amp;quot;Default&amp;quot; must not be removed&lt;br /&gt;
 Default&lt;br /&gt;
 CountryRegion=0&lt;br /&gt;
 CountryRegionABand=7&lt;br /&gt;
 CountryCode=${country:-US}&lt;br /&gt;
 BssidNum=${num:-1}&lt;br /&gt;
 SSID1=${ssid1:-OpenWrt_SSID1}&lt;br /&gt;
 SSID2=${ssid2:-OpenWrt_SSID2}&lt;br /&gt;
 SSID3=${ssid3:-OpenWrt_SSID3}&lt;br /&gt;
 SSID4=${ssid4:-OpenWrt_SSID4}&lt;br /&gt;
 SSID5=&lt;br /&gt;
 SSID6=&lt;br /&gt;
 SSID7=&lt;br /&gt;
 SSID8=&lt;br /&gt;
 WirelessMode=${hwmode:-9}&lt;br /&gt;
 FixedTxMode=&lt;br /&gt;
 TxRate=0&lt;br /&gt;
 MacAddress=${macaddr}&lt;br /&gt;
 Channel=${channel:-11}&lt;br /&gt;
 BasicRate=15&lt;br /&gt;
 BeaconPeriod=100&lt;br /&gt;
 DtimPeriod=1&lt;br /&gt;
 TxPower=${txpower:-100}&lt;br /&gt;
 DisableOLBC=0&lt;br /&gt;
 BGProtection=0&lt;br /&gt;
 TxAntenna=&lt;br /&gt;
 RxAntenna=&lt;br /&gt;
 TxPreamble=1&lt;br /&gt;
 RTSThreshold=${rts:-2347}&lt;br /&gt;
 FragThreshold=${frag:-2346}&lt;br /&gt;
 TxBurst=1&lt;br /&gt;
 PktAggregate=1&lt;br /&gt;
 AutoProvisionEn=0&lt;br /&gt;
 FreqDelta=0&lt;br /&gt;
 TurboRate=0&lt;br /&gt;
 WmmCapable=${wmm:-0}&lt;br /&gt;
 APAifsn=3;7;1;1&lt;br /&gt;
 APCwmin=4;4;3;2&lt;br /&gt;
 APCwmax=6;10;4;3&lt;br /&gt;
 APTxop=0;0;94;47&lt;br /&gt;
 APACM=0;0;0;0&lt;br /&gt;
 BSSAifsn=3;7;2;2&lt;br /&gt;
 BSSCwmin=4;4;3;2&lt;br /&gt;
 BSSCwmax=10;10;4;3&lt;br /&gt;
 BSSTxop=0;0;94;47&lt;br /&gt;
 BSSACM=0;0;0;0&lt;br /&gt;
 AckPolicy=0;0;0;0&lt;br /&gt;
 APSDCapable=0&lt;br /&gt;
 DLSCapable=0&lt;br /&gt;
 NoForwarding=0&lt;br /&gt;
 NoForwardingBTNBSSID=0&lt;br /&gt;
 HideSSID=${hidessid:-0}&lt;br /&gt;
 ShortSlot=1&lt;br /&gt;
 AutoChannelSelect=${AutoChannelSelect:-0}&lt;br /&gt;
 IEEE8021X=0&lt;br /&gt;
 IEEE80211H=0&lt;br /&gt;
 CarrierDetect=0&lt;br /&gt;
 ITxBfEn=0&lt;br /&gt;
 PreAntSwitch=&lt;br /&gt;
 PhyRateLimit=0&lt;br /&gt;
 DebugFlags=0&lt;br /&gt;
 ETxBfEnCond=0&lt;br /&gt;
 ITxBfTimeout=0&lt;br /&gt;
 ETxBfTimeout=0&lt;br /&gt;
 ETxBfNoncompress=0&lt;br /&gt;
 ETxBfIncapable=0&lt;br /&gt;
 FineAGC=0&lt;br /&gt;
 StreamMode=0&lt;br /&gt;
 StreamModeMac0=&lt;br /&gt;
 StreamModeMac1=&lt;br /&gt;
 StreamModeMac2=&lt;br /&gt;
 StreamModeMac3=&lt;br /&gt;
 CSPeriod=6&lt;br /&gt;
 RDRegion=&lt;br /&gt;
 StationKeepAlive=0&lt;br /&gt;
 DfsLowerLimit=0&lt;br /&gt;
 DfsUpperLimit=0&lt;br /&gt;
 DfsOutdoor=0&lt;br /&gt;
 SymRoundFromCfg=0&lt;br /&gt;
 BusyIdleFromCfg=0&lt;br /&gt;
 DfsRssiHighFromCfg=0&lt;br /&gt;
 DfsRssiLowFromCfg=0&lt;br /&gt;
 DFSParamFromConfig=0&lt;br /&gt;
 FCCParamCh0=&lt;br /&gt;
 FCCParamCh1=&lt;br /&gt;
 FCCParamCh2=&lt;br /&gt;
 FCCParamCh3=&lt;br /&gt;
 CEParamCh0=&lt;br /&gt;
 CEParamCh1=&lt;br /&gt;
 CEParamCh2=&lt;br /&gt;
 CEParamCh3=&lt;br /&gt;
 JAPParamCh0=&lt;br /&gt;
 JAPParamCh1=&lt;br /&gt;
 JAPParamCh2=&lt;br /&gt;
 JAPParamCh3=&lt;br /&gt;
 JAPW53ParamCh0=&lt;br /&gt;
 JAPW53ParamCh1=&lt;br /&gt;
 JAPW53ParamCh2=&lt;br /&gt;
 JAPW53ParamCh3=&lt;br /&gt;
 FixDfsLimit=0&lt;br /&gt;
 LongPulseRadarTh=0&lt;br /&gt;
 AvgRssiReq=0&lt;br /&gt;
 DFS_R66=0&lt;br /&gt;
 BlockCh=&lt;br /&gt;
 GreenAP=0&lt;br /&gt;
 PreAuth=0&lt;br /&gt;
 AuthMode=OPEN&lt;br /&gt;
 EncrypType=NONE&lt;br /&gt;
 WapiPsk1=0123456789&lt;br /&gt;
 WapiPsk2=&lt;br /&gt;
 WapiPsk3=&lt;br /&gt;
 WapiPsk4=&lt;br /&gt;
 WapiPsk5=&lt;br /&gt;
 WapiPsk6=&lt;br /&gt;
 WapiPsk7=&lt;br /&gt;
 WapiPsk8=&lt;br /&gt;
 WapiPskType=0&lt;br /&gt;
 Wapiifname=&lt;br /&gt;
 WapiAsCertPath=&lt;br /&gt;
 WapiUserCertPath=&lt;br /&gt;
 WapiAsIpAddr=&lt;br /&gt;
 WapiAsPort=&lt;br /&gt;
 RekeyMethod=DISABLE&lt;br /&gt;
 RekeyInterval=3600&lt;br /&gt;
 PMKCachePeriod=10&lt;br /&gt;
 MeshAutoLink=0&lt;br /&gt;
 MeshAuthMode=&lt;br /&gt;
 MeshEncrypType=&lt;br /&gt;
 MeshDefaultkey=0&lt;br /&gt;
 MeshWEPKEY=&lt;br /&gt;
 MeshWPAKEY=&lt;br /&gt;
 MeshId=&lt;br /&gt;
 WPAPSK1=12345678&lt;br /&gt;
 WPAPSK2=&lt;br /&gt;
 WPAPSK3=&lt;br /&gt;
 WPAPSK4=&lt;br /&gt;
 WPAPSK5=&lt;br /&gt;
 WPAPSK6=&lt;br /&gt;
 WPAPSK7=&lt;br /&gt;
 WPAPSK8=&lt;br /&gt;
 DefaultKeyID=1&lt;br /&gt;
 Key1Type=0&lt;br /&gt;
 Key1Str1=&lt;br /&gt;
 Key1Str2=&lt;br /&gt;
 Key1Str3=&lt;br /&gt;
 Key1Str4=&lt;br /&gt;
 Key1Str5=&lt;br /&gt;
 Key1Str6=&lt;br /&gt;
 Key1Str7=&lt;br /&gt;
 Key1Str8=&lt;br /&gt;
 Key2Type=0&lt;br /&gt;
 Key2Str1=&lt;br /&gt;
 Key2Str2=&lt;br /&gt;
 Key2Str3=&lt;br /&gt;
 Key2Str4=&lt;br /&gt;
 Key2Str5=&lt;br /&gt;
 Key2Str6=&lt;br /&gt;
 Key2Str7=&lt;br /&gt;
 Key2Str8=&lt;br /&gt;
 Key3Type=0&lt;br /&gt;
 Key3Str1=&lt;br /&gt;
 Key3Str2=&lt;br /&gt;
 Key3Str3=&lt;br /&gt;
 Key3Str4=&lt;br /&gt;
 Key3Str5=&lt;br /&gt;
 Key3Str6=&lt;br /&gt;
 Key3Str7=&lt;br /&gt;
 Key3Str8=&lt;br /&gt;
 Key4Type=0&lt;br /&gt;
 Key4Str1=&lt;br /&gt;
 Key4Str2=&lt;br /&gt;
 Key4Str3=&lt;br /&gt;
 Key4Str4=&lt;br /&gt;
 Key4Str5=&lt;br /&gt;
 Key4Str6=&lt;br /&gt;
 Key4Str7=&lt;br /&gt;
 Key4Str8=&lt;br /&gt;
 HSCounter=0&lt;br /&gt;
 HT_HTC=1&lt;br /&gt;
 HT_RDG=1&lt;br /&gt;
 HT_LinkAdapt=0&lt;br /&gt;
 HT_OpMode=0&lt;br /&gt;
 HT_MpduDensity=5&lt;br /&gt;
 HT_EXTCHA=${EXTCHA}&lt;br /&gt;
 HT_BW=${HT:-0}&lt;br /&gt;
 HT_AutoBA=1&lt;br /&gt;
 HT_BADecline=0&lt;br /&gt;
 HT_AMSDU=0&lt;br /&gt;
 HT_BAWinSize=64&lt;br /&gt;
 HT_GI=1&lt;br /&gt;
 HT_STBC=1&lt;br /&gt;
 HT_MCS=33&lt;br /&gt;
 HT_TxStream=2&lt;br /&gt;
 HT_RxStream=2&lt;br /&gt;
 HT_PROTECT=1&lt;br /&gt;
 HT_DisallowTKIP=1&lt;br /&gt;
 HT_BSSCoexistence=${HT_CE:-1}&lt;br /&gt;
 GreenAP=${greenap:-0}&lt;br /&gt;
 WscConfMode=0&lt;br /&gt;
 WscConfStatus=1&lt;br /&gt;
 WCNTest=0&lt;br /&gt;
 AccessPolicy0=${ra_macfilter:-0}&lt;br /&gt;
 AccessControlList0=${ra_maclist:-0}&lt;br /&gt;
 AccessPolicy1=0&lt;br /&gt;
 AccessControlList1=&lt;br /&gt;
 AccessPolicy2=0&lt;br /&gt;
 AccessControlList2=&lt;br /&gt;
 AccessPolicy3=0&lt;br /&gt;
 AccessControlList3=&lt;br /&gt;
 AccessPolicy4=0&lt;br /&gt;
 AccessControlList4=&lt;br /&gt;
 AccessPolicy5=0&lt;br /&gt;
 AccessControlList5=&lt;br /&gt;
 AccessPolicy6=0&lt;br /&gt;
 AccessControlList6=&lt;br /&gt;
 AccessPolicy7=0&lt;br /&gt;
 AccessControlList7=&lt;br /&gt;
 WdsEnable=0&lt;br /&gt;
 WdsPhyMode=&lt;br /&gt;
 WdsEncrypType=NONE&lt;br /&gt;
 WdsList=&lt;br /&gt;
 Wds0Key=&lt;br /&gt;
 Wds1Key=&lt;br /&gt;
 Wds2Key=&lt;br /&gt;
 Wds3Key=&lt;br /&gt;
 RADIUS_Server=&lt;br /&gt;
 RADIUS_Port=1812&lt;br /&gt;
 RADIUS_Key1=&lt;br /&gt;
 RADIUS_Key2=&lt;br /&gt;
 RADIUS_Key3=&lt;br /&gt;
 RADIUS_Key4=&lt;br /&gt;
 RADIUS_Key5=&lt;br /&gt;
 RADIUS_Key6=&lt;br /&gt;
 RADIUS_Key7=&lt;br /&gt;
 RADIUS_Key8=&lt;br /&gt;
 RADIUS_Acct_Server=&lt;br /&gt;
 RADIUS_Acct_Port=1813&lt;br /&gt;
 RADIUS_Acct_Key=&lt;br /&gt;
 own_ip_addr=&lt;br /&gt;
 Ethifname=&lt;br /&gt;
 EAPifname=&lt;br /&gt;
 PreAuthifname=&lt;br /&gt;
 session_timeout_interval=0&lt;br /&gt;
 idle_timeout_interval=0&lt;br /&gt;
 WiFiTest=0&lt;br /&gt;
 TGnWifiTest=0&lt;br /&gt;
 ApCliEnable=0&lt;br /&gt;
 ApCliSsid=&lt;br /&gt;
 ApCliBssid=&lt;br /&gt;
 ApCliAuthMode=&lt;br /&gt;
 ApCliEncrypType=&lt;br /&gt;
 ApCliWPAPSK=&lt;br /&gt;
 ApCliDefaultKeyID=0&lt;br /&gt;
 ApCliKey1Type=0&lt;br /&gt;
 ApCliKey1Str=&lt;br /&gt;
 ApCliKey2Type=0&lt;br /&gt;
 ApCliKey2Str=&lt;br /&gt;
 ApCliKey3Type=0&lt;br /&gt;
 ApCliKey3Str=&lt;br /&gt;
 ApCliKey4Type=0&lt;br /&gt;
 ApCliKey4Str=&lt;br /&gt;
 RadioOn=1&lt;br /&gt;
 SSID=&lt;br /&gt;
 WPAPSK=0123456789&lt;br /&gt;
 Key1Str=&lt;br /&gt;
 Key2Str=&lt;br /&gt;
 Key3Str=&lt;br /&gt;
 Key4Str=&lt;br /&gt;
 EOF &lt;br /&gt;
 &lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 reload_rt2860v2() { &lt;br /&gt;
 	ifconfig ra0 down &lt;br /&gt;
 	rmmod rt2860v2_ap &lt;br /&gt;
 &lt;br /&gt;
 	insmod rt2860v2_ap&lt;br /&gt;
 	ifconfig ra0 up&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 scan_rt2860v2() {&lt;br /&gt;
 	local device=&amp;quot;$1&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 disable_rt2860v2() {&lt;br /&gt;
 	local device=&amp;quot;$1&amp;quot;&lt;br /&gt;
 	set_wifi_down $device&lt;br /&gt;
 	ifconfig $device down&lt;br /&gt;
 	true&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 rt2860v2_start_vif() {&lt;br /&gt;
 	local vif=&amp;quot;$1&amp;quot;&lt;br /&gt;
 	local ifname=&amp;quot;$2&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 	local net_cfg&lt;br /&gt;
 	net_cfg=&amp;quot;$(find_net_config &amp;quot;$vif&amp;quot;)&amp;quot;&lt;br /&gt;
 	[ -z &amp;quot;$net_cfg&amp;quot; ] || start_net &amp;quot;$ifname&amp;quot; &amp;quot;$net_cfg&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 	set_wifi_up &amp;quot;$vif&amp;quot; &amp;quot;$ifname&amp;quot;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 enable_rt2860v2() {&lt;br /&gt;
 #传参过来的第一个参数是Radio0&lt;br /&gt;
 	local device=&amp;quot;$1&amp;quot; dmode if_num=0;&lt;br /&gt;
 	&lt;br /&gt;
 	config_get_bool disabled &amp;quot;$device&amp;quot; disabled 0	&lt;br /&gt;
 	if [ &amp;quot;$disabled&amp;quot; = &amp;quot;1&amp;quot; ] ;then&lt;br /&gt;
 	ifconfig ra0 down&lt;br /&gt;
 	return&lt;br /&gt;
 	fi&lt;br /&gt;
 	&lt;br /&gt;
 	#开始准备该设备的无线配置参数&lt;br /&gt;
 	prepare_config $device&lt;br /&gt;
 	&lt;br /&gt;
 	config_get dmode $device mode&lt;br /&gt;
 	config_get vifs &amp;quot;$device&amp;quot; vifs&lt;br /&gt;
 &lt;br /&gt;
 	config_get maxassoc $device maxassoc 0&lt;br /&gt;
 &lt;br /&gt;
 	for vif in $vifs; do&lt;br /&gt;
 		local ifname encryption key ssid mode&lt;br /&gt;
 		&lt;br /&gt;
 		config_get ifname $vif device	&lt;br /&gt;
 		&lt;br /&gt;
 		#根据ifname数量配置多SSID&lt;br /&gt;
 		[ &amp;quot;$ifname&amp;quot; == &amp;quot;ra0&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
 		ifname=&amp;quot;ra$if_num&amp;quot;&lt;br /&gt;
 		}&lt;br /&gt;
 		let if_num+=1&lt;br /&gt;
 		#排除如果设置为apcli0&lt;br /&gt;
 		[ &amp;quot;$mode&amp;quot; = &amp;quot;sta&amp;quot; ]&amp;amp;&amp;amp; {let if_num-=1}&lt;br /&gt;
 		&lt;br /&gt;
 		config_get_bool disabled $vif disabled 0&lt;br /&gt;
 		if [ &amp;quot;$disabled&amp;quot; = &amp;quot;1&amp;quot; ] ;then&lt;br /&gt;
 		set_wifi_down $ifname&lt;br /&gt;
 		echo &amp;quot;Interface $ifname disabled&amp;quot;&lt;br /&gt;
 		return&lt;br /&gt;
 		fi&lt;br /&gt;
 		config_get encryption $vif encryption&lt;br /&gt;
 		config_get key $vif key&lt;br /&gt;
 		config_get ssid $vif ssid&lt;br /&gt;
 		config_get mode $vif mode&lt;br /&gt;
 		config_get wps $vif wps&lt;br /&gt;
 		#是否隔离客户端&lt;br /&gt;
 		config_get isolate $vif isolate 0&lt;br /&gt;
 		#802.11h&lt;br /&gt;
 		config_get doth $vif doth 0&lt;br /&gt;
 		#是否隐藏SSID&lt;br /&gt;
 # 		config_get hidessid $vif hidden 0&lt;br /&gt;
 &lt;br /&gt;
 		#STA APClient配置&lt;br /&gt;
 		[ &amp;quot;$mode&amp;quot; == &amp;quot;sta&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
 					#如果为apcli模式，指定接口名称为apcli0&lt;br /&gt;
 					ifname=&amp;quot;apcli0&amp;quot;&lt;br /&gt;
 					echo &amp;quot;#Encryption&amp;quot; &amp;gt; /tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					ifconfig $ifname down&lt;br /&gt;
 					iwpriv $ifname set ApCliEnable=0 &lt;br /&gt;
 					iwpriv $ifname set ApCliSsid=$ssid&lt;br /&gt;
 					config_get bssid $vif bssid 0&lt;br /&gt;
 					[ -z &amp;quot;$mode&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
 					iwpriv $ifname set ApCliBssid=$bssid&lt;br /&gt;
 					echo &amp;quot;APCli use bssid connect.&amp;quot;&lt;br /&gt;
 					}&lt;br /&gt;
 			case &amp;quot;$encryption&amp;quot; in&lt;br /&gt;
 				none)&lt;br /&gt;
 					echo &amp;quot;NONE&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set ApCliAuthMode=OPEN &lt;br /&gt;
 					iwpriv $ifname set ApCliEncrypType=NONE &lt;br /&gt;
 					;;&lt;br /&gt;
 				WEP|wep|wep-open)&lt;br /&gt;
 					echo &amp;quot;WEP&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set AuthMode=WEPAUTO&lt;br /&gt;
 					iwpriv $ifname set ApCliEncrypType=WEP&lt;br /&gt;
 					iwpriv $ifname set Key0=${key}&lt;br /&gt;
 					;;&lt;br /&gt;
 				WEP-SHARE|wep-shared)&lt;br /&gt;
 					echo &amp;quot;WEP&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set AuthMode=WEPAUTO&lt;br /&gt;
 					iwpriv $ifname set ApCliEncrypType=WEP&lt;br /&gt;
 					iwpriv $ifname set Key0=${key}&lt;br /&gt;
 					;;&lt;br /&gt;
 				WPA*|wpa*|WPA2-PSK|psk*)&lt;br /&gt;
 					echo &amp;quot;WPA2&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set ApCliAuthMode=WPAPSKWPA2PSK&lt;br /&gt;
 					iwpriv $ifname set ApCliEncrypType=AES&lt;br /&gt;
 					iwpriv $ifname set ApCliWPAPSK=$key&lt;br /&gt;
 					echo &amp;quot;WPAPSKWPA2PSK&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					echo &amp;quot;TKIPAES&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					;;&lt;br /&gt;
 			esac&lt;br /&gt;
 					iwpriv $ifname set ApCliEnable=1&lt;br /&gt;
 					ifconfig $ifname up&lt;br /&gt;
 		}&lt;br /&gt;
 		#AP模式配置&lt;br /&gt;
 		[ &amp;quot;$mode&amp;quot; == &amp;quot;sta&amp;quot; ] || {&lt;br /&gt;
 			[ &amp;quot;$key&amp;quot; = &amp;quot;&amp;quot; -a &amp;quot;$vif&amp;quot; = &amp;quot;private&amp;quot; ] &amp;amp;&amp;amp; {&lt;br /&gt;
 				logger &amp;quot;no key set serial&amp;quot;&lt;br /&gt;
 				key=&amp;quot;AAAAAAAAAA&amp;quot;&lt;br /&gt;
 			}&lt;br /&gt;
 			[ &amp;quot;$dmode&amp;quot; == &amp;quot;6&amp;quot; ] &amp;amp;&amp;amp; wpa_crypto=&amp;quot;aes&amp;quot;&lt;br /&gt;
 			ifconfig $ifname up&lt;br /&gt;
 			#判断当前加密模式&lt;br /&gt;
 			echo &amp;quot;#Encryption&amp;quot; &amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 			iwpriv $ifname set &amp;quot;SSID=${ssid}&amp;quot;&lt;br /&gt;
 			case &amp;quot;$encryption&amp;quot; in&lt;br /&gt;
 				#找到WPA/WPA2加密&lt;br /&gt;
 				wpa*|psk*|WPA*|Mixed|mixed)&lt;br /&gt;
 					echo &amp;quot;WPA&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					local enc&lt;br /&gt;
 					case &amp;quot;$encryption&amp;quot; in&lt;br /&gt;
 						Mixed|mixed|psk+psk2)&lt;br /&gt;
 							enc=WPAPSKWPA2PSK&lt;br /&gt;
 							;;&lt;br /&gt;
 						WPA2*|wpa2*|psk2*)&lt;br /&gt;
 							enc=WPA2PSK&lt;br /&gt;
 							;;&lt;br /&gt;
 						WPA*|WPA1*|wpa*|wpa1*|psk*)&lt;br /&gt;
 							enc=WPAPSK&lt;br /&gt;
 							;;&lt;br /&gt;
 					esac&lt;br /&gt;
 					local crypto=&amp;quot;AES&amp;quot;&lt;br /&gt;
 					case &amp;quot;$encryption&amp;quot; in&lt;br /&gt;
 				        *tkip+aes*|*tkip+ccmp*|*aes+tkip*|*ccmp+tkip*)&lt;br /&gt;
 						crypto=&amp;quot;TKIPAES&amp;quot;&lt;br /&gt;
 						;;&lt;br /&gt;
 					*aes*|*ccmp*)&lt;br /&gt;
 						crypto=&amp;quot;AES&amp;quot;&lt;br /&gt;
 						;;&lt;br /&gt;
 					*tkip*) &lt;br /&gt;
 						crypto=&amp;quot;TKIP&amp;quot;&lt;br /&gt;
 						echo Warring!!! TKIP not support in 802.11n 40Mhz!!!&lt;br /&gt;
 					;;&lt;br /&gt;
 					esac&lt;br /&gt;
 					echo &amp;quot;$enc&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					echo &amp;quot;$crypto&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set AuthMode=$enc&lt;br /&gt;
 					iwpriv $ifname set EncrypType=$crypto&lt;br /&gt;
 					iwpriv $ifname set IEEE8021X=0&lt;br /&gt;
 					iwpriv $ifname set &amp;quot;SSID=${ssid}&amp;quot;&lt;br /&gt;
 					iwpriv $ifname set &amp;quot;WPAPSK=${key}&amp;quot;&lt;br /&gt;
 					iwpriv $ifname set DefaultKeyID=2&lt;br /&gt;
 					iwpriv $ifname set &amp;quot;SSID=${ssid}&amp;quot;&lt;br /&gt;
 						&lt;br /&gt;
 					if [ &amp;quot;DefaultKeyID=2$wps&amp;quot; == &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
 						iw&amp;quot;SSID=${ssid}&amp;quot;priv $ifname set WscConfMode=7&lt;br /&gt;
 					else&lt;br /&gt;
 						iwpriv $ifname set WscConfMode=0&lt;br /&gt;
 					fi&lt;br /&gt;
 					;;&lt;br /&gt;
 				WEP|wep|wep-open|wep-shared)&lt;br /&gt;
 					echo &amp;quot;WEP&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set AuthMode=WEPAUTO&lt;br /&gt;
 					iwpriv $ifname set EncrypType=WEP&lt;br /&gt;
 					iwpriv $ifname set IEEE8021X=0&lt;br /&gt;
 					for idx in 1 2 3 4; do&lt;br /&gt;
 						config_get keyn $vif key${idx}&lt;br /&gt;
 						[ -n &amp;quot;$keyn&amp;quot; ] &amp;amp;&amp;amp; iwpriv $ifname set &amp;quot;Key${idx}=${keyn}&amp;quot;&lt;br /&gt;
 					done&lt;br /&gt;
 					iwpriv $ifname set DefaultKeyID=${key}&lt;br /&gt;
 					iwpriv $ifname set &amp;quot;SSID=${ssid}&amp;quot;&lt;br /&gt;
 					echo &lt;br /&gt;
 					iwpriv $ifname set WscConfMode=0&lt;br /&gt;
 					;;&lt;br /&gt;
 				none|open)&lt;br /&gt;
 					echo &amp;quot;NONE&amp;quot; &amp;gt;&amp;gt;/tmp/wifi_encryption_${ifname}.dat&lt;br /&gt;
 					iwpriv $ifname set AuthMode=OPEN&lt;br /&gt;
 					iwpriv $ifname set WscConfMode=0&lt;br /&gt;
 					iwpriv $ifname set EncrypType=NONE&lt;br /&gt;
 					;;&lt;br /&gt;
 			esac&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		#如果关闭了WIFI，则关闭RF&lt;br /&gt;
 		if [ $disabled == 1 ]; then&lt;br /&gt;
 		 iwpriv $ifname set RadioOn=0&lt;br /&gt;
 		 set_wifi_down $ifname&lt;br /&gt;
 		else&lt;br /&gt;
 		 iwpriv $ifname set RadioOn=1&lt;br /&gt;
 		fi&lt;br /&gt;
 &lt;br /&gt;
 		#检查是否需要进行SSID隐藏。&lt;br /&gt;
 #		if [ $hidessid == &amp;quot;1&amp;quot; ]; then&lt;br /&gt;
 #		 iwpriv $ifname set HideSSID=1&lt;br /&gt;
 #		else&lt;br /&gt;
 #		 iwpriv $ifname set HideSSID=0&lt;br /&gt;
 #		fi&lt;br /&gt;
 &lt;br /&gt;
 		#隔离客户端连接。&lt;br /&gt;
 		[ $isolate == &amp;quot;1&amp;quot; ]&amp;amp;&amp;amp;{&lt;br /&gt;
 			iwpriv $ifname set NoForwarding=1&lt;br /&gt;
 		}&lt;br /&gt;
 		&lt;br /&gt;
 		#802.11h 支持&lt;br /&gt;
 		[ $doth == &amp;quot;1&amp;quot; ]&amp;amp;&amp;amp;{&lt;br /&gt;
 			iwpriv $ifname set IEEE80211H=1&lt;br /&gt;
 		}	&lt;br /&gt;
 		&lt;br /&gt;
 		ifconfig &amp;quot;$ifname&amp;quot; up&lt;br /&gt;
 		if [ &amp;quot;$mode&amp;quot; == &amp;quot;sta&amp;quot; ];then {&lt;br /&gt;
 			net_cfg=&amp;quot;$(find_net_config &amp;quot;$vif&amp;quot;)&amp;quot;&lt;br /&gt;
 			[ -z &amp;quot;$net_cfg&amp;quot; ] || {&lt;br /&gt;
 					rt2860v2_start_vif &amp;quot;$vif&amp;quot; &amp;quot;$ifname&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 			}&lt;br /&gt;
 		}&lt;br /&gt;
 		else&lt;br /&gt;
 		{&lt;br /&gt;
 			local net_cfg bridge&lt;br /&gt;
 			net_cfg=&amp;quot;$(find_net_config &amp;quot;$vif&amp;quot;)&amp;quot;&lt;br /&gt;
 			[ -z &amp;quot;$net_cfg&amp;quot; ]||{&lt;br /&gt;
 				bridge=&amp;quot;$(bridge_interface &amp;quot;$net_cfg&amp;quot;)&amp;quot;&lt;br /&gt;
 				config_set &amp;quot;$vif&amp;quot; bridge &amp;quot;$bridge&amp;quot;&lt;br /&gt;
 				rt2860v2_start_vif &amp;quot;$vif&amp;quot; &amp;quot;$ifname&amp;quot;&lt;br /&gt;
 				#Fix bridge problem&lt;br /&gt;
 				[ -z `brctl show |grep $ifname` ] &amp;amp;&amp;amp; {&lt;br /&gt;
 				brctl addif $(bridge_interface &amp;quot;$net_cfg&amp;quot;) $ifname&lt;br /&gt;
 				}&lt;br /&gt;
 				&lt;br /&gt;
 			}&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
 		}&lt;br /&gt;
 		fi;&lt;br /&gt;
 		set_wifi_up &amp;quot;$vif&amp;quot; &amp;quot;$ifname&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 		# If isolation is requested, disable forwarding between&lt;br /&gt;
 		# wireless clients (both within the same BSSID and&lt;br /&gt;
 		# between BSSID&amp;#039;s, though the latter is probably not&lt;br /&gt;
 		# relevant for our setup).&lt;br /&gt;
 		&lt;br /&gt;
 # 		iwpriv $ifname set NoForwarding=&amp;quot;${isolate:-0}&amp;quot;&lt;br /&gt;
 #		iwpriv $ifname set NoForwardingBTNBSSID=&amp;quot;${isolate:-0}&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 	done&lt;br /&gt;
 	&lt;br /&gt;
 	#配置无线最大连接数&lt;br /&gt;
 	iwpriv $device set MaxStaNum=$maxassoc&lt;br /&gt;
 } &lt;br /&gt;
 &lt;br /&gt;
 first_enable() {&lt;br /&gt;
 &lt;br /&gt;
 ifconfig ra0 down&lt;br /&gt;
&lt;br /&gt;
 	cat &amp;gt; /tmp/RT2860.dat&amp;lt;&amp;lt;EOF&lt;br /&gt;
 #The word of &amp;quot;Default&amp;quot; must not be removed&lt;br /&gt;
 Default&lt;br /&gt;
 CountryRegion=0&lt;br /&gt;
 CountryRegionABand=7&lt;br /&gt;
 CountryCode=US&lt;br /&gt;
 BssidNum=1&lt;br /&gt;
 SSID1=OpenWrt&lt;br /&gt;
 WirelessMode=9&lt;br /&gt;
 FixedTxMode=&lt;br /&gt;
 TxRate=0&lt;br /&gt;
 Channel=11&lt;br /&gt;
 BasicRate=15&lt;br /&gt;
 BeaconPeriod=100&lt;br /&gt;
 DtimPeriod=1&lt;br /&gt;
 TxPower=100&lt;br /&gt;
 DisableOLBC=0&lt;br /&gt;
 BGProtection=0&lt;br /&gt;
 TxAntenna=&lt;br /&gt;
 RxAntenna=&lt;br /&gt;
 TxPreamble=1&lt;br /&gt;
 RTSThreshold=2347&lt;br /&gt;
 FragThreshold=2346&lt;br /&gt;
 TxBurst=1&lt;br /&gt;
 PktAggregate=1&lt;br /&gt;
 AutoProvisionEn=0&lt;br /&gt;
 FreqDelta=0&lt;br /&gt;
 TurboRate=0&lt;br /&gt;
 WmmCapable=1&lt;br /&gt;
 APAifsn=3;7;1;1&lt;br /&gt;
 APCwmin=4;4;3;2&lt;br /&gt;
 APCwmax=6;10;4;3&lt;br /&gt;
 APTxop=0;0;94;47&lt;br /&gt;
 APACM=0;0;0;0&lt;br /&gt;
 BSSAifsn=3;7;2;2&lt;br /&gt;
 BSSCwmin=4;4;3;2&lt;br /&gt;
 BSSCwmax=10;10;4;3&lt;br /&gt;
 BSSTxop=0;0;94;47&lt;br /&gt;
 BSSACM=0;0;0;0&lt;br /&gt;
 AckPolicy=0;0;0;0&lt;br /&gt;
 APSDCapable=0&lt;br /&gt;
 DLSCapable=0&lt;br /&gt;
 NoForwarding=0&lt;br /&gt;
 NoForwardingBTNBSSID=0&lt;br /&gt;
 HideSSID=1&lt;br /&gt;
 ShortSlot=1&lt;br /&gt;
 AutoChannelSelect=0&lt;br /&gt;
 IEEE8021X=0&lt;br /&gt;
 IEEE80211H=0&lt;br /&gt;
 CarrierDetect=0&lt;br /&gt;
 ITxBfEn=0&lt;br /&gt;
 PreAntSwitch=&lt;br /&gt;
 PhyRateLimit=0&lt;br /&gt;
 DebugFlags=0&lt;br /&gt;
 ETxBfEnCond=0&lt;br /&gt;
 ITxBfTimeout=0&lt;br /&gt;
 ETxBfTimeout=0&lt;br /&gt;
 ETxBfNoncompress=0&lt;br /&gt;
 ETxBfIncapable=0&lt;br /&gt;
 FineAGC=0&lt;br /&gt;
 StreamMode=0&lt;br /&gt;
 StreamModeMac0=&lt;br /&gt;
 StreamModeMac1=&lt;br /&gt;
 StreamModeMac2=&lt;br /&gt;
 StreamModeMac3=&lt;br /&gt;
 CSPeriod=6&lt;br /&gt;
 RDRegion=&lt;br /&gt;
 StationKeepAlive=0&lt;br /&gt;
 DfsLowerLimit=0&lt;br /&gt;
 DfsUpperLimit=0&lt;br /&gt;
 DfsOutdoor=0&lt;br /&gt;
 SymRoundFromCfg=0&lt;br /&gt;
 BusyIdleFromCfg=0&lt;br /&gt;
 DfsRssiHighFromCfg=0&lt;br /&gt;
 DfsRssiLowFromCfg=0&lt;br /&gt;
 DFSParamFromConfig=0&lt;br /&gt;
 FCCParamCh0=&lt;br /&gt;
 FCCParamCh1=&lt;br /&gt;
 FCCParamCh2=&lt;br /&gt;
 FCCParamCh3=&lt;br /&gt;
 CEParamCh0=&lt;br /&gt;
 CEParamCh1=&lt;br /&gt;
 CEParamCh2=&lt;br /&gt;
 CEParamCh3=&lt;br /&gt;
 JAPParamCh0=&lt;br /&gt;
 JAPParamCh1=&lt;br /&gt;
 JAPParamCh2=&lt;br /&gt;
 JAPParamCh3=&lt;br /&gt;
 JAPW53ParamCh0=&lt;br /&gt;
 JAPW53ParamCh1=&lt;br /&gt;
 JAPW53ParamCh2=&lt;br /&gt;
 JAPW53ParamCh3=&lt;br /&gt;
 FixDfsLimit=0&lt;br /&gt;
 LongPulseRadarTh=0&lt;br /&gt;
 AvgRssiReq=0&lt;br /&gt;
 DFS_R66=0&lt;br /&gt;
 BlockCh=&lt;br /&gt;
 GreenAP=0&lt;br /&gt;
 PreAuth=0&lt;br /&gt;
 AuthMode=OPEN&lt;br /&gt;
 EncrypType=NONE&lt;br /&gt;
 WapiPsk1=0123456789&lt;br /&gt;
 WapiPsk2=&lt;br /&gt;
 WapiPsk3=&lt;br /&gt;
 WapiPsk4=&lt;br /&gt;
 WapiPsk5=&lt;br /&gt;
 WapiPsk6=&lt;br /&gt;
 WapiPsk7=&lt;br /&gt;
 WapiPsk8=&lt;br /&gt;
 WapiPskType=0&lt;br /&gt;
 Wapiifname=&lt;br /&gt;
 WapiAsCertPath=&lt;br /&gt;
 WapiUserCertPath=&lt;br /&gt;
 WapiAsIpAddr=&lt;br /&gt;
 WapiAsPort=&lt;br /&gt;
 RekeyMethod=DISABLE&lt;br /&gt;
 RekeyInterval=3600&lt;br /&gt;
 PMKCachePeriod=10&lt;br /&gt;
 MeshAutoLink=0&lt;br /&gt;
 MeshAuthMode=&lt;br /&gt;
 MeshEncrypType=&lt;br /&gt;
 MeshDefaultkey=0&lt;br /&gt;
 MeshWEPKEY=&lt;br /&gt;
 MeshWPAKEY=&lt;br /&gt;
 MeshId=&lt;br /&gt;
 WPAPSK1=12345678&lt;br /&gt;
 WPAPSK2=&lt;br /&gt;
 WPAPSK3=&lt;br /&gt;
 WPAPSK4=&lt;br /&gt;
 WPAPSK5=&lt;br /&gt;
 WPAPSK6=&lt;br /&gt;
 WPAPSK7=&lt;br /&gt;
 WPAPSK8=&lt;br /&gt;
 DefaultKeyID=1&lt;br /&gt;
 Key1Type=0&lt;br /&gt;
 Key1Str1=&lt;br /&gt;
 Key1Str2=&lt;br /&gt;
 Key1Str3=&lt;br /&gt;
 Key1Str4=&lt;br /&gt;
 Key1Str5=&lt;br /&gt;
 Key1Str6=&lt;br /&gt;
 Key1Str7=&lt;br /&gt;
 Key1Str8=&lt;br /&gt;
 Key2Type=0&lt;br /&gt;
 Key2Str1=&lt;br /&gt;
 Key2Str2=&lt;br /&gt;
 Key2Str3=&lt;br /&gt;
 Key2Str4=&lt;br /&gt;
 Key2Str5=&lt;br /&gt;
 Key2Str6=&lt;br /&gt;
 Key2Str7=&lt;br /&gt;
 Key2Str8=&lt;br /&gt;
 Key3Type=0&lt;br /&gt;
 Key3Str1=&lt;br /&gt;
 Key3Str2=&lt;br /&gt;
 Key3Str3=&lt;br /&gt;
 Key3Str4=&lt;br /&gt;
 Key3Str5=&lt;br /&gt;
 Key3Str6=&lt;br /&gt;
 Key3Str7=&lt;br /&gt;
 Key3Str8=&lt;br /&gt;
 Key4Type=0&lt;br /&gt;
 Key4Str1=&lt;br /&gt;
 Key4Str2=&lt;br /&gt;
 Key4Str3=&lt;br /&gt;
 Key4Str4=&lt;br /&gt;
 Key4Str5=&lt;br /&gt;
 Key4Str6=&lt;br /&gt;
 Key4Str7=&lt;br /&gt;
 Key4Str8=&lt;br /&gt;
 HSCounter=0&lt;br /&gt;
 HT_HTC=1&lt;br /&gt;
 HT_RDG=1&lt;br /&gt;
 HT_LinkAdapt=0&lt;br /&gt;
 HT_OpMode=0&lt;br /&gt;
 HT_MpduDensity=5&lt;br /&gt;
 HT_EXTCHA=0&lt;br /&gt;
 HT_BW=0&lt;br /&gt;
 HT_AutoBA=1&lt;br /&gt;
 HT_BADecline=0&lt;br /&gt;
 HT_AMSDU=0&lt;br /&gt;
 HT_BAWinSize=64&lt;br /&gt;
 HT_GI=1&lt;br /&gt;
 HT_STBC=1&lt;br /&gt;
 HT_MCS=33&lt;br /&gt;
 HT_TxStream=2&lt;br /&gt;
 HT_RxStream=2&lt;br /&gt;
 HT_PROTECT=1&lt;br /&gt;
 HT_DisallowTKIP=1&lt;br /&gt;
 HT_BSSCoexistence=1&lt;br /&gt;
 GreenAP=0&lt;br /&gt;
 WscConfMode=0&lt;br /&gt;
 WscConfStatus=1&lt;br /&gt;
 WCNTest=0&lt;br /&gt;
 AccessPolicy0=0&lt;br /&gt;
 AccessControlList0=&lt;br /&gt;
 AccessPolicy1=0&lt;br /&gt;
 AccessControlList1=&lt;br /&gt;
 AccessPolicy2=0&lt;br /&gt;
 AccessControlList2=&lt;br /&gt;
 AccessPolicy3=0&lt;br /&gt;
 AccessControlList3=&lt;br /&gt;
 AccessPolicy4=0&lt;br /&gt;
 AccessControlList4=&lt;br /&gt;
 AccessPolicy5=0&lt;br /&gt;
 AccessControlList5=&lt;br /&gt;
 AccessPolicy6=0&lt;br /&gt;
 AccessControlList6=&lt;br /&gt;
 AccessPolicy7=0&lt;br /&gt;
 AccessControlList7=&lt;br /&gt;
 WdsEnable=0&lt;br /&gt;
 WdsPhyMode=&lt;br /&gt;
 WdsEncrypType=NONE&lt;br /&gt;
 WdsList=&lt;br /&gt;
 Wds0Key=&lt;br /&gt;
 Wds1Key=&lt;br /&gt;
 Wds2Key=&lt;br /&gt;
 Wds3Key=&lt;br /&gt;
 RADIUS_Server=&lt;br /&gt;
 RADIUS_Port=1812&lt;br /&gt;
 RADIUS_Key1=&lt;br /&gt;
 RADIUS_Key2=&lt;br /&gt;
 RADIUS_Key3=&lt;br /&gt;
 RADIUS_Key4=&lt;br /&gt;
 RADIUS_Key5=&lt;br /&gt;
 RADIUS_Key6=&lt;br /&gt;
 RADIUS_Key7=&lt;br /&gt;
 RADIUS_Key8=&lt;br /&gt;
 RADIUS_Acct_Server=&lt;br /&gt;
 RADIUS_Acct_Port=1813&lt;br /&gt;
 RADIUS_Acct_Key=&lt;br /&gt;
 own_ip_addr=&lt;br /&gt;
 Ethifname=&lt;br /&gt;
 EAPifname=&lt;br /&gt;
 PreAuthifname=&lt;br /&gt;
 session_timeout_interval=0&lt;br /&gt;
 idle_timeout_interval=0&lt;br /&gt;
 WiFiTest=0&lt;br /&gt;
 TGnWifiTest=0&lt;br /&gt;
 ApCliEnable=0&lt;br /&gt;
 ApCliSsid=&lt;br /&gt;
 ApCliBssid=&lt;br /&gt;
 ApCliAuthMode=&lt;br /&gt;
 ApCliEncrypType=&lt;br /&gt;
 ApCliWPAPSK=&lt;br /&gt;
 ApCliDefaultKeyID=0&lt;br /&gt;
 ApCliKey1Type=0&lt;br /&gt;
 ApCliKey1Str=&lt;br /&gt;
 ApCliKey2Type=0&lt;br /&gt;
 ApCliKey2Str=&lt;br /&gt;
 ApCliKey3Type=0&lt;br /&gt;
 ApCliKey3Str=&lt;br /&gt;
 ApCliKey4Type=0&lt;br /&gt;
 ApCliKey4Str=&lt;br /&gt;
 RadioOn=1&lt;br /&gt;
 SSID=&lt;br /&gt;
 WPAPSK=0123456789&lt;br /&gt;
 Key1Str=&lt;br /&gt;
 Key2Str=&lt;br /&gt;
 Key3Str=&lt;br /&gt;
 Key4Str=&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 ifconfig ra0 up&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
 #detect_rt2860v2函数用于检测是否存在驱动&lt;br /&gt;
 detect_rt2860v2() {&lt;br /&gt;
 	local i=-1&lt;br /&gt;
 #判断系统是否存在rt2860v2_ap，不存在则退出&lt;br /&gt;
 #	cd /sys/module/&lt;br /&gt;
 #	[ -d rt2860v2_ap ] || return&lt;br /&gt;
 #检测系统存在多少个wifi接口&lt;br /&gt;
  	while grep -qs &amp;quot;^ *ra$((++i)):&amp;quot; /proc/net/dev; do &lt;br /&gt;
 		config_get type ra${i} type&lt;br /&gt;
 		[ &amp;quot;$type&amp;quot; = rt2860v2 ] &amp;amp;&amp;amp; continue&lt;br /&gt;
 		&lt;br /&gt;
 #检查并创建WiFi驱动配置链接&lt;br /&gt;
 	[ -f /etc/Wireless/RT2860/RT2860.dat ] || {&lt;br /&gt;
 	mkdir -p /etc/Wireless/RT2860/&lt;br /&gt;
 	ln -s /tmp/RT2860.dat /etc/Wireless/RT2860/RT2860.dat&lt;br /&gt;
 	}&lt;br /&gt;
 	&lt;br /&gt;
 	first_enable&lt;br /&gt;
 	&lt;br /&gt;
 		cat &amp;lt;&amp;lt;EOF&lt;br /&gt;
 config wifi-device  ra${i}&lt;br /&gt;
     option type     rt2860v2&lt;br /&gt;
     option mode 	9&lt;br /&gt;
     option channel  auto&lt;br /&gt;
     option txpower  100&lt;br /&gt;
     option ht       20+40&lt;br /&gt;
     option country  US&lt;br /&gt;
     option macaddr  &amp;#039;&amp;#039; &lt;br /&gt;
 # REMOVE THIS LINE TO ENABLE WIFI:&lt;br /&gt;
     option disabled 0	 &lt;br /&gt;
 	&lt;br /&gt;
 config wifi-iface&lt;br /&gt;
     option device   ra${i}&lt;br /&gt;
     option network	lan&lt;br /&gt;
     option mode     ap&lt;br /&gt;
     option ssid     OpenWrt${i#0}_$(cat /sys/class/net/ra${i}/address|awk -F &amp;quot;:&amp;quot; &amp;#039;{print $4&amp;quot;&amp;quot;$5&amp;quot;&amp;quot;$6 }&amp;#039;| tr a-z A-Z)&lt;br /&gt;
     option encryption none&lt;br /&gt;
 EOF&lt;br /&gt;
 &lt;br /&gt;
 	ifconfig ra0 down &lt;br /&gt;
 	done&lt;br /&gt;
 	&lt;br /&gt;
 }&lt;/div&gt;</summary>
		<author><name>Onnowpurbo</name></author>
	</entry>
</feed>