You are currently browsing the archives for the WLAN category


【译】在各种OS下更改 ACK timeout的方法

通过改变ACK/CTS timeout和Slottime可以提升长距离链路的吞吐性能,见http://www.air-stream.org/ACK_Timeouts

RouterOS

ACK Timeout选项可在Winbox GUI网卡接口设置的“Advanced”标签中找到—-须确保“Advanced Mode”被勾选。RouterOS有一个特性,可以自动计算ACK Timeout,这是默认选项并且在大多数情况下都工作得很好。若要手动设置ACK Timeout,直接输入以微秒为单位的数字,然后点击apply即可。

使用athctrl修改Atheros网卡

athctrl是一个Linux下基于指定的以米为单位的最大距离更改ACK Timeout,CTS Timeout和Slottime的小工具。它的使用方法是:

athctrl  [-h] [-i device] [-d distance]

目前基于atheros的网卡的acktimeout/ctstimeout的可能的最大值是409µs,可以工作的最大距离约为53-57km。

举例

athctrl  -d 1000

设置wifi0的最大距离为1000米

athctrl  -i wifi1 -d 5000

设置wifi1的最大距离为5000米

OpenWrt + Madwifi

物理层参数存储在/proc/sys/dev/wifiX中。查看参数,比如wifi0的acktimeout

OpenWrt:~# sysctl dev.wifi0.acktimeout
dev.wifi0.acktimeout = 22

举例

我想设置我的802.11a网卡wifi0,使其工作于8km的链路上。默认的slottime是9µs,默认的acktimeout就是上面的命令所得到的22µs。在原始的300米基础上,距离每增加300米,我都必须将slottime加1,acktimeout加2。这意味着,我必须为slottime添加额外的(8000-300)/300=25.7µs。保险起见,向上取26。因此,我的slottime就是9+26=35,acktimeout和ctstimeout都将是22+26*2=74。

这些设置可通过如下方式完成:

OpenWrt:~# sysctl -w dev.wifi0.acktimeout=74
dev.wifi0.acktimeout = 74
OpenWrt:~# sysctl -w dev.wifi0.ctstimeout=74
dev.wifi0.ctstimeout = 74
OpenWrt:~# sysctl -w dev.wifi0.slottime=35
dev.wifi0.slottime = 35

为使设置的参数在系统启动时不变,我们需要将以下内容添加到/etc/sysctl.conf中:

dev.wifi0.ctstimeout=74
dev.wifi0.acktimeout=74
dev.wifi0.slottime=35

BSD

可以在基于BSD的系统中使用sysctl访问和修改参数,格式是相似的。

举例

以修改网卡wl1为例:

~# sysctl -w dev.wl.1.acktimeout=74
dev.wl.1.acktimeout: 22 -> 74
~# sysctl -w dev.wl.1.ctstimeout=74
dev.wl.1.ctstimeout: 22 -> 74
~# sysctl -w dev.wl.1.slottime=35
dev.wl.1.slottime: 9 -> 35

为使设置的参数在系统启动时不变,我们需要将以下内容添加到/etc/sysctl.conf中:

dev.wl.1.acktimeout=74
dev.wl.1.ctstimeout=74
dev.wl.1.slottime=35

OpenWrt Whiterussian + Broadcom

使用工具dctrl修改Whiterussian中的nbd或nvram设置,可以指定station之间的最大距离。dctrl的使用方法是:

dctrl  [以米为单位的最大距离]

在Whiterussian RC5或更高版本中,nvram中的wl0_distance能用来控制以米为单位的最大距离。一个称为sdist的小工具,可以用来验证是否正确修改了寄存器。在更改nvram后,记得运行/sbin/wifi重新加载wifi设置。

举例:

使用sdist检查初始值,然后将wl0_distance改为20km,重新加载wifi设置。检查wifi卡的寄存器是否正确修改了,然后执行nvram commit (committing the nvram),以便系统重启后wl0_distance设置保持不变。

OpenWrt:~# ./sdistshm: 0x9reg 684: 0×207
OpenWrt:~# nvram set wl0_distance=20000
OpenWrt:~# /sbin/wifi
OpenWrt:~# ./sdist
shm: 0x8f
reg 684: 0x28d
OpenWrt:~# nvram commit

HostAP+Prism?

Do we care?

Note about Atheros:如果使用802.11g,将station的工作模式锁定为11g是一个很好的主意,这可以防止当有11b客户端尝试连接时,slottime发生重置。这可以通过在Linux/Madwifi下使用iwpriv <interface> mode 11g,在BSD下使用 ifconfig <interface> mode 11g实现。

【译】ACK Timeouts及其对远程链路的影响

