常用iwpriv命令

3 篇文章 1 订阅

常用iwpriv命令

使用iwpriv命令时,尽量往radio层设置,即wifiN接口上

强制HT40

iwpriv ath0 disablecoext 0
0 = 强制
1 = 关闭
查看
~ # iwpriv ath0 get_disablecoext
ath0      get_disablecoext:0

设置国家码

iwpriv wifi0 setCountry CN
iwpriv wifi0 setCountryID 156
iwpriv wifi0 setCountry US
iwpriv wifi0 setCountryID 840
查看
~ # iwpriv ath0 get_countrycode
ath0      get_countrycode:840

设置MAC过滤

iwpriv ath0 maccmd 1
0 = 关闭ACL
1 = 允许列表
2 = 拒绝列表
3 = 清空ACL列表
4 = 暂停过滤
查看
~ # iwpriv ath0 get_maccmd 
ath0      get_maccmd:1

终端隔离

iwpriv ath0 ap_bridge 1
0 = 不隔离
1 = 隔离
查看
~ # iwpriv ath0 get_ap_bridge
ath0      get_ap_bridge:1

更改接口模式

iwpriv ath0 mode 11G
11A = 802.11a(5GHz)
11B = 802.11b(2.4GHz)
11G = 802.11g
11NAHT20 = 802.11n A-band 20 MHz channels
11NGHT20 = 802.11n G-band 20 MHz channels
11NAHT40PLUS = 选大于主信道的频率做为扩展信道
11NAHT40MINUS = 选小于...
11NGHT40PLUS 
11NGHT40MINUS
查看
~ # iwpriv ath0 get_mode 
ath0      get_mode:11G

设置为纯G模式

iwpriv ath0 pureg 1
0 = 关闭
1 = 设置
查看
~ # iwpriv ath0 get_pureg
ath0      get_pureg:1

设置认证模式

iwpriv ath0 authmode 1
1 = open
2 = shared
3 = wpa1
4 = wpa1-psk
5 = wpa2
6 = wpa2-psk
7 = wpa1-wpa2
8 = wpa1-wpa2-psk
9 = wapi
10 = wapi-psk

查看认证模式

~ # iwpriv ath0 get_authmode
ath0      get_authmode:1

清除app、opt的IE信息

iwpriv ath0 clrappoptie 1
hostapd中会设置WPA或RSN的IE信息
认证模式改为open后
使用该命令清除IE信息

设置rsn能力

iwpriv ath0 rsncaps 0x01
查看
~ # iwpriv ath0 get_rsncaps
ath0      get_rsncaps:1

设置wpa模式

iwpriv ath0 wpa 3
0 = no wpa
1 = wpa
2 = wpa2
3 = both wpa and wpa2

使能ampdu

iwpriv ath0 ampdu 1
查看
~ # iwpriv ath0 get_ampdu 
ath0      get_ampdu:1

使能shortgi

iwpriv ath0 shortgi 1

查看

~ # iwpriv ath0 get_shortgi 
ath0      get_shortgi:1

radio接口

