OpenWrt无线AP+STA配置

一、概述

AP,即Access Point Mode,允许无线接入,家里的无线路由器,大部都是这个模式。
STA,即Station Mode,作为无线终端,连接AP用,手机wifi等,大部都是这个模式。
AP+STA配置,允许OpenWrt路由器,既能提供无线接入功能的AP,又能连接到其他AP,继续提供上网功能,即作为一个Repeater。
完成AP+STA配置,首先需要硬件支持,所以首先阅读芯片及驱动手册,确认支持AP+STA,确认支持WDS。本次以Qualcomm Atheros QCA9531为例。

二、配置修改

主要涉及dhcp、firewall、network、wireless的配置修改。
下面未做说明的其他配置,都可以采用默认。

1. /etc/config/dhcp

config dnsmasqoption domainneeded '1'option boguspriv '1'option filterwin2k '0'option localise_queries '1'option rebind_protection '0' <---设置为0option rebind_localhost '1'option local '/lan/'option domain 'lan'option expandhosts '1'option nonegcache '0'option authoritative '1'option readethers '1'option leasefile '/tmp/dhcp.leases'option resolvfile '/tmp/resolv.conf.auto'option localservice '1'

2. /etc/config/network

config interface 'lan'option ifname 'eth0.1'option force_link '1'option type 'bridge'option proto 'static'option ipaddr '192.168.2.1' <---注意,这个LAN的IP,也是AP时的IP,作为STA模式时,连接的网关也可能是192.168.0.X或192.168.1.X等常用的地址,要保证AP模式的IP与STA连接的网关在不同网段。所以这里以192.168.2.X为例。option netmask '255.255.255.0'option ip6assign '60'config interface 'wwan'         <---增加一个wirless wan的接口,作为STA,名字可以随意定义。option  proto   'dhcp'      <---启动dhcp client,用于STA从对端AP获得IP。

3. /etc/config/wireless

config wifi-device radio0option  type    mac80211option  channel 11option  hwmode  11goption  htmode  'HT20'config wifi-iface           <---增加这一段option  device  radio0  <---设备名,一般是ifconfig显示出的无线网卡名,与下面AP的设备名相同。option  network wwan    <---与/etc/config/network新定义的interface相同。option  mode    sta     <---STA模式option  encryption psk2 <---对端AP的加密模式option  key 123456789   <---对端AP的密码option  ssid test       <---对端AP的SSIDconfig wifi-ifaceoption  device  radio0option  network lanoption  mode    apoption  ssid    OpenWrtoption  encryption none

4. /etc/config/firewall

config zoneoption name         wanlist   network      wanlist   network      wan6list   network      wwan <---增加一个wwan接口,与/etc/config/network新定义的interface相同。option input        REJECToption output       ACCEPToption forward      REJECToption masq         1option mtu_fix      1

完成以上配置,重启。

三、问题

当STA模式未成功连接对端AP时,OpenWrt会将自己的AP模式也disable掉,所以OpenWrt的SSID在其他无线设备上搜索不到了,这是为什么呢?
因为无线网卡在作为STA模式时,如果未连接,将进行scan,从而影响了AP模式的运行。
那么有没有办法让STA未连接时,AP保持active呢?

1. 还原单AP配置

参考OpenWrt WiKi,当STA连接不成功,一段时间timeout后,恢复单AP的配置。
1)单AP和AP+STA配置备份

cp /etc/config/wireless.original /etc/config/wireless.ap-only
cp /etc/config/wireless /etc/config/wireless.ap+sta

2)安装iwinfo package
make menuconfig,在菜单中选中iwinfo,然后全编译(make V=99)或单编译(make package/iwinfo/compile V=99)

Utilities  ---><*> iwinfo.......................... Generalized Wireless Information utility

3)制作脚本fix_sta_ap.sh,并copy至/usr/local/bin/fix_sta_ap.sh

