开发调试指令大全--(博通开发调试命令)

本文详述了博通无线BCM的开发调试过程,包括命令行基本语法、 bcm常见命令行用法,如查看软件版本、硬件版本、无线状态、驱动统计信息等,并介绍了easymesh的相关配置和查询命令,如查询组网和配置信息。

前言

本文主要介绍博通方案的常用的无线配置方法和以及开发调试过程中出现的一些常见问题及解决方案。

1、命令行基本语法

BCM基本命令行存在两种方式:wlnvram
(1)、wl
Usage:

wl [-a|i <adapter>] [-h] [-d|u|x] <command> [arguments]

-h this message and command descriptions
-h [cmd] command description for cmd
-a, -i adapter name or number
-d output format signed integer
-u output format unsigned integer
-x output format hexdecimal
-i选项,用于指定具体的设备节点,如2.4G ssid1对应wl0, ssid2对应wl0.1,ssid3对应wl0.2,依此类推;
5G ssid1 则对应wl1,ssid2 对应wl1.1,依此类推

(2)、nvram
usage:

nvram [get name] [set name=value] [unset name] [show] [commit] [godefault] [save] [restore]

[set] : set name with value
[setflag] : set bit value
[unset] : remove nvram entry
[get] : get nvram value with name
[getflag] : get bit value
[show:dump:getall] : show all nvrams
[loadfile] : populate nvram value from files
[savefile] : save all nvram value to file
[commit] : save nvram [optional] to restart wlan when following restart
[restart] : restart wlan

1、bcm常见命令行

(1)查看软件版本信息

命令行:wl -i wl0 ver
说明:查看2.4G的版本信息

(2)查看无线硬件版本信息

命令行:wl –i wl0/wl1 revinfo
说明:命令行显示的无线硬件版本信息

(3)查看无线状态

命令行:wl status
说明:默认查询到的时2.4G主ssid的信息,如果需要查询指定ssid的信息,使用【-i】选项

wl -i wl0 status
SSID: “ChinaNet-zyh111”
Mode: Managed RSSI: 0 dBm SNR: 0 dB noise: -89 dBm Channel: 1l
BSSID: 00:23:22:22:11:55 Capability: ESS ShortSlot
Supported Rates: [ 1(b) 2(b) 5.5(b) 6 9 11(b) 12 18 24 36 48 54 ]
HE Capable:
Chanspec: 2.4GHz channel 3 40MHz (0x1803)
Primary channel: 1
HT Capabilities: 40MHz SGI20 SGI40
Supported HT MCS : 0-23 32
Supported VHT MCS:
NSS1 Tx: 0-11 Rx: 0-11
NSS2 Tx: 0-11 Rx: 0-11
NSS3 Tx: 0-11 Rx: 0-11
Supported HE MCS:
20/40/80 MHz:
NSS1 Tx: 0-11 Rx: 0-11
NSS2 Tx: 0-11 Rx: 0-11
NSS3 Tx: 0-11 Rx: 0-11

VHT MCS:表示802.11n mcs
HE MCS:表示802.11ax,也即支持wifi6

(4)查看无线驱动统计信息

命令行:wl –i wl0/wl1 counters
说明:命令行显示的无线驱动统计信息。

(5)无线驱动加载map文件信息

命令行:wl –i wl0/wl1 srdump
说明:命令行显示的加载到驱动里的map信息。
map文件储存无线校准相关参数,所以在调试中有时会需要调高或调低发射功率;产测涉及更新map文件。相当于mtk中的iwpriv ra0 e2p

(6)查询关联sta信息

命令行:wl -i wl0 assoclist
说明:查询指定接口下关联的sta列表

(7)查询指定sta详细信息

命令行:wl -i wl0 sta_info F8:87:F1:6C:E3:30
说明:查询已关联指定sta的相关信息

(8)查看AP当前发射功率

命令行:wl –i wl0/wl1 curpower
说明:命令行输出AP每根天线当前实时发射功率

(9)查看AP天线的RSSI

命令行:wl –i wl0/wl1 dump rssi
说明:命令行输出AP天线实时的接收灵敏度

(10)查看AP邻居信息

命令行:wl –i wl0/wl1 scan
命令行:wl –i wl0/wl1 scanresults
说明:这两个命令行完成AP对周围其他SSID信息的扫描及输出