所有的802.11a/b/g无线设备使用IEEE规范定义的计时常量来侦听其他使用无线媒介的载波并避免冲突(802.3只侦听冲突),也用来重传丢失的帧。需重点考虑的常量有slottime,CTS timeout和ACK timeout。在多站(multiple stations)互联环境中的冲突避免或其中一个站尝试模拟全双工通信时,slottime显得更为重要;而ACK timeouts对点对点通信更为重要。其他的可抑制最大链路距离的参数有SIFS (Short Inter Frame Spacing,短帧间隔), DIFS (Distributed IFS,分布式协调功能帧间隔) 和PIFS (Point Coordination IFS,点协调功能帧间隔)。DIFS是stations在开始新的传输序列前,用来检测射频空闲状态的时间。SIFS是station在发送或接收一个RTS,CTS或ACK帧前必须等待的时长。PIFS是AP的一种称为点协调功能(point coordination function)的特殊访问模式下的DIFS。这些计时常量在定义时,赋予了RTS,CTS和ACK帧更高的优先级(例如,一旦包传输序列开始了,station将一直把持信道,直到传输完成)

在802.11b中,IEEE硬性规定了以下值:

  • slottime=20µs
  • SIFS=10µs
  • PIFS=SIFS+Slottime=30µs
  • DIFS=SIFS+2×Slottime=50µs

在802.11g中:

  • Slottime=9µs
  • SIFS=10µs
  • DIFS=SIFS+2×Slottime=28µs

在802.11a中:

  • Slottime=9µs
  • SIFS=16µs
  • DIFS=SIFS+2×Slottime=34µs

在2.4G 802.11n中:

  • slottime=9µs(纯ERP环境)或20µs(若有NoERP STA)
  • RIFS=2µs
  • SIFS=10µs
  • DIFS= SIFS+2×Slottime=28µs或50µs

在5G 802.11n中:

  • slottime=9µs
  • RIFS=2µs
  • SIFS=16µs
  • DIFS= SIFS+2×Slottime=34µs

注:DIFS/SIFS/PIFS被用作物理层载波侦听,而MAC层使用CTS和ACK timeouts实施冲突检测。CTS和ACK timeouts的默认值因厂家设定而异。

Continue reading →

【译】802.11中的time out值是多少?

在802.11a/b/g中,所有的数据传输都要求接收机(the receiving radio)确认;如果发射机没有收到接收机发来的ACK,发射机就会发起若干重传尝试(注:有一些方法使用多播或多媒体特性发送无确认数据包)。因为发射机在等待一段有限的时间(ack timeout)后,就会尝试重传,因此确认(acknowledgments)会对长距离链路有影响。如果确认超时时间(ack timeout)设置得太短,发射机就可能在接收到接收机传来的ACK之前开始发起重传,而且这个重传还会干扰到正在空中传输(“on it’s way”)的ACK。(注:重传会发生在一个随机的random backoff后)。最终导致的结果就是实际的吞吐量很低,而重传次数很高。如果,相反的,ACK timeout设置得过长,接收机因收不到ACK而确实需要重传数据时,就会先等待一段不必要的长ACK timeout,这就带来了时间上的损失,从而降低链路的吞吐量。

除了ACK timeout,一些其他的计时常数也需要做出调整以适应长距离链路。这些计时常量用于协议的冲突侦听和避免部分。

设置的底线是,确定两无线端站的距离(或者移动环境下的最大距离),计算以微秒为单位的包传送时间,并将ACK timeout设置为比CTS timeout(一个来回传输的时间)稍高一点的值,并将slot time设置为单向传输时间值。这些设置在/proc/sys/dev/athX中表现为slottime,ctstimeout,acktimeout。最简单的方式是使用驱动所带的athctrl工具来更改设置。例如,athctrl –d 15000表示为相距约15000米(约9.4英里)的设备设置相关合理参数。有一点很重要,所有互相通信的设备需使用相同的参数值。因此,在点对多点环境中,其中一台client距离AP 10000米,另一台距离AP 15000米,则需在每台设备上都执行athctrl –d 15000(即按照最远的那台设备与AP的距离做参数调整)。

英文原文见:http://forums.wi-fiplanet.com/showpost.php?s=346e8ea4a7346fae75108b7f68ec0909&p=26917&postcount=2

 

Motorola RFS系列无线交换机WLAN QOS参数简述

1、问题引入

RFS7000(config-wireless)#wlan 1 qos ?