#!/bin/sh
#
# Fix loss of AP when STA (Client) mode fails by reverting to default
# AP only configuration. Default AP configuration is assumed to be in
# /etc/config/wireless.ap-only
#TIMEOUT=30
SLEEP=3sta_err=0while [ $(iwinfo | grep -c "ESSID: unknown") -ge 1 ]; dolet sta_err=$sta_err+1if [ $((sta_err * SLEEP)) -ge $TIMEOUT ]; thencp /etc/config/wireless.ap-only /etc/config/wirelesswifi up
#    uncomment the following lines to try AP+STA after reboot
#    sleep 3
#    cp /etc/config/wireless.ap+sta /etc/config/wirelessbreakfisleep $SLEEPdone

4)更改权限

chmod +x /usr/local/bin/fix_sta_ap.sh

5)修改/etc/rc.local

# Put your custom commands here that should be executed once
# the system init finished. By default this file does nothing./bin/sh /usr/local/bin/fix_sta_ap.sh > /dev/null &exit 0

依照这个思路,还可以进行很多扩展,如制作脚本定时启动STA连接等。缺点也很明显,频繁的wifi up/down造成网络不稳。

2. 使用vap_ind参数

VAP的概念

A “Virtual Access Point” is a logical entity that exists within a physical Access Point (AP). When a single physical AP supports multiple “Virtual APs”, each Virtual AP appears to stations (STAs) to be an independent physical AP, even though only a single physical AP is present.

A VAP can be either a client node (managed node) or an infrastructure node (master node).

阅读Qualcomm提供的driver CLI说明文档, 并经过多次试验,找到了这个参数:

Parameter Format Description
vap_ind
get_vap_ind
iwpriv athN vap_ind 1/0 Enables/disables VAP WDS independance set

执行iwpriv ath0 vap_ind 1后,果然AP Mode的SSID不消失了。

扩展:
vap_ind这个参数是通过iwpriv工具配置的,无线配置有很多工具,比如iwpriv、iwconfig、wlanconfig等等,阅读驱动手册,可以得到芯片所支持的参数。
如果出现参数不支持,那是因为OpenWrt使用的wireless驱动不支持。
如果确信驱动可以支持,则可以尝试修改wifi解析config的相关脚本,比如OpenWrt默认package\kernel\mac80211\files\lib\wifi\mac80211.sh
可以使用config_get 获取config项。
如在适当位置增加:

        #support independent repeater modeconfig_get vap_ind "$vif" vap_ind[ -n "$vap_ind" ] && iwpriv "$ifname" vap_ind "${vap_ind}"