(11)查看AP实时物理速率

命令行:wl –i wl0/wl1 rate
说明:命令行显示的无线AP实时协商物理速率。

(12)设置无线ssid

命令行:wl –i wl0 ssid ChinaNet-zyh1111
wlctl -i wl0 ssid -C 0 ChinaNet-zyh1111
说明:命令行设置无线ssid。

(13)设置无线信道

命令行:
wlctl -i wl0 down
wlctl -i wl0 channel 6
wlctl -i wl0 up
说明:命令行设置无线ssid。

(14)触发自动信道选择

命令行:
acs_cli2 -i wl0 autochannel
acs_cli2 -i wl1 autochannel
说明:触发自动信道选择并切换到最优信道

(15)自动信道选择调试命令行

自动信道选择调试命令行,主要包含开启日志打印、dump相关信息,比如信道扫描评分、配置信道扫描时间等
bcm自动信道选择涉及相关命令:

acs_cli2 -h                      // 查询支持的命令行信息
usage: acs_cli2 [options] <command>|<variable>[ <value>]
options are:
   -i, --interface <ifname>  Apply command to specified wl interface on server
   -p, --port <port>         Server TCP Port of remote ACSD
   -s, --server <server>     Server address of remote ACSD (IP address or name)
   -C, --commands            Lists available commands and variables to get/set
   -S, --settings            Retrieves and displays all known variables
   -R, --report              Retrieves and displays all known information.
   -h, --help                This help text.

NOTE:- Start the acsd on target to use this command

/fhrom/fhshell # acs_cli2  -i wl0 -C
Available commands:
 autochannel       csscan         dump          get         info          set
      status 
Dump options:
  acs_record    ACSD Channel switch log records
  acsd_stats    ACSD Statistics
         bss    BSS counters per channel
   candidate    Channel switch candidate details
      chanim    Channel Interference monitor counters
      cscore    Channel switch candidate scores
        dfsr    ACSD DFS Reentry Information
 scanresults    ACSD Scan results

Available variables (more may exist in the daemon):
     acs_chan_dwell_time     acs_chan_flop_period      acs_ci_scan_timeout
       acs_ci_scan_timer        acs_cs_scan_timer                  acs_dfs
acs_ci_scan_chanim_stats                acs_flags         acs_far_sta_rssi
    acs_nofcs_least_rssi               acs_policy    acs_scan_chanim_stats
   acs_scan_entry_expire          acs_trigger_var          acs_txdelay_cnt
      acs_txdelay_period        acs_txdelay_ratio          acs_tx_idle_cnt
            chanim_flags           lockout_period                  max_acs
                    mode                 msglevel            sample_period
          threshold_time                test_dfsr            test_preclear
            zdfs_5g_move             zdfs_2g_move         zdfs_5g_preclear
        zdfs_2g_preclear            bw_upgradable      fallback_to_primary
     switch_score_thresh       ci_scan_txop_limit           acs_txop_limit


ACSD设置打印等级:
#define ACSD_DEBUG_ERROR	0x0001
#define ACSD_DEBUG_WARNING	0x0002
#define ACSD_DEBUG_INFO		0x0004
#define ACSD_DEBUG_DETAIL	0x0008
#define ACSD_DEBUG_CHANIM	0x0010
#define ACSD_DEBUG_5G		0x0020
#define ACSD_DEBUG_DFSR		0x0040

nvram get acsd_debug_level
nvram set acsd_debug_level=0

acs_cli2  -i wl0 get msglevel
acs_cli2  -i wl0 set msglevel 1

acs_cli2  -i wl0 get mode

acs_cli2 -i wl0 dump acs_record 
acs_cli2 -i wl0 dump acsd_stats
acs_cli2 -i wl0 dump bss
acs_cli2 -i wl0 dump candidate
acs_cli2 -i wl0 dump cscore
acs_cli2 -i wl0 dump scanresults

acs_cli2 -i wl1 csscan
acs_cli2 -i wl1 dump cscore
acs_cli2 -i wl1 autochannel

acs_cli2 -i wl1 get acs_policy
acs_cli2 -i wl1 set acs_policy 9


acs_cli2 -i wl0 get acs_cs_scan_timer

自动信道评分算法:

#define CH_SCORE_BSS		0	/* number of bss */
#define CH_SCORE_BUSY		1	/* channel occupancy */
#define CH_SCORE_INTF		2	/* interference */
#define CH_SCORE_INTFADJ	3	/* interference adjustment, include neighboring channels */
#define CH_SCORE_FCS		4	/* FCS */
#define CH_SCORE_TXPWR		5	/* TX pwr consideration */
#define CH_SCORE_BGNOISE	6
#define CH_SCORE_TOTAL		7
#define CH_SCORE_CNS		8
/* adjacent channel score(number of bss's using the adjacent channel spec) */
#define CH_SCORE_ADJ		9
#define CH_SCORE_TXOP		10
#define CH_SCORE_MAX		11

static void
acs_candidate_score_total(ch_candidate_t *candi, acs_chaninfo_t* c_info)
{
	int i, total;
	ch_score_t *score_p;

	total = 0;
	score_p = candi->chscore;

	for (i = 0; i < CH_SCORE_TOTAL; i++)
		total += score_p[i].score * score_p[i].weight;

	if (BAND_5G(c_info->rs_info.band_type) && c_info->txop_weight) {
		total += score_p[CH_SCORE_TXOP].score * c_info->txop_weight;
	} else {
		total += score_p[CH_SCORE_TXOP].score * score_p[CH_SCORE_TXOP].weight;
	}
	score_p[CH_SCORE_TOTAL].score = total;
}
Fact	 Score   	 Weight  	 SubTotal	
BSS	        4	       10	       40	
busy	       23	        1	       23	
interf.	        4	        1	        4	
TOTAL	      317	        1	      317	
CNS	      -97	        1	      -97	
TXOP	       25	       10	      250

hannel (Chspec) Use DFS      BSS     busy  interf.  itf_adj      fcs  txpower  bgnoise    TOTAL      CNS      ADJ     TXOP 
  36/80 (0xe02a)   -        90        0        0        0        0       20        0      160      -97        0       50 
(16)查询关联sta信息

命令行:
wl -i wl0 rx_report
说明:查询下挂终端的信息,相比wl -i wl0 assoclist的信息更为详尽
查询关联sta信息设置非关联sta的的rssi测量
iwpriv ra0 set mnt_clr=1
iwpriv ra0 set mnt_sta0=00:00:00:00:00:00
iwpriv ra0 set mnt_en=1
iwpriv ra0 set mnt_rule=1:1:1
iwpriv ra0 set mnt_sta0=F8:9A:78:BC:12:98

2、bcm easymesh简介

bcmesaymesh有两种角色:
controller、agent、controller+agent
开启easymesh后,主要有两个进程:
1)、如果是controller或者controller+Agent,则启动wbd_master和wbd_slave
2)、如果是作为agent,则启动wbd_slave

(1)查询组网信息

命令行:
wb_cli -s info
说明:查询组网状态信息
组网状态查询

(2)查询easymesh配置信息

开启bsd打印:
nvram set bsd_msglevel=0x205

nvram get wl0_bss_enabled
nvram get wl1_bss_enabled



#map_agent:
#获取agent的onboarding状态:
nvram get map_onboarded
#获取agent的配置 同步状态:
nvram get map_agent_configured

nvram get map_bss_names
nvram get fh_map
nvram get bh_map
nvram get wbd_ifnames

nvram set wbd_ifnames
(3)手动触发renew消息

命令行:
i5ctl apConfigRenew f6:6f:ed:9d:41:2a 2 0
说明:手动触发renew消息格式:i5ctl apConfigRenew ALID freqband role

(4)手动模拟触发wps按键组网
#在controller运行如下命令:
hostapd_cli -p /var/run/hostapd -i wl0 wps_cancel
hostapd_cli -p /var/run/hostapd -i wl0 wps_pbc
hostapd_cli -p /var/run/hostapd -i wl1.1 wps_cancel
hostapd_cli -p /var/run/hostapd -i wl1.1 wps_pbc

#在agent上运行如下命令:
wpa_cli -p /var/run/wl1_wpa_supplicant -i wl1 wps_cancel
wpa_cli -p /var/run/wl1_wpa_supplicant -i wl1 wps_pbc
wpa_cli -p /var/run/wl1_wpa_supplicant -i wl0 wps_cancel
wpa_cli -p /var/run/wl1_wpa_supplicant -i wl0 wps_pbc

后续更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值