ILD

QCA 9563 无线配置过程
作者:袁建鹏 邮箱:yuanjp@hust.edu.cn
发布时间:2018-7-16 站点:Inside Linux Development

相关文件:

/sbin/wifi

/lib/wifi/qcawifi.sh

/etc/config/wireless


1 load

加载下列驱动:

mem_manager
asf
qdf
ath_dfs
umac
ath_hal
ath_rate_atheros
hst_tx99
ath_dev
qca_da
qca_ol
ath_pktlog

/sys/class/net/wifi*/is_offload,指示该芯片是offload,还是direct attach。


如果wifi0和wifi1均是direct attach,则可以卸载offload驱动:

qca_ol


如果wifi0和wifi1均是offload,则可以卸载direct attach相关驱动:

qca_da

ath_dev

hst_tx99

ath_rate_atheros

ath_hal


2 unload

按相反的顺序卸载上述模块即可。


3 detect

会执行load,然后生成配置文件:

config wifi-device 'wifi0'
        option type 'qcawifi'
        option channel '0'
        option macaddr 'FC:7C:02:3A:6E:39'
        option hwmode '11ng'
        option htmode 'HT40'
        option disabled '0'
        option txchainmask '3'
        option rxchainmask '3'
        option country 'CN'
        option maxtxpower '29'
        option txpower '29'
        option max_sta '64'
        option acs_bkscanen '1'
        option dcs_enable '0'
        option acs_scanintvl '10800'
        option burst '1'
        option channel_block_list '12,13'
        option mcastenhance '2'
        option wmm '1'
        option doth '1'
        option uapsd '1'
        option shortgi '1'
        option puren '0'
        option disablecoext '0'
        option cwmenable '1'

config wifi-iface '2G_ap'
        option device 'wifi0'
        option network 'lan'
        option ifname 'ath00'
        option mode 'ap'
        option ssid '@PHICOMM_38'
        option disabled '0'
        option encryption 'none'
        option hidden '0'
        option isolate '0'
        option macfilter 'deny'

config wifi-iface '2G_sta'
        option device 'wifi0'
        option network 'wan'
        option ifname 'ath01'
        option mode 'sta'
        option ssid '@PHICOMM'
        option disabled '1'
        option encryption 'none'

config wifi-iface '2G_guest'
        option device 'wifi0'
        option ifname 'guest0'
        option network 'lan'
        option mode 'ap'
        option ssid '@PHICOMM_Guest'
        option disabled '1'
        option isolate '1'
        option encryption 'none'
        option hidden '0'
        option macfilter 'deny'
config wifi-device 'wifi1'
        option type 'qcawifi'
        option channel '0'
        option macaddr 'FC:7C:02:3A:6E:3A'
        option hwmode '11ac'
        option htmode 'HT80'
        option disabled '0'
        option txchainmask '3'
        option rxchainmask '3'
        option country 'CN'
        option maxtxpower '24'
        option txpower '24'
        option max_sta '64'
        option acs_bkscanen '1'
        option dcs_enable '0'
        option acs_scanintvl '480'
        option burst '1'
        option channel_block_list '52,56,60,64,165'
        option mcastenhance '2'
        option wmm '1'
        option doth '1'
        option uapsd '1'
        option shortgi '1'
        option puren '0'
        option disablecoext '0'
        option cwmenable '1'

config wifi-iface '5G_ap'
        option device 'wifi1'
        option network 'lan'
        option ifname 'ath10'
        option mode 'ap'
        option ssid '@PHICOMM_38_5G'
        option disabled '0'
        option encryption 'none'
        option hidden '0'
        option isolate '0'
        option macfilter 'deny'

config wifi-iface '5G_sta'
        option device 'wifi1'
        option network 'wan'
        option ifname 'ath11'
        option mode 'sta'
        option ssid '@PHICOMM'
        option disabled '1'
        option encryption 'none'

config wifi-iface '5G_guest'
        option device 'wifi1'
        option ifname 'guest1'
        option network 'lan'
        option mode 'ap'
        option ssid '@PHICOMM_Guest'
        option disabled '1'
        option isolate '1'
        option encryption 'none'
        option hidden '0'
        option macfilter 'deny'


4 pre_qcawifi

处理disable,杀掉用户进程:

kill hostapd

qwrap_teardown

icm_teardown

wpc_teardown

lowi_teardown

/etc/init.d/ibd stop

/etc/init.d/hyd stop

/etc/init.d/ssid_steering stop

/etc/init.d/mcsd stop

/etc/init.d/wsplcd stop

kill wifi-wps-enhc-extn

kill iface_mgr


5 scan_qcawifi

扫描所有的wifi-iface节点,检查其模式:

adhoc|sta|ap|monitor|wrap|ap_monitor|ap_smart_monitor|mesh|ap_lp_iot

wds


6 enable_qcawifi

执行下述配置

iwpriv wifi0 setCountry CN

iwpriv wifi0 txchainmask 3

iwpriv wifi0 max_sta 64

iwpriv wifi0 rxchainmask 3

iwpriv wifi0 dcs_enable 0

iwpriv wifi0 acs_bkscanen 1

iwpriv wifi0 acs_scanintvl 10800

iwpriv wifi0 sIgmpDscpOvrid 1

iwpriv wifi0 sIgmpDscpTidMap 6

iwpriv wifi0 burst 1

iwpriv wifi0 setHwaddr FC:7C:02:3A:6E:39

iwpriv wifi0 txbf_snd_int 100

iwpriv wifi0 obss_rssi_th 35

iwpriv wifi0 obss_rxrssi_th 35

iwpriv wifi0 discon_time 10

iwpriv wifi0 reconfig_time 60

iwpriv wifi0 fc_buf_max 4096

iwpriv wifi0 fc_q_max 128

iwpriv wifi0 fc_q_min 32


wlanconfig ath00 create wlandev wifi0 wlanmode ap


iwpriv ath00 mode 11NGHT40

iwpriv ath00 puren 0

iwconfig ath10 channel 0

iwpriv ath00 hide_ssid 0

iwpriv ath00 shortgi 1

iwpriv ath00 disablecoext 0

iwpriv ath00 uapsd 1

iwpriv ath00 mcastenhance 2

iwpriv ath00 wmm 1

iwpriv ath00 doth 1

iwpriv ath00 stafwd 0

iwpriv ath00 maccmd 2

iwpriv ath00 cwmenable 1

iwconfig ath00 essid on

iwconfig ath00 essid -- @PHICOMM_38

wifitool ath00 block_acs_channel 0

wifitool ath00 block_acs_channel 12,13

iwpriv ath00 ap_bridge 1

iwconfig ath00 txpower 29

iwpriv wifi0 setHwaddr FC:7C:02:3A:6E:39

iwpriv wifi1 setCountry CN

iwpriv wifi1 txchainmask 3

iwpriv wifi1 max_sta 64

iwpriv wifi1 rxchainmask 3

iwpriv wifi1 dcs_enable 0

iwpriv wifi1 acs_bkscanen 1

iwpriv wifi1 acs_scanintvl 480

iwpriv wifi1 sIgmpDscpOvrid 1

iwpriv wifi1 sIgmpDscpTidMap 6

iwpriv wifi1 burst 1

iwpriv wifi1 setHwaddr FC:7C:02:3A:6E:3A

iwpriv wifi1 txbf_snd_int 100

iwpriv wifi1 obss_rssi_th 35

iwpriv wifi1 obss_rxrssi_th 35

iwpriv wifi1 discon_time 10

iwpriv wifi1 reconfig_time 60

iwpriv wifi1 fc_buf_max 4096

iwpriv wifi1 fc_q_max 128

iwpriv wifi1 fc_q_min 32


wlanconfig ath10 create wlandev wifi1 wlanmode ap


iwpriv ath10 mode 11ACVHT80

iwpriv ath10 puren 0

iwconfig ath10 channel 0

iwpriv ath10 hide_ssid 0

iwpriv ath10 shortgi 1

iwpriv ath10 disablecoext 0

iwpriv ath10 uapsd 1

iwpriv ath10 mcastenhance 2

iwpriv ath10 wmm 1

iwpriv ath10 doth 1

iwpriv ath10 stafwd 0

iwpriv ath10 maccmd 2

iwpriv ath10 cwmenable 1

iwconfig ath10 essid on

iwconfig ath10 essid -- @PHICOMM_38_5G

wifitool ath10 block_acs_channel 0

wifitool ath10 block_acs_channel 52,56,60,64,165

iwpriv ath10 ap_bridge 1

iwconfig ath10 txpower 24

iwpriv wifi1 setHwaddr FC:7C:02:3A:6E:3A


7 disable_qcawifi


wpa_cli -g /var/run/hostapd/global raw REMOVE ath00

wlanconfig ath00 destroy


wpa_cli -g /var/run/hostapd/global raw REMOVE ath10

wlanconfig ath10 destroy


8 post_qcawifi

处理enable action

启动一些用户态的东西。


9 hostapd

启动

hostapd -g /var/run/hostapd/global -B -P /var/run/hostapd-global.pid


10 wpa_supplication

启动

wpa_supplicant -g /var/run/wpa_supplicantglobal -B -P /var/run/wpa_supplicant-global.pid


Copyright © linuxdev.cc 2017-2024. Some Rights Reserved.