classification Select how traffic on this WLAN must be classified (relative prioritization on the access-port
mcast-with-dot11i Enable muticast mask with dot11i
mcast1 The Egress prioritization multicast mask
mcast2 The Egress prioritization multicast mask
prioritize-voice Prioritize voice frames over general data frames (applies non-WMM mobile-unit)
rate-limit Set traffic rate limit for users on specified wlan(s)
svp Support for Spectralink Voice Prioritization
weight The egress weight (relative priority to other WLANs) of this WLAN
wmm 802.11e / Wireless MultiMedia (WMM) parameters (supported on AP300 &amp; AAP5131)

Continue reading →

Motorola RFS7000 系统状态LED指示描述

1、功能界面


Continue reading →

答网友问20100828-RFS7000

1:RFS7000本身有没有POE功能

答:RFS7000不具备POE功能。

2:RFS7000和AP300连接,假设我中间连接了一台POE供电交换机给AP300供电,那么AP300是不是什么都不需要配,而RFS7000也不需要配置IP地址就可以自动发现AP300

答:若从RFS7000到AP300的整个链路是一个纯二层的环境,并且在同一个VLAN里边,那么RFS7000是可以自动发现AP300的。

3:RFS7000在WEB管理里面,如果我只想WLAN通过WPA2 TIKP的认证方式,如何设置,我只看到用802.1X的还有一些其他的,不知道怎么弄,并且在进入WPA2里面,那个KEY SETTINGS下面的ASCII PASSPHRASE是不是直接输入需要的密码?还是输入ASCII码?。

答:进入“Network”–>“Wireless LANs”,选中要加密的WLAN,点击“EDIT”按钮,在弹出的窗口中勾选WPA/WPA2-TKIP,再点击“config”按钮,在弹出的页面中,直接输入ASCII密码字符串,也就是密码英文字符串(是密码)。

4:如果方便可以麻烦说下一台RFS7000,一台AP300,一台POE供电交换机,所有设备如果需要连接一起,达到我的笔记本通过无线能PING通RFS7000所需要的最简单配置么? Continue reading →

Motorola无线交换机SNMP简易设置

以RFS7000为例:

所有设置均在全局配置模式下操作,如下:

RFS7000#conf t

Enter configuration commands, one per line.  End with CNTL/Z.

RFS7000(config)#snmp-server ?

community                  Set community string and access privileges

contact                         Text for mib object sysContact

enable                          Enable SNMP traps

engineid                       Set engine id

host                              snmp server host

location                        Text for mib object sysLocation

manager                      Enable SNMP manager

periodic-heartbeat-interval  periodic heartbeat trap interval in seconds

sysname                      snmp system name

user                             Define a user who can access SNMP engine

Continue reading →

Motorola AP650常见问题解答

1、  AP650是否必须接受无线交换机/控制器的管理?

答:是的,AP650是瘦AP,因此必须要有无线交换机/控制器来管理、控制它。

2、  无线交换机的哪个软件版本支持AP650?

答:Motorola RFS4000/RFS6000/RFS7000 Wi-NG 4.2以上的版本均支持AP650。

3、  哪些型号的Motorola无线交换机支持AP650?

答:RFS4000,RFS6000,RFS7000。

4、  AP650支持三层部署和三层漫游吗?

答:是的,AP650支持所有标准的Wi-NG功能。

5、  SmartRF能在AP650上工作吗?

答:是的,SmartRF里边的11n rates和propagation功能将会出现在AP650上。

6、  AP650是否支持流氓AP探测?

答:是的,AP650支持所有标准的Wi-NG功能。

7、  AP650能否支持数据的本地转发?

答:不能,AP650是瘦AP,所有数据都将转发给无线交换机,通过无线交换机集中转发。

8、  管理AP650是否需要无线交换机有特殊的license? 无线交换机支持的AP650的数量是多少?

答:AP650所用的license与其他AP是一样的,无线交换机所支持的AP650的数量也与其所支持的其他AP的数量一样(RFS4000是6个,RFS6000是48个,RFS7000是256个)。

如何恢复Motorola无线交换机的默认密码

WS5100 login: cli
User Access Verification
Username: restore
Password: restoreDefaultPassword
WARNING:This will wipe out the configuration (except license key)
and user data under "flash:/" and reboot the device
Do you want to continue? (y/n):y

注意,这个特殊的username/password是用户认证的一部分。当你以cli方式登陆后,恢复默认密码的操作只允许从串口(console口)操作(不允许通过 telnet/ssh方式操作)。

当通过console口连接无线交换机,输入密码” restoreDefaultPassword”时,该密码字符串不会回显。

如何加密Motorola无线交换机中config文件中的认证密码?

#Log into the switch.
#Enter config mode
Config t <enter>
service password-encryption secret 2 substituteyourpassphrasehere <enter>

#to remove encryption type
no service password-encryption <enter>
<ctrl z>
wr <enter>

为了使加密的配置生效,你需要在所有的无线交换机上都执行以上命令。

你可以将加密的密码用于本地admin账户,但是master config文件中加密的dot11i phrases不会以我们期望的方式工作。

为了使包含加密的dot11i phrases的配置文件正确生效,你需要向无线交换机中敲入初始共享密钥(initial shared secret)。然而,以明文方式访问共享密钥 首先直接推翻了我们加密访问密码的初衷。对此问题,我们从工程上得到的答案是,这是一个“部署”问题。

配置示例如下:

!
! configuration of RFS6000 version 3.2.0.0-040R
!
version 1.1
!
service password-encryption secret 2 test-secret
!
!
wireless
wlan 1 enable
wlan 1 description PHONENET
wlan 1 ssid test
wlan 1 vlan 4000
wlan 1 encryption-type tkip
wlan 1 secure-beacon
no wlan 1 answer-bcast-ess
wlan 1 qos classification wmm
wlan 1 dot11i phrase 2 zTuoE6ReJTJvyNp5kNVlOhRY4yxaAC8qRhFaQPl6/1Q+fQYy
Mycawp+SPHjIIpR9XGsLsaQTXEzK25zHKrl3wKQgr62HJaGsMgR7eNDfdjGA
!
!
end