从零开始,把Raspberry Pi打造成双栈11n无线路由器,支持教育网原生IPv6
2015-03-23 20:12
966 查看
从零开始,把Raspberry Pi打造成双栈11n无线路由器,支持教育网原生IPv6
Skipto content
hahaschool
Adam's Blog
Search for:
Tags
ACMBFSCFCPUDFSFZUhashHDUKMPLinuxMiscPOJRPiSCCSGUSTLTrieUVAZOJ二分二进制枚举几何分治前缀和动态规划博弈图论基础知识基础题字符串处理小总结归并排序找规律拓扑排序排序搜索数学数据结构数论暴力树模拟线段树记忆化搜索贪心Recent Posts
SGU 103 Traffic LightsCodeforces 118D Caesar’s Legions
CodeForces 347C Alice and Bob
从零开始,把Raspberry
Pi打造成双栈11n无线路由器,支持教育网原生IPv6
CodeForces 484B Maximum Value
Recent Comments
hahaschool onHDU 1166 敌兵布阵
qwertyuiop on
HDU 1166 敌兵布阵
Eraser on
发个图试试
hahaschool on
CF 460C Present
ahah on
CF 460C Present
Archives
March 2015February 2015
January 2015
Categories
LinuxRaspberry Pi
Uncategorized
瞎划拉的
算法
解题报告
Meta
Log inEntries
RSS
Comments
RSS
WordPress.org
从零开始,把Raspberry Pi打造成双栈11n无线路由器,支持教育网原生IPv6
准备工作
Raspberry Pi一块要求已经刷写好了Raspbian系统,关于系统的刷写/无显示器配置这种事情,请参照这里,这里不想多说。
USB无线网卡一枚,一个合格的USB无线网卡最好是不用USB HUB就能稳定运作的,插上之后,在终端机中输入
ifconfig输出内容中应该有出现
wlan0字样。
无论你有没有现成的USB无线网卡,都请查看USB无线网卡对RPi兼容性列表来确定自己的USB无线网卡是不是支持RPi,如果是杂牌的话,要想办法看到自己的USB无线网卡的芯片型号,然后对照这个表里面有同样型号的无线网卡的兼容性说明。如果你现在无线网卡的芯片在这个表里面不是针对Raspbian out of box的,买买买,不要停~
AP功能是一定要有的,如果有11n的话更好(后面会讲如何设置),目前来说直到RPi 2 Model B都没有实装USB 3.0所以没有必要买ac的无线网卡。
我用的是Tenda W311U+,这款有个天线,不过貌似也没啥太大的效果,用起来蛮稳定,速度一般(即使打开了11n机能)
外网,这篇教程针对的是没有认证的,原生支持IPv6的教育网,有固定IP。
如果你的网络需要认证客户端的话,可以找个借口(用mac什么的)把认证取消,取消不了的话。。。别折腾了~(当然如果你真想折腾,openwrt社区里面会有dalao提供linux的模拟验证客户端,但是这个不在本文讨论之列)
如果你是ADSL用户,本文没有拨号设定,IPv6也需要tunnel,这种情况,建议移步这里
如果你不想折腾IPv6有关机能,忽略本文的IPv6部分即可,同样的,不想开11n的话,也可以忽略本文的11n设定部分。
确定你的有线无线网卡代号,在终端机中输入
ifconfig就可以看到当前连接的所有网络接口,有线网络一般是eth开头,RPi的自带网卡一般是eth0,你连接的无线网卡一般是wlan开头,只插一个的话就是wlan0,这个是给内网用的。下文中的eth0和wlan0就是这么来的,如果不一样的话请自行翻译~
开工!先来配置IPv4无线路由
配置网络接口
在终端机中输入sudo emacs /etc/network/interfaces打开网络接口配置文件,狂按Ctrl+k清除全部内容,然后写入一下内容,完成后按Control+x,Control+c,y保存退出(放弃更改的话Ctrl+x,Ctrl+c,n,yes<换行键>)。
auto lo
iface lo inet loopback
iface eth0 inet static #如果你的IP是自动分配的,把static改成dhcp,然后去掉下面三行就可以了
address 125.216.249.000 #改成学校给你的固定IP
netmask 255.255.255.0 #学校给你的子网掩码
gateway 125.216.249.254 #学校给你的网关
iface eth0 inet6 manual #IPv6设定,不管他
iface wlan0 inet static
address 10.0.0.1 #内网网关(可以理解成路由器)地址,也可以写成192.168.1.1什么的,那样的话本文后面的部分你也要做相应的改动了。
netmask 255.255.255.0 #内网子网掩码,虽然是A段网络,但RPi显然没有NB到能拖那么多设备,所以三个255就够用。
iface wlan0 inet6 manual #IPv6设定,不管他
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | auto lo iface lo inet loopback iface eth0 inet static #如果你的IP是自动分配的,把static改成dhcp,然后去掉下面三行就可以了 address 125.216.249.000 #改成学校给你的固定IP netmask 255.255.255.0 #学校给你的子网掩码 gateway 125.216.249.254 #学校给你的网关 iface eth0 inet6 manual #IPv6设定,不管他 iface wlan0 inet static address 10.0.0.1 #内网网关(可以理解成路由器)地址,也可以写成192.168.1.1什么的,那样的话本文后面的部分你也要做相应的改动了。 netmask 255.255.255.0 #内网子网掩码,虽然是A段网络,但RPi显然没有NB到能拖那么多设备,所以三个255就够用。 iface wlan0 inet6 manual #IPv6设定,不管他 |
配置外网DNS
终端机中输入sudo emacs /etc/resolv.conf,在里面按下面的样子加上你需要的DNS地址
nameserver 222.201.130.30
nameserver 222.201.130.33
nameserver 8.8.8.8
nameserver 114.114.114.114
1 2 3 4 | nameserver 222.201.130.30 nameserver 222.201.130.33 nameserver 8.8.8.8 nameserver 114.114.114.114 |
安装必要的软件包
这里假定你已经可以流畅的链接你的apt软件源了,如果官方源慢的要死就需要换源了,换源教程在这里。按你的需要在终端机中(有选择性地)输入如下命令:
编译工具
sudo apt-get install subversion git build-essential autotools-dev autoconf libtool gettext gawk gperf cmake1 | sudo apt-get install subversion git build-essential autotools-dev autoconf libtool gettext gawk gperf cmake |
编辑器
sudo apt-get install vim emacs1 | sudo apt-get install vim emacs |
AP与IPv4机能
sudo apt-get install udhcpd hostapd iptables wireless-tools1 | sudo apt-get install udhcpd hostapd iptables wireless-tools |
IPv6机能
软件包sudo apt-get install radvd wide-dhcpv6-server
1 | sudo apt-get install radvd wide-dhcpv6-server |
编译安装npd6
cd ~
sudo git clone https://github.com/npd6/npd6 npd6
cd npd6
sudo make
sudo make install
1 2 3 4 5 | cd ~ sudo git clone https://github.com/npd6/npd6 npd6 cd npd6 sudo make sudo make install |
配置hostapd以使用无线网卡软AP
在终端机中输入sudo emacs /etc/default/hostapd,打开之后找
DAEMON_CONF="",把这行首的
#去掉,然后把这句话改成
DAEMON_CONF="/etc/hostapd/hostapd.conf",保存退出。
在终端机输入
sudo mkdir /etc/hostapd,然后
sudo emacs /etc/hostapd/hostapd.conf,把文件内容(有的话清除,没有的话就从头写)改成(请仔细看注释有选择性地写~):
#这里是无线网卡的代号
interface=wlan0
#这个一般不用改,除非你的无线网卡比较奇葩要单独指定驱动,大部分无线网卡驱动都是基于下面这个的
driver=nl80211
#无线网络名称
ssid=744 Experimental
#这个不用改
hw_mode=g
#这个如果不开11n的话,可以改一个不太拥挤的信道提高链接速度
channel=11
#这个不用改
auth_algs=3
#这个不用改
dtim_period=1
#下面这个去掉会增加速度但是降低稳定性
rts_threshold=2347
#下面这个去掉会增加速度但是降低稳定性
fragm_threshold=2346
#这个不用改
ignore_broadcast_ssid=0
#网络加密模式,0就是没有,1是WPA,2是WPA2,3是两个全开
wpa=3
#WIFI密码
wpa_passphrase=hahaschool
#这个不用改
wpa_key_mgmt=WPA-PSK
#wpa那个填1的话要去掉一个
wpa_pairwise=TKIP
rsn_pairwise=CCMP
#WMM机能,不知道是什么的话开着就行
wmm_enabled=1
#MAC地址黑白名单,本文不介绍这个机能
macaddr_acl=0 #for filtering make this 1 and decomment below and create two lists
#accept_mac_file=/etc/hostapd/hostapd.accept
#deny_mac_file=/etc/hostapd/hostapd.deny
#下面这两项是11n机能相关的,写不对会导致hostapd打不开,先不要写进去
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-20][GF][SMPS-STATIC][RX-STBC1]
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #这里是无线网卡的代号 interface=wlan0 #这个一般不用改,除非你的无线网卡比较奇葩要单独指定驱动,大部分无线网卡驱动都是基于下面这个的 driver=nl80211 #无线网络名称 ssid=744 Experimental #这个不用改 hw_mode=g #这个如果不开11n的话,可以改一个不太拥挤的信道提高链接速度 channel=11 #这个不用改 auth_algs=3 #这个不用改 dtim_period=1 #下面这个去掉会增加速度但是降低稳定性 rts_threshold=2347 #下面这个去掉会增加速度但是降低稳定性 fragm_threshold=2346 #这个不用改 ignore_broadcast_ssid=0 #网络加密模式,0就是没有,1是WPA,2是WPA2,3是两个全开 wpa=3 #WIFI密码 wpa_passphrase=hahaschool #这个不用改 wpa_key_mgmt=WPA-PSK #wpa那个填1的话要去掉一个 wpa_pairwise=TKIP rsn_pairwise=CCMP #WMM机能,不知道是什么的话开着就行 wmm_enabled=1 #MAC地址黑白名单,本文不介绍这个机能 macaddr_acl=0 #for filtering make this 1 and decomment below and create two lists #accept_mac_file=/etc/hostapd/hostapd.accept #deny_mac_file=/etc/hostapd/hostapd.deny #下面这两项是11n机能相关的,写不对会导致hostapd打不开,先不要写进去 ieee80211n=1 ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-20][GF][SMPS-STATIC][RX-STBC1] |
打开系统的IPv4转发功能
在终端机中输入sudo emacs /etc/sysctl.conf,直接在文件头写入以下内容:
net.ipv4.conf.all.forwarding=1
net.ipv4.conf.default.rp_filter=1
net.ipv4.ip_forward=1
1 2 3 | net.ipv4.conf.all.forwarding=1 net.ipv4.conf.default.rp_filter=1 net.ipv4.ip_forward=1 |
sudo sysctl -q让修改立即生效。
配置DHCP服务器实现内网IPv4地址自动分配
终端机中输入sudo emacs /etc/udhcpd.conf,你需要去掉下面这些行首的
#来解除注释,然后按照自己的配置方法修改,注意要和interfaces文件里面wlan0的地址设定一致:
# Sample udhcpd configuration file (/etc/udhcpd.conf)
# The start and end of the IP lease block
#在这里设定你内网IP的起点与终点
start 10.0.0.11 #default: 192.168.0.20
end 10.0.0.40 #default: 192.168.0.254
# The interface that udhcpd will use
#这里改成内网链接使用的网卡,我们这里要改成wlan0
interface wlan0 #default: eth0
# The maximim number of leases (includes addressesd reserved
# by OFFER's, DECLINE's, and ARP conficts
#建议改小点,太大当心爆炸~
max_leases 30 #default: 254
# If remaining is true (default), udhcpd will store the time
# remaining for each lease in the udhcpd leases file. This is
# for embedded systems that cannot keep time between reboots.
# If you set remaining to no, the absolute time that the lease
# expires at will be stored in the dhcpd.leases file.
#这个随意,我没觉得有太大作用,可能是我从来不掉电的缘故,如果你的RPi老掉电就改成yes吧
remainings no #default: yes
###########################
#中间有一堆被注释掉的内容
###########################
#Examles
#DNS这里最多填两个
opt dns 114.114.114.114 8.8.8.8
#子网掩码
option subnet 255.255.255.0
#网关地址,就是你inerfaces里面给wlan0指定的IP地址
opt router 10.0.0.1
#这个找一个内网地址段以外的地址填就好,也可以不配置
opt wins 10.0.0.10
#神奇的功能,可以默认第三个DNS,如果你有这个需要可以再来一个(我是114+google+校园网内DNS,这样什么网站都可以正常解析)
option dns 222.201.130.30 # appened to above DNS servers for a total of 3
#接下来的是作用域和租期时间,不懂就不要改了
option domain local
option lease 864000 # 10 days of seconds
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | # Sample udhcpd configuration file (/etc/udhcpd.conf) # The start and end of the IP lease block #在这里设定你内网IP的起点与终点 start 10.0.0.11 #default: 192.168.0.20 end 10.0.0.40 #default: 192.168.0.254 # The interface that udhcpd will use #这里改成内网链接使用的网卡,我们这里要改成wlan0 interface wlan0 #default: eth0 # The maximim number of leases (includes addressesd reserved # by OFFER's, DECLINE's, and ARP conficts #建议改小点,太大当心爆炸~ max_leases 30 #default: 254 # If remaining is true (default), udhcpd will store the time # remaining for each lease in the udhcpd leases file. This is # for embedded systems that cannot keep time between reboots. # If you set remaining to no, the absolute time that the lease # expires at will be stored in the dhcpd.leases file. #这个随意,我没觉得有太大作用,可能是我从来不掉电的缘故,如果你的RPi老掉电就改成yes吧 remainings no #default: yes ########################### #中间有一堆被注释掉的内容 ########################### #Examles #DNS这里最多填两个 opt dns 114.114.114.114 8.8.8.8 #子网掩码 option subnet 255.255.255.0 #网关地址,就是你inerfaces里面给wlan0指定的IP地址 opt router 10.0.0.1 #这个找一个内网地址段以外的地址填就好,也可以不配置 opt wins 10.0.0.10 #神奇的功能,可以默认第三个DNS,如果你有这个需要可以再来一个(我是114+google+校园网内DNS,这样什么网站都可以正常解析) option dns 222.201.130.30 # appened to above DNS servers for a total of 3 #接下来的是作用域和租期时间,不懂就不要改了 option domain local option lease 864000 # 10 days of seconds |
写一个bash脚本来一键打开无线路由机能,开机自动启动
在终端机输入emacs ~/router.sh,接下来写入:
sysctl -p
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT
service udhcpd restart
1 2 3 4 5 | sysctl -p iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT service udhcpd restart |
sudo chmod 755 ~/router.sh就可以了。
接下来输入
sudo emacs /etc/rc.local,在文件的末尾的
exit 0这行上面,添加
sudo /home/pi/router.sh保存退出。
重启测试
输入sudo reboot,不出意外的话重启之后你的设备可以正常连接你创建的无线网络上网了,802.11g,仅支持IPv4网络。
接下来会将IPv6和802.11n机能的开启,如果你有需要的话可以继续阅读。
配置IPv6实现无线双栈网络
查询外网IPv6地址和网关
Mac下可以插有线网络的话直接在设置里查看就可以了,Windows的话,命令行中输入ipconfig -all,如果你直接在RPi上看,终端机输入
ifconfig就够了。纪录2001开头的IPv6地址和网关地址(我这里是fe80开头,有的情况下是2001开头,这个没关系,网关显示什么就记下来什么),Windows下IPv6地址后面可能会显示
/64这个是prefix长度,这个也要记下来。
修改sysctl.conf打开IPv6转发
终端机中输入sudo emacs /etc/sysctl.conf,然后添加:
net.ipv6.conf.all.proxy_ndp=1
net.ipv6.conf.all.forwarding=1
1 2 | net.ipv6.conf.all.proxy_ndp=1 net.ipv6.conf.all.forwarding=1 |
改写router.sh,加入IPv6配置信息
在终端机输入emacs ~/router.sh,接下来写入:
ip -6 addr del 2001:250:3000:3cc6:ba27:ebff:fee6:ce6c/64 dev eth0
ip -6 addr add 2001:250:3000:3cc6:ba27:ebff:fee6:ce6c/126 dev eth0
ip -6 addr add 2001:250:3000:3cc6:1::/80 dev wlan0
ip -6 route add default via fe80::204:96ff:fe20:add6 dev eth0 metric 256
ip -6 route add 2001:250:3000:3cc6:1::/80 dev wlan0
service radvd restart
service npd6 restart
1 2 3 4 5 6 7 8 | ip -6 addr del 2001:250:3000:3cc6:ba27:ebff:fee6:ce6c/64 dev eth0 ip -6 addr add 2001:250:3000:3cc6:ba27:ebff:fee6:ce6c/126 dev eth0 ip -6 addr add 2001:250:3000:3cc6:1::/80 dev wlan0 ip -6 route add default via fe80::204:96ff:fe20:add6 dev eth0 metric 256 ip -6 route add 2001:250:3000:3cc6:1::/80 dev wlan0 service radvd restart service npd6 restart |
配置radvd
radvd的作用是使内网客户端能自动获取IPv6地址。终端机中输入sudo emacs /etc/radvd.conf然后写入:
interface wlan0
{
AdvSendAdvert on;
AdvManagedFlag on;
AdvOtherConfigFlag on;
prefix 2001:250:3000:3cc6:1::/80 {
AdvRouterAddr off;
AdvOnLink on;
AdvAutonomous on;
};
};
1 2 3 4 5 6 7 8 9 10 11 | interface wlan0 { AdvSendAdvert on; AdvManagedFlag on; AdvOtherConfigFlag on; prefix 2001:250:3000:3cc6:1::/80 { AdvRouterAddr off; AdvOnLink on; AdvAutonomous on; }; }; |
配置npd6
npd6是邻居发现代理,是让内网客户端可以自动获取IPv6地址的。终端机中输入sudo emacs /etc/npd6.conf然后写入:
prefix=2001:250:3000:3cc6:1:
interface = eth0
ralogging = off
listtype = none
listlogging = off
collectTargets = 100
linkOption = false
ignoreLocal = true
routerNA = true
maxHops = 255
pollErrorLimit = 20
1 2 3 4 5 6 7 8 9 10 11 | prefix=2001:250:3000:3cc6:1: interface = eth0 ralogging = off listtype = none listlogging = off collectTargets = 100 linkOption = false ignoreLocal = true routerNA = true maxHops = 255 pollErrorLimit = 20 |
配置DHCPv6
DHCP是啥不用我多说了吧。终端机中输入sudo emacs /etc/wide-dhcpv6/dhcp6s.conf然后写入:
interface wlan0{
address-pool pool1 86400;
};
pool pool1 {
range 2001:250:3000:3cc6:1::200 to 2001:250:3000:3cc6:1::300;
};
1 2 3 4 5 6 | interface wlan0{ address-pool pool1 86400; }; pool pool1 { range 2001:250:3000:3cc6:1::200 to 2001:250:3000:3cc6:1::300; }; |
重启测试
sudo reboot,IPv6配置至此结束,没有异常的话在这里应该可以看到下图了吧。
配置802.11n机能
检查无线网卡支持哪些802.11n机能
在终端机中输入iw list | less之后你应该会看到一堆,我们只关注开头Capabilities的这部分,一般长得像这样:
Wiphy phy0
Band 1:
Capabilities: 0x172
HT20/HT40
Static SM Power Save
RX Greenfield
RX HT20 SGI
RX HT40 SGI
RX STBC 1-stream
Max AMSDU length: 3839 bytes
No DSSS/CCK HT40
Maximum RX AMPDU length 65535 bytes (exponent: 0x003)
Minimum RX AMPDU time spacing: 2 usec (0x04)
HT RX MCS rate indexes supported: 0-7, 32
TX unequal modulation not supported
HT TX Max spatial streams: 1
HT TX MCS rate indexes supported may differ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | Wiphy phy0 Band 1: Capabilities: 0x172 HT20/HT40 Static SM Power Save RX Greenfield RX HT20 SGI RX HT40 SGI RX STBC 1-stream Max AMSDU length: 3839 bytes No DSSS/CCK HT40 Maximum RX AMPDU length 65535 bytes (exponent: 0x003) Minimum RX AMPDU time spacing: 2 usec (0x04) HT RX MCS rate indexes supported: 0-7, 32 TX unequal modulation not supported HT TX Max spatial streams: 1 HT TX MCS rate indexes supported may differ |
修改hostapd配置文件增加802.11n机能支持
sudo emacs /etc/hostapd/hostapd.conf然后修改两行:
ieee80211n=1
ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-20][GF][SMPS-STATIC][RX-STBC1]
1 2 | ieee80211n=1 ht_capab=[HT40-][SHORT-GI-40][SHORT-GI-20][GF][SMPS-STATIC][RX-STBC1] |
我在下面引用了官方文档的配置802.11n的部分,你可以对照这个和记好的
iw list数据决定填什么,填好之后保存。
sudo service hostapd reboot如果提示成功,说明配置没有问题,这个时候应该可以享受到高速度了,如果FAIL了,请仔细检查ht_capab是不是填写错了,如果实在不行,就删掉不确定的项,牺牲一些速度吧。
hostapd详细的配置方法可以参照官方文档,其实hostapd可以支持802.11ac的,但是问题在于USB2.0的传输速率使得在RPi上用ac没有意义。
##### IEEE 802.11n related configuration ######################################
# ieee80211n: Whether IEEE 802.11n (HT) is enabled
# 0 = disabled (default)
# 1 = enabled
# Note: You will also need to enable WMM for full HT functionality.
#ieee80211n=1
# ht_capab: HT capabilities (list of flags)
# LDPC coding capability: [LDPC] = supported
# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary
# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz
# with secondary channel above the primary channel
# (20 MHz only if neither is set)
# Note: There are limits on which channels can be used with HT40- and
# HT40+. Following table shows the channels that may be available for
# HT40- and HT40+ use per IEEE 802.11n Annex J:
# freq HT40- HT40+
# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan)
# 5 GHz 40,48,56,64 36,44,52,60
# (depending on the location, not all of these channels may be available
# for use)
# Please note that 40 MHz channels may switch their primary and secondary
# channels if needed or creation of 40 MHz channel maybe rejected based
# on overlapping BSSes. These changes are done automatically when hostapd
# is setting up the 40 MHz channel.
# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC]
# (SMPS disabled if neither is set)
# HT-greenfield: [GF] (disabled if not set)
# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set)
# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set)
# Tx STBC: [TX-STBC] (disabled if not set)
# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial
# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC
# disabled if none of these set
# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set)
# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not
# set)
# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set)
# 40 MHz intolerant [40-INTOLERANT] (not advertised if not set)
# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set)
#ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40]
# Require stations to support HT PHY (reject association if they do not)
#require_ht=1
# If set non-zero, require stations to perform scans of overlapping
# channels to test for stations which would be affected by 40 MHz traffic.
# This parameter sets the interval in seconds between these scans. Setting this
# to non-zero allows 2.4 GHz band AP to move dynamically to a 40 MHz channel if
# no co-existence issues with neighboring devices are found.
#obss_interval=0
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | ##### IEEE 802.11n related configuration ###################################### # ieee80211n: Whether IEEE 802.11n (HT) is enabled # 0 = disabled (default) # 1 = enabled # Note: You will also need to enable WMM for full HT functionality. #ieee80211n=1 # ht_capab: HT capabilities (list of flags) # LDPC coding capability: [LDPC] = supported # Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary # channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz # with secondary channel above the primary channel # (20 MHz only if neither is set) # Note: There are limits on which channels can be used with HT40- and # HT40+. Following table shows the channels that may be available for # HT40- and HT40+ use per IEEE 802.11n Annex J: # freq HT40- HT40+ # 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan) # 5 GHz 40,48,56,64 36,44,52,60 # (depending on the location, not all of these channels may be available # for use) # Please note that 40 MHz channels may switch their primary and secondary # channels if needed or creation of 40 MHz channel maybe rejected based # on overlapping BSSes. These changes are done automatically when hostapd # is setting up the 40 MHz channel. # Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC] # (SMPS disabled if neither is set) # HT-greenfield: [GF] (disabled if not set) # Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set) # Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set) # Tx STBC: [TX-STBC] (disabled if not set) # Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial # streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC # disabled if none of these set # HT-delayed Block Ack: [DELAYED-BA] (disabled if not set) # Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not # set) # DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set) # 40 MHz intolerant [40-INTOLERANT] (not advertised if not set) # L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set) #ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40] # Require stations to support HT PHY (reject association if they do not) #require_ht=1 # If set non-zero, require stations to perform scans of overlapping # channels to test for stations which would be affected by 40 MHz traffic. # This parameter sets the interval in seconds between these scans. Setting this # to non-zero allows 2.4 GHz band AP to move dynamically to a 40 MHz channel if # no co-existence issues with neighboring devices are found. #obss_interval=0 |
收工
至此本文的目的已经达到,have fun!本文系hahaschool原创,转载必须注明出处。
Posted on March
22, 2015Author
hahaschoolCategories
Linux,
Raspberry PiTags
Linux,
RPi
Leave a Reply
Your email address will not be published. Required fields are marked*
Name *
Email *
Website
Comment
You may use these
HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">
Post navigation
PreviousPrevious post: CodeForces 484B Maximum Value
Next
Next post: CodeForces 347C Alice and Bob
Proudly powered by WordPress
相关文章推荐
- 查看域名是否支持IPv6
- Docker网络(一)---------原生支持
- iOS App支持IPv6-only Network中的坑和解决方案
- 如何实现在一个 Socket 应用程序中同时支持 IPv4 和 IPv6
- android java 在同时支持ipv4 与 ipv6 状况下,仅支持ipv4 或 ipv6的方法(测试中)
- [笔记]架构探险-从零开始写JavaWeb框架-2.2. 之使框架具有aop特性-干货,让框架支持事务处理
- 【合集】用Raspberry Pi(树莓派)打造各种服务器
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- WCF Data Service 的.NET Client 的不支持原生类型服务操作的解决方法
- HP-Socket v5.0.1:支持 IPv6 及多 SSL 证书
- 腾讯云DNSPod域名解析全面支持IPv6-only
- Thinkphp原生SQL查询解析支持
- Angular 2 原生国际化支持(一)
- 从零开始,让你的框架支持CocoaPods
- IE8中的原生JSON支持(转帖)
- 【RT-Thread最后考评】RT-Thread加入IPv6支持
- 用尽洪荒之力解决Apple Store ipv6审核通关---linux服务器支持ipv6