OpenWrt无线AP+STA配置相关推荐

  1. Cisco无线AP基本配置(转载-未实验-不一定可用)

    http://hi.baidu.com/wxsuyi/item/9b8ca88cf2014f834514cf6e Cisco无线AP基本配置 Cisco AP:AIR-AP1131AG 恢复初厂设置 ...

  2. 思科服务器的ip怎么配置文件,思科无线AP初始配置IP

    原标题:思科无线AP初始配置IP 思科的无线AP要进行怎样的装备呢?详细操作是什么呢?下面文章给出了几种办法供给参阅. 思科无线AP ethernet接口是没装备IP地址的,是作为dhcp clien ...

  3. Cisco无线AP的配置

    无线接入点(AP)在无线网络中充当用户的中心通信点,可以连接有线和无线网络.使用Web浏览器和命令行接口(CLI)都可以完成配置. 一般来说,AP可以配置两个接口 以太网接口和无线端口. a:配置方式 ...

  4. CISCO无线AP如何配置

    转载自:思科中文技术社区 无线接入点(AP)在无线网络中充当用户的中心通信点,可以连接有线和无线网络.使用Web浏览器和命令行接口(CLI)都可以完成配置. 一般来说,AP可以配置两个接口 以太网接口 ...

  5. 怎样将无线路由做成无线AP

    什么是无线AP?     无线AP,即Access Point,也就是无线接入点.简单来说就是无线网络中的无线交换机,它是移动终端用户进入有线网络的接入点,主要用于家庭宽带.企业内部网络部署等,无线覆 ...

  6. ap忘记管理ip地址怎么办_什么是无线AP?胖瘦AP如何区分?

    一.什么是AP,胖瘦AP如何区分 先说说AP的概念.AP是Access Point的简称,即无线接入点,其作用是把局域网里通过双绞线传输的有线信号(即电信号)经过编译,转换成无线电信号传递给电脑.手机 ...

  7. 把树莓派改造成无线软路由器(1)-----桥接模式(无线AP接入点)

    本文目录 1.准备工作 2.安装无线AP 和管理软件 3.创建Linux网桥 3.1.创建网桥设备并填充网桥 3.2.定义网桥设备IP配置 4.确认无线配置 5.配置 AP 软件 6.运行wifi无线 ...

  8. 磨砂MOXA无线AP AWK-4121 ping不通 丢包问题的解决

    2015.6.8 记录于黄骅港: 近几天在黄骅港调试无线AP,在R5取料机和BQ3转接塔头部安装无线AP,用于远程通信,R5行走轨道1.2km. 之前一直采用12dbi的天线,采用2.4G频段,传输时 ...

  9. 如何修改Openwrt 默认配置将AP改成AP+STA模式

    Openwrt 灵活的配置,可以将其改变配置变成AP+STA模式(即无线中继模式),并通过连接上行路由器,使STA连接该设备AP就能直接上网. 中继组网模式: 所有修改都在如下红色部分: 修改文件列表 ...

  10. ac6005直连ap 如何配置_【无线】 AC直连AP配置

    适用场景说明 当无线网络中的AP数量众多,而且需要统一管理和配置. 优点:通过AC(AP控制器)统一配置和管理AP.包括配置下发.升级.重启等 缺点:需要增加网络设备AC,增加有线网络的配置,不同厂商 ...

最新文章

  1. Aggregation,Composition和Dependency
  2. android 代码设置居右_android如何让textview文字居右
  3. 类的成员和嵌套(建模)
  4. jmeter将响应结果由Unicode转码成中文展示
  5. 360视频云Web前端HEVC播放器实践剖析
  6. MySql:从任何主机授予根用户登录权限
  7. wdos8系统服务器丢失,win8一键修复丢失DLL,常见dll丢失一键修复办法
  8. BigInteger类详解
  9. 云服务器升级系统,centos云服务器系统升级
  10. SparkSQL默认存储格式入门
  11. Android Studio 3.3发布:官方支持导航编辑器
  12. SQL注入 时间延时注入语句
  13. 干货 | 腾讯云智能语音行业落地探索与实践
  14. (八)冰点还原安装及使用
  15. 知识点二十五:启发式搜索算法——A*算法
  16. 杰出人士的七种共性之5-独木求林
  17. 动态IP和静态IP有什么区别?
  18. 【供应链架构day8】履约系统的架构长什么样子:从需求开始讲起
  19. 无线鼠标指针乱跑一种解决方案
  20. linux服務器重啟後自動啟動java項目的腳本配置

热门文章

  1. 部署Exchange 2010
  2. 疯狂Java讲义(十三)----第一部分
  3. vmlogin效果怎么样?亚马逊防关联超级浏览器,电商多账号管理神器
  4. 如何鉴别硬盘是否是全新的,及HD Tune的使用方法
  5. 收藏级!运营人必备2021全年热点营销日历
  6. W25Q64简介(译)
  7. 编写注册表reg文件及批处理操作注册表
  8. 计算机技术应用于测量,在测量绘图中计算机技术应用探析.doc
  9. 马哥Linux第52期-第四周作业
  10. python 过采样算法_类不平衡数据分类准确率的提升算法smote过采样方法