~ # iwpriv wifi0
wifi0     Available private ioctls :
          setHALparam      (8BE0) : set   2 int   & get   0      
          getHALparam      (8BE1) : set   1 int   & get   1 int  
          DMABcnRespT      (0000) : set   1 int   & get   0      
          GetDMABcnRespT   (0000) : set   0       & get   1 int  
          SWBcnRespT       (0001) : set   1 int   & get   0      
          GetSWBcnRespT    (0001) : set   0       & get   1 int  
          AddSWBbo         (0002) : set   1 int   & get   0      
          GetAddSWBAbo     (0002) : set   0       & get   1 int  
          6MBAck           (0003) : set   1 int   & get   0      
          Get5MBAck        (0003) : set   0       & get   1 int  
          CWMIgnExCCA      (0004) : set   1 int   & get   0      
          GetCWMIgnExCCA   (0004) : set   0       & get   1 int  
          ForceBias        (0005) : set   1 int   & get   0      
          GetForceBias     (0005) : set   0       & get   1 int  
          ForBiasAuto      (0006) : set   1 int   & get   0      
          GetForBiasAuto   (0006) : set   0       & get   1 int  
          PCIEPwrSvEn      (0007) : set   1 int   & get   0      
          GetPCIEPwrSvEn   (0007) : set   0       & get   1 int  
          PCIEL1SKPEn      (0008) : set   1 int   & get   0      
          GetPCIEL1SKPEn   (0008) : set   0       & get   1 int  
          PCIEClkReq       (0009) : set   1 int   & get   0      
          GetPCIEClkReq    (0009) : set   0       & get   1 int  
          PCIEWAEN         (000A) : set   1 int   & get   0      
          GetPCIEWAEN      (000A) : set   0       & get   1 int  
          PCIEDETACH       (000B) : set   1 int   & get   0      
          GetPCIEDETACH    (000B) : set   0       & get   1 int  
          PCIEPwRset       (000C) : set   1 int   & get   0      
          GetPCIEPwRset    (000C) : set   0       & get   1 int  
          PCIERestore      (000D) : set   1 int   & get   0      
          GetPCIERestore   (000D) : set   0       & get   1 int  
          HTEna            (000F) : set   1 int   & get   0      
          GetHTEna         (000F) : set   0       & get   1 int  
          DisTurboG        (0010) : set   1 int   & get   0      
          GetDisTurboG     (0010) : set   0       & get   1 int  
          OFDMTrgLow       (0011) : set   1 int   & get   0      
          GetOFDMTrgLow    (0011) : set   0       & get   1 int  
          OFDMTrgHi        (0012) : set   1 int   & get   0      
          GetOFDMTrgHi     (0012) : set   0       & get   1 int  
          CCKTrgHi         (0013) : set   1 int   & get   0      
          GetCCKTrgHi      (0013) : set   0       & get   1 int  
          CCKTrgLow        (0014) : set   1 int   & get   0      
          GetCCKTrgLow     (0014) : set   0       & get   1 int  
          ANIEna           (0015) : set   1 int   & get   0      
          GetANIEna        (0015) : set   0       & get   1 int  
          NoiseImmLvl      (0016) : set   1 int   & get   0      
          GetNoiseImmLvl   (0016) : set   0       & get   1 int  
          OFDMWeakDet      (0017) : set   1 int   & get   0      
          GetOFDMWeakDet   (0017) : set   0       & get   1 int  
          CCKWeakThr       (0018) : set   1 int   & get   0      
          GetCCKWeakThr    (0018) : set   0       & get   1 int  
          SpurImmLvl       (0019) : set   1 int   & get   0      
          GetSpurImmLvl    (0019) : set   0       & get   1 int  
          FIRStepLvl       (001A) : set   1 int   & get   0      
          GetFIRStepLvl    (001A) : set   0       & get   1 int  
          RSSIThrHi        (001B) : set   1 int   & get   0      
          GetRSSIThrHi     (001B) : set   0       & get   1 int  
          RSSIThrLow       (001C) : set   1 int   & get   0      
          GetRSSIThrLow    (001C) : set   0       & get   1 int  
          DivtyCtl         (001D) : set   1 int   & get   0      
          GetDivtyCtl      (001D) : set   0       & get   1 int  
          AntSwap          (001E) : set   1 int   & get   0      
          GetAntSwap       (001E) : set   0       & get   1 int  
          DisPACal         (0020) : set   1 int   & get   0      
          GetDisPACal      (0020) : set   0       & get   1 int  
          HALDbg           (0021) : set   1 int   & get   0      
          GetHALDbg        (0021) : set   0       & get   1 int  
          RegRead_base     (0024) : set   1 int   & get   0      
          GetRegReads      (0024) : set   0       & get   1 int  
          keycache         (002C) : set   1 int   & get   0      
          get_keycache     (002C) : set   0       & get   1 int  
          TxBFCTL          (0025) : set   1 int   & get   0      
          GetTxBFCTL       (0025) : set   0       & get   1 int  
          printBBDebug     (002D) : set   1 int   & get   0      
          get_printBBDebug (002D) : set   0       & get   1 int  
          txchainmask      (1001) : set   1 int   & get   0      
          get_txchainmask  (1001) : set   0       & get   1 int  
          rxchainmask      (1002) : set   1 int   & get   0      
          get_rxchainmask  (1002) : set   0       & get   1 int  
          txchmaskleg      (1003) : set   1 int   & get   0      
          get_txchmaskleg  (1003) : set   0       & get   1 int  
          rxchmaskleg      (1004) : set   1 int   & get   0      
          get_rxchmaskleg  (1004) : set   0       & get   1 int  
          chainmasksel     (1005) : set   1 int   & get   0      
          get_chainmasksel (1005) : set   0       & get   1 int  
          AMPDU            (1006) : set   1 int   & get   0      
          getAMPDU         (1006) : set   0       & get   1 int  
          AMPDULim         (1007) : set   1 int   & get   0      
          getAMPDULim      (1007) : set   0       & get   1 int  
          AMPDUFrames      (1008) : set   1 int   & get   0      
          getAMPDUFrames   (1008) : set   0       & get   1 int  
          AMPDURxBsize     (105A) : set   1 int   & get   0      
          getAMPDURxBsize  (105A) : set   0       & get   1 int  
          LDPC             (1020) : set   1 int   & get   0      
          getLDPC          (1020) : set   0       & get   1 int  
          burst            (104D) : set   1 int   & get   0      
          get_burst        (104D) : set   0       & get   1 int  
          burst_dur        (104E) : set   1 int   & get   0      
          get_burst_dur    (104E) : set   0       & get   1 int  
          AggrProt         (1009) : set   1 int   & get   0      
          getAggrProt      (1009) : set   0       & get   1 int  
          AggrProtDur      (100A) : set   1 int   & get   0      
          getAggrProtDur   (100A) : set   0       & get   1 int  
          AggrProtMax      (100B) : set   1 int   & get   0      
          getAggrProtMax   (100B) : set   0       & get   1 int  
          TXPowLim2G       (100C) : set   1 int   & get   0      
          getTxPowLim2G    (100C) : set   0       & get   1 int  
          TXPowLim5G       (100D) : set   1 int   & get   0      
          getTxPowLim5G    (100D) : set   0       & get   1 int  
          TXPwrOvr         (100E) : set   1 int   & get   0      
          getTXPwrOvr      (100E) : set   0       & get   1 int  
          DisASPMWk        (100F) : set   1 int   & get   0      
          getDisASPMWk     (100F) : set   0       & get   1 int  
          EnaASPM          (1010) : set   1 int   & get   0      
          getEnaASPM       (1010) : set   0       & get   1 int  
          BcnNoReset       (1011) : set   1 int   & get   0      
          getBcnNoReset    (1011) : set   0       & get   1 int  
          CABlevel         (1012) : set   1 int   & get   0      
          getCABlevel      (1012) : set   0       & get   1 int  
          ATHDebug         (1013) : set   1 int   & get   0      
          getATHDebug      (1013) : set   0       & get   1 int  
          tpscale          (1014) : set   1 int   & get   0      
          get_tpscale      (1014) : set   0       & get   1 int  
          acktimeout       (1015) : set   1 int   & get   0      
          get_acktimeout   (1015) : set   0       & get   1 int  
          rximt_first      (1040) : set   1 int   & get   0      
          get_rximt_first  (1040) : set   0       & get   1 int  
          rximt_last       (1041) : set   1 int   & get   0      
          get_rximt_last   (1041) : set   0       & get   1 int  
          tximt_first      (1042) : set   1 int   & get   0      
          get_tximt_first  (1042) : set   0       & get   1 int  
          tximt_last       (1043) : set   1 int   & get   0      
          get_tximt_last   (1043) : set   0       & get   1 int  
          AMSDU            (101A) : set   1 int   & get   0      
          getAMSDU         (101A) : set   0       & get   1 int  
          retrydur         (101B) : set   1 int   & get   0      
          get_retrydur     (101B) : set   0       & get   1 int  
          hbrPER_high      (101C) : set   1 int   & get   0      
          get_hbrPER_high  (101C) : set   0       & get   1 int  
          hbrPER_low       (101D) : set   1 int   & get   0      
          get_hbrPER_low   (101D) : set   0       & get   1 int  
          txstbc           (101F) : set   1 int   & get   0      
          get_txstbc       (101F) : set   0       & get   1 int  
          rxstbc           (101E) : set   1 int   & get   0      
          get_rxstbc       (101E) : set   0       & get   1 int  
          immunity         (1022) : set   1 int   & get   0      
          get_immunity     (1022) : set   0       & get   1 int  
          limit_legacy     (1021) : set   1 int   & get   0      
          get_limit_legacy (1021) : set   0       & get   1 int  
          get_ledcustom    (1025) : set   0       & get   1 int  
          set_ledcustom    (1025) : set   1 int   & get   0      
          get_swapled      (1026) : set   0       & get   1 int  
          set_swapled      (1026) : set   1 int   & get   0      
          get_cvtimeout    (1045) : set   0       & get   1 int  
          set_cvtimeout    (1045) : set   1 int   & get   0      
          set_bcnburst     (1050) : set   1 int   & get   0      
          get_bcnburst     (1050) : set   0       & get   1 int  
          setCountryID     (2000) : set   1 int   & get   0      
          getCountryID     (2000) : set   0       & get   1 int  
          setHwaddr        (8BE4) : set  17 char  & get   0      
          getHwaddr        (8BE5) : set   0       & get  17 char 
          setCountry       (8BE2) : set   3 char  & get   0      
          getCountry       (8BE3) : set   0       & get   3 char 
          amemPrint        (2001) : set   1 int   & get   0      
          getPhyRestartWar (1046) : set   0       & get   1 int  
          setPhyRestartWar (1046) : set   1 int   & get   0      
          dyntxchain       (1049) : set   1 int   & get   0      
          get_dyntxchain   (1049) : set   0       & get   1 int  
          disp_tpc         (2002) : set   1 int   & get   0      
          dcs_enable       (1052) : set   1 int   & get   0      
          get_dcs_enable   (1052) : set   0       & get   1 int  
          get_total_PER    (1059) : set   0       & get   1 int  
          setctsrate       (105C) : set   1 int   & get   0      
          get_ctsrate      (105C) : set   0       & get   1 int 

