wifi啓動信息跟蹤之CRDA(1)

下面黑體部分均爲打印信息:

<6>[ 1903.836139] [cpuid: 0] Calling CRDA to update world regulatory domain

/*compat-wireless/net/wireless/reg.c: call_crda()*/

<6>[ 1903.836296] [cpuid: 0] World regulatory domain updated:

/*compat-wireless/net/wireless/reg.c: print_regdomain()*/

<6>[ 1903.836308] [cpuid: 0]     (start_freq - end_freq @ bandwidth), (max_antenna_gain, max_eirp)

<6>[ 1903.836323] [cpuid: 0]     (2402000 KHz - 2472000 KHz @ 40000 KHz), (300 mBi, 2000 mBm)

<6>[ 1903.836336] [cpuid: 0]     (2457000 KHz - 2482000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)

<6>[ 1903.836349] [cpuid: 0]     (2474000 KHz - 2494000 KHz @ 20000 KHz), (300 mBi, 2000 mBm)

<6>[ 1903.836361] [cpuid: 0]     (5140000 KHz - 5360000 KHz @ 40000 KHz), (N/A, 3000 mBm)

<6>[ 1903.836374] [cpuid: 0]     (5460000 KHz - 5860000 KHz @ 40000 KHz), (N/A, 3000 mBm)

/*compat-wireless/net/wireless/reg.cprint_rd_rules()**/

 

下面爲函數調用流程(從call_crda()出發,

後面會分析從cfg80211開始到調用call_crda()的過程)

//下面註釋:“---->”表示調用下一個函數;“<----”表示被下一個函數調用

/*

 * This lets us keep regulatory code which is updated on a regulatory

 * basis in userspace. Country information is filled in by

 * reg_device_uevent

 */

call_crda()

  ---->reg_regdb_query()

     ----->schedule_work(®_regdb_work); 

          //static DECLARE_WORK(reg_regdb_work, reg_regdb_search);

          ----->reg_regdb_search()

                ----->set_regdom()

/*

 * Use this call to set the current regulatory domain. Conflicts with

 * multiple drivers can be ironed out later. Caller must've already

 * kmalloc'd the rd structure. Caller must hold cfg80211_mutex

 */

set_regdom()

    --->print_regdomain()

      

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章