VAP接口

~ # iwpriv ath0
ath0      Available private ioctls :
          setoptie         (8BE8) : set 512 byte  & get   0      
          getoptie         (8BE9) : set   0       & get 512 byte 
          setkey           (8BE2) : set  64 byte  & get   0      
          delkey           (8BE4) : set   7 byte  & get   0      
          setmlme          (8BE6) : set 558 byte  & get   0      
          addmac           (8BEA) : set   1 addr  & get   0      
          delmac           (8BEC) : set   1 addr  & get   0      
          getmac           (8BFD) : set   0       & get 256 addr 
          kickmac          (8BEF) : set   1 addr  & get   0      
          setchanlist      (8BEE) : set  32 byte  & get   0      
          getchanlist      (8BED) : set   0       & get  32 byte 
          getchaninfo      (8BE7) : set   0       & get 1022 int  
          mode             (8BF2) : set  16 char  & get   0      
          get_mode         (8BF1) : set   0       & get  16 char 
          setwmmparams     (8BE3) : set   4 int   & get   0      
          getwmmparams     (8BE5) : set   3 int   & get   1 int  
          cwmin            (0001) : set   3 int   & get   0      
          get_cwmin        (0001) : set   2 int   & get   1 int  
          cwmax            (0002) : set   3 int   & get   0      
          get_cwmax        (0002) : set   2 int   & get   1 int  
          aifs             (0003) : set   3 int   & get   0      
          get_aifs         (0003) : set   2 int   & get   1 int  
          txoplimit        (0004) : set   3 int   & get   0      
          get_txoplimit    (0004) : set   2 int   & get   1 int  
          acm              (0005) : set   3 int   & get   0      
          get_acm          (0005) : set   2 int   & get   1 int  
          noackpolicy      (0006) : set   3 int   & get   0      
          get_noackpolicy  (0006) : set   2 int   & get   1 int  
          setparam         (8BE0) : set   2 int   & get   0      
          getparam         (8BE1) : set   1 int   & get   1 int  
          authmode         (0003) : set   1 int   & get   0      
          get_authmode     (0003) : set   0       & get   1 int  
          protmode         (0004) : set   1 int   & get   0      
          get_protmode     (0004) : set   0       & get   1 int  
          mcastcipher      (0005) : set   1 int   & get   0      
          get_mcastcipher  (0005) : set   0       & get   1 int  
          mcastkeylen      (0006) : set   1 int   & get   0      
          get_mcastkeylen  (0006) : set   0       & get   1 int  
          ucastciphers     (0007) : set   1 int   & get   0      
          get_uciphers     (0007) : set   0       & get   1 int  
          ucastcipher      (0008) : set   1 int   & get   0      
          get_ucastcipher  (0008) : set   0       & get   1 int  
          ucastkeylen      (0009) : set   1 int   & get   0      
          get_ucastkeylen  (0009) : set   0       & get   1 int  
          keymgtalgs       (0015) : set   1 int   & get   0      
          get_keymgtalgs   (0015) : set   0       & get   1 int  
          rsncaps          (0016) : set   1 int   & get   0      
          get_rsncaps      (0016) : set   0       & get   1 int  
          privacy          (000D) : set   1 int   & get   0      
          get_privacy      (000D) : set   0       & get   1 int  
          countermeasures  (000E) : set   1 int   & get   0      
          get_countermeas  (000E) : set   0       & get   1 int  
          dropunencrypted  (000F) : set   1 int   & get   0      
          get_dropunencry  (000F) : set   0       & get   1 int  
          wpa              (000A) : set   1 int   & get   0      
          get_wpa          (000A) : set   0       & get   1 int  
          driver_caps      (0010) : set   1 int   & get   0      
          get_driver_caps  (0010) : set   0       & get   1 int  
          maccmd           (0011) : set   1 int   & get   0      
          get_maccmd       (0011) : set   0       & get   1 int  
          wmm              (0012) : set   1 int   & get   0      
          get_wmm          (0012) : set   0       & get   1 int  
          hide_ssid        (0013) : set   1 int   & get   0      
          get_hide_ssid    (0013) : set   0       & get   1 int  
          ap_bridge        (0014) : set   1 int   & get   0      
          get_ap_bridge    (0014) : set   0       & get   1 int  
          inact            (0017) : set   1 int   & get   0      
          get_inact        (0017) : set   0       & get   1 int  
          inact_auth       (0018) : set   1 int   & get   0      
          get_inact_auth   (0018) : set   0       & get   1 int  
          inact_init       (0019) : set   1 int   & get   0      
          get_inact_init   (0019) : set   0       & get   1 int  
          abolt            (001A) : set   1 int   & get   0      
          get_abolt        (001A) : set   0       & get   1 int  
          dtim_period      (001C) : set   1 int   & get   0      
          get_dtim_period  (001C) : set   0       & get   1 int  
          bintval          (001D) : set   1 int   & get   0      
          get_bintval      (001D) : set   0       & get   1 int  
          doth             (001E) : set   1 int   & get   0      
          get_doth         (001E) : set   0       & get   1 int  
          doth_pwrtgt      (001F) : set   1 int   & get   0      
          get_doth_pwrtgt  (001F) : set   0       & get   1 int  
          doth_reassoc     (0020) : set   1 int   & get   0      
          compression      (0021) : set   1 int   & get   0      
          get_compression  (0021) : set   0       & get   1 int  
          ff               (0022) : set   1 int   & get   0      
          get_ff           (0022) : set   0       & get   1 int  
          turbo            (0001) : set   1 int   & get   0      
          get_turbo        (0001) : set   0       & get   1 int  
          burst            (0024) : set   1 int   & get   0      
          get_burst        (0024) : set   0       & get   1 int  
          doth_chanswitch  (8BF0) : set   2 int   & get   0      
          pureg            (0025) : set   1 int   & get   0      
          get_pureg        (0025) : set   0       & get   1 int  
          ar               (0026) : set   1 int   & get   0      
          get_ar           (0026) : set   0       & get   1 int  
          wds              (0027) : set   1 int   & get   0      
          get_wds          (0027) : set   0       & get   1 int  
          vap_ind          (006F) : set   1 int   & get   0      
          get_vap_ind      (006F) : set   0       & get   1 int  
          mcast_rate       (002B) : set   1 int   & get   0      
          get_mcast_rate   (002B) : set   0       & get   1 int  
          countryie        (002D) : set   1 int   & get   0      
          get_countryie    (002D) : set   0       & get   1 int  
          uapsd            (0035) : set   1 int   & get   0      
          get_uapsd        (0035) : set   0       & get   1 int  
          sleep            (0036) : set   1 int   & get   0      
          get_sleep        (0036) : set   0       & get   1 int  
          qosnull          (0037) : set   1 int   & get   0      
          pspoll           (0038) : set   1 int   & get   0      
          ips_pspoll       (00FF) : set   1 int   & get   0      
          get_ips_pspoll   (00FF) : set   0       & get   1 int  
          eospdrop         (0039) : set   1 int   & get   0      
          get_eospdrop     (0039) : set   0       & get   1 int  
          markdfs          (003A) : set   1 int   & get   0      
          get_markdfs      (003A) : set   0       & get   1 int  
          chanbw           (003C) : set   1 int   & get   0      
          get_chanbw       (003C) : set   0       & get   1 int  
          shpreamble       (003E) : set   1 int   & get   0      
          get_shpreamble   (003E) : set   0       & get   1 int  
          blockdfschan     (003F) : set   1 int   & get   0      
          setiebuf         (8BF4) : set 1024 byte  & get   0      
          getiebuf         (8BF3) : set   0       & get 1024 byte 
          setfilter        (8BF6) : set   4 byte  & get   0      
          powersave        (0069) : set   1 int   & get   0      
          get_powersave    (0069) : set   0       & get   1 int  
          extprotmode      (0042) : set   1 int   & get   0      
          get_extprotmode  (0042) : set   0       & get   1 int  
          extprotspac      (0043) : set   1 int   & get   0      
          get_extprotspac  (0043) : set   0       & get   1 int  
          cwmenable        (0044) : set   1 int   & get   0      
          get_cwmenable    (0044) : set   0       & get   1 int  
          extbusythres     (0045) : set   1 int   & get   0      
          get_extbusythres (0045) : set   0       & get   1 int  
          shortgi          (0047) : set   1 int   & get   0      
          get_shortgi      (0047) : set   0       & get   1 int  
          ampdu            (0049) : set   1 int   & get   0      
          get_ampdu        (0049) : set   0       & get   1 int  
          reset            (0054) : set   1 int   & get   0      
          get_countrycode  (004F) : set   0       & get   1 int  
          mcastenhance     (005E) : set   1 int   & get   0      
          get_mcastenhance (005E) : set   0       & get   1 int  
          medump_dummy     (005F) : set   1 int   & get   0      
          medump           (005F) : set   0       & get   1 int  
          medebug          (0060) : set   1 int   & get   0      
          get_medebug      (0060) : set   0       & get   1 int  
          me_length        (0061) : set   1 int   & get   0      
          get_me_length    (0061) : set   0       & get   1 int  
          metimer          (0062) : set   1 int   & get   0      
          get_metimer      (0062) : set   0       & get   1 int  
          metimeout        (0063) : set   1 int   & get   0      
          get_metimeout    (0063) : set   0       & get   1 int  
          medropmcast      (007D) : set   1 int   & get   0      
          get_medropmcast  (007D) : set   0       & get   1 int  
          me_showdeny      (007E) : set   0       & get   1 int  
          me_cleardeny     (007F) : set   1 int   & get   0      
          hbrtimer         (006B) : set   1 int   & get   0      
          get_hbrtimer     (006B) : set   0       & get   1 int  
          get_hbrstate     (006C) : set   0       & get   1 int  
          get_iqueconfig   (0081) : set   0       & get   1 int  
          acparams         (8BF5) : set   4 int   & get   0      
          rtparams         (8BF7) : set   3 int   & get   0      
          hbrparams        (8BFE) : set   3 int   & get   0      
          me_adddeny       (8BFB) : set   4 int   & get   0      
          scanvalid        (002E) : set   1 int   & get   0      
          get_scanvalid    (002E) : set   0       & get   1 int  
          rxtimeout        (8BFF) : set   2 int   & get   0      
          dbgreq           (8BF8) : set  72 byte  & get   0      
          setaddbaoper     (0055) : set   1 int   & get   0      
          set11NRates      (0057) : set   1 int   & get   0      
          get11NRates      (0057) : set   0       & get   1 int  
          rateset          (0117) : set   1 int   & get   0      
          ratesetclear     (0118) : set   1 int   & get   0      
          set11NRetries    (0058) : set   1 int   & get   0      
          get11NRetries    (0058) : set   0       & get   1 int  
          dbgLVL           (0059) : set   1 int   & get   0      
          getdbgLVL        (0059) : set   0       & get   1 int  
          dbgLVL_high      (0104) : set   1 int   & get   0      
          getdbgLVL_high   (0104) : set   0       & get   1 int  
          no_wradar        (0108) : set   1 int   & get   0      
          get_no_wradar    (0108) : set   0       & get   1 int  
          wepkeycache      (010A) : set   1 int   & get   0      
          get_wepkeycache  (010A) : set   0       & get   1 int  
          wdsdetect        (005A) : set   1 int   & get   0      
          get_wdsdetect    (005A) : set   0       & get   1 int  
          htweptkip        (0067) : set   1 int   & get   0      
          get_htweptkip    (0067) : set   0       & get   1 int  
          puren            (0064) : set   1 int   & get   0      
          get_puren        (0064) : set   0       & get   1 int  
          basicrates       (0065) : set   1 int   & get   0      
          ignore11d        (005C) : set   1 int   & get   0      
          get_ignore11d    (005C) : set   0       & get   1 int  
          stafwd           (005D) : set   1 int   & get   0      
          get_stafwd       (005D) : set   0       & get   1 int  
          extap            (007B) : set   1 int   & get   0      
          get_extap        (007B) : set   0       & get   1 int  
          clrappoptie      (00BF) : set   1 int   & get   0      
          autoassoc        (00B8) : set   1 int   & get   0      
          get_autoassoc    (00B8) : set   0       & get   1 int  
          vap_contryie     (00B5) : set   1 int   & get   0      
          get_vapcontryie  (00B5) : set   0       & get   1 int  
          vap_doth         (00B6) : set   1 int   & get   0      
          get_vap_doth     (00B6) : set   0       & get   1 int  
          ht40intol        (0079) : set   1 int   & get   0      
          get_ht40intol    (0079) : set   0       & get   1 int  
          chwidth          (007A) : set   1 int   & get   0      
          get_chwidth      (007A) : set   0       & get   1 int  
          chextoffset      (0076) : set   1 int   & get   0      
          get_chextoffset  (0076) : set   0       & get   1 int  
          sko              (00B7) : set   1 int   & get   0      
          get_sko          (00B7) : set   0       & get   1 int  
          chscaninit       (0077) : set   1 int   & get   0      
          get_chscaninit   (0077) : set   0       & get   1 int  
          disablecoext     (007C) : set   1 int   & get   0      
          get_disablecoext (007C) : set   0       & get   1 int  
          mfptest          (00F5) : set   1 int   & get   0      
          get_mfptest      (00F5) : set   0       & get   1 int  
          rrm              (00C3) : set   1 int   & get   0      
          get_rrm          (00C3) : set   0       & get   1 int  
          rrmstats         (00F3) : set   1 int   & get   0      
          get_rrmstats     (00F3) : set   0       & get   1 int  
          rrmslwin         (00F4) : set   1 int   & get   0      
          get_rrmslwin     (00F4) : set   0       & get   1 int  
          sendmgmt         (8BFA) : set 1024 byte  & get   0      
          ant_ps_on        (0071) : set   1 int   & get   0      
          get_ant_ps_on    (0071) : set   0       & get   1 int  
          ps_timeout       (0072) : set   1 int   & get   0      
          get_ps_timeout   (0072) : set   0       & get   1 int  
          setwapi          (0070) : set   1 int   & get   0      
          wapi_rkupkt      (00BB) : set   1 int   & get   0      
          get_wapi_rkupkt  (00BB) : set   0       & get   1 int  
          wapi_rkmpkt      (00BC) : set   1 int   & get   0      
          get_wapi_rkmpkt  (00BC) : set   0       & get   1 int  
          wapi_rkupdate    (00BD) : set   6 byte  & get   0      
          wps              (0074) : set   1 int   & get   0      
          get_wps          (0074) : set   0       & get   1 int  
          ccmpSwSelEn      (0082) : set   1 int   & get   0      
          get_ccmpSwSelEn  (0082) : set   0       & get   1 int  
          periodicScan     (00B3) : set   1 int   & get   0      
          get_periodicScan (00B3) : set   0       & get   1 int  
          csa2g            (00BA) : set   1 int   & get   0      
          get_csa2g        (00BA) : set   0       & get   1 int  
          wdsaddr          (00C5) : set   2 addr  & get   0      
          no_disassoc      (0100) : set   1 int   & get   0      
          get_no_disassoc  (0100) : set   0       & get   1 int  
          autocvupdate     (00F0) : set   1 int   & get   0      
          get_autocvupdate (00F0) : set   0       & get   1 int  
          cvupdateper      (00F1) : set   1 int   & get   0      
          get_cvupdateper  (00F1) : set   0       & get   1 int  
          maxsta           (00F2) : set   1 int   & get   0      
          get_maxsta       (00F2) : set   0       & get   1 int  
          scanband         (00F6) : set   1 int   & get   0      
          get_scanband     (00F6) : set   0       & get   1 int  
          senddeauth       (0109) : set   1 int   & get   0      
          get_senddeauth   (0109) : set   0       & get   1 int  
          siwtxpwradjust   (0113) : set   1 int   & get   0      
          rrmdbg           (010B) : set   1 int   & get   0      
          get_rrmdbg       (010B) : set   0       & get   1 int  
          aponly           (0115) : set   1 int   & get   0      
          get_aponly       (0115) : set   0       & get   1 int 

来源:
http://blog.csdn.net/zahuopuboss/article/details/9025529

  • 6
    点赞
  • 40
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
`iwpriv`命令的源码主要位于Linux内核源代码树中的`net/wireless/wext-core.c`文件中,以下是该文件中`ioctl_standard_iwpriv`函数的源码解析: ```c static int ioctl_standard_iwpriv(struct net_device *dev, struct iwreq *iwr, u32 cmd) { /* 通过命令码cmd解析出设备驱动程序中相应的命令处理函数 */ struct iw_priv_args *priv; struct iw_handler_def *iwe; int i, count; struct iw_priv_args user_priv; void __user *argp = iwr->u.name; int (*handler)(struct net_device *, struct iw_request_info *, union iwreq_data *, struct iw_priv_args *); union iwreq_data wrqu; int ret = 0; /* 遍历设备驱动程序中支持的所有IWPRIV命令 */ for (i = 0; i < dev->ieee80211_ptr->priv_args_count; i++) { priv = &dev->ieee80211_ptr->priv_args[i]; if ((!priv->name) || (!priv->set)) { continue; } if (strcmp(priv->name, iwr->u.name) == 0) { /* 找到要执行的IWPRIV命令 */ iwe = priv->handler; count = iwe->num_standard; /* 该命令支持的标准命令个数 */ if (iwe->flags & IW_HANDLER_SPECIAL) { /* 特殊处理的IWPRIV命令 */ handler = iwe->standard[count].handler; if (!handler) return -EOPNOTSUPP; ret = handler(dev, NULL, &wrqu, priv); } else { /* 标准IWPRIV命令 */ handler = iwe->standard[IW_PRIV_CMD_GET].handler; if (!handler) return -EOPNOTSUPP; /* 解析参数 */ if (iwe->standard[IW_PRIV_CMD_SET].handler) { if (copy_from_user(&user_priv, argp, sizeof(user_priv))) return -EFAULT; wrqu.data.pointer = user_priv.pointer; wrqu.data.length = user_priv.length; wrqu.data.flags = user_priv.flags; } /* 调用设备驱动程序中的命令处理函数 */ ret = handler(dev, NULL, &wrqu, priv); /* 将处理结果返回给用户空间 */ if (iwe->standard[IW_PRIV_CMD_GET].handler) { if (copy_to_user(argp, &user_priv, sizeof(user_priv))) return -EFAULT; } } break; } } if (i == dev->ieee80211_ptr->priv_args_count) /* 没有找到要执行的IWPRIV命令 */ ret = -EOPNOTSUPP; return ret; } ``` `ioctl_standard_iwpriv`函数主要实现了`iwpriv`命令的功能。它通过解析`iwr->u.name`中的命令参数,找到对应的设备驱动程序中的命令处理函数,并通过调用该函数完成相应的操作。该函数的主要步骤包括: 1. 遍历设备驱动程序中支持的所有IWPRIV命令,找到要执行的IWPRIV命令。 2. 解析命令参数,根据命令处理函数的要求设置对应的参数值。 3. 调用设备驱动程序中的命令处理函数,完成相应的操作。 4. 将处理结果返回给用户空间。 在该函数中,命令处理函数主要分为两种类型:标准IWPRIV命令和特殊处理的IWPRIV命令。对于标准IWPRIV命令,用户空间可以通过`ioctl`系统调用的`arg`参数向内核空间传递一些参数,内核空间则通过解析这些参数来执行相应的操作;对于特殊处理的IWPRIV命令,用户空间直接调用该命令即可,不需要传递任何参数。 总的来说,`ioctl_standard_iwpriv`函数的实现比较复杂,需要涉及到内核空间和用户空间之间的数据传输、命令参数的解析和处理等方面的问题。如果您想要深入了解该函数的实现细节,可以仔细阅读该函数的源码,并结合相关的内核文档进行学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值