hostapd: Using DFS channel in AP mode (ath9k)

今天在設定 hostapd 給 ath9k 的網卡使用時,遇到了這樣的問題:

無法在 AP mode 設定 channel 為 120, 124, 132

首先出現的是 DFS start_dfs_cac() failed, -1,照著這篇 mail 安裝 wireless-regdb 以及 crda 就不會出現問題。

接著出現了這樣的訊息:

搜尋之後,有說確認 iw list 的 frequencies 是否有支援的,我這邊看是有:

重新嘗試一遍還是出現相同的問題,換 country code 為 JP 或是 TW 依然不行。

繼續搜尋,看到 iw reg get,可以看到目前的 country code 有關頻譜的設定/規定:

 

我疑惑的點在於,iw list 的 frequencies 已經沒有出現 no IR 的字眼了,應該就要能夠使用於 AP mode,但找一找看到這篇 mail 之後,發現我前面的假設是錯誤的:

You can also use “iw reg get” to get list of bands allowed, all the bands marked with passive-scan are not allowed in AP mode unless we implement full DFS functionality (CAC) and make the channel usable.

原來,原因是,只要被標記 DFS 的頻段,除非 driver 有實做完整的 DFS 功能,要不然是不能用的。

解法

我不當台灣人啦,跳到另一個對於 channel 124 沒有管制的 country code 即可,我選擇了 南非 (ZA),以下是南非的 iw reg get 的狀況:

南非 iw list frequencies 的部份:

 

除了 nintendo eShop 要當南非人,連 wireless 也要當南非人呢。

 


事情不是憨人想的這麼簡單的…… ath 這個 driver,除了遵照 iw reg 所設定的地區外,更會嚴格遵守寫死在 EEPROM 的地區…

幸好,我們可以從 driver 這邊繞過去。

作法是,重新編譯 kernel 以及 ath9k driver,透過 patch 繞過去,重新啟動後就能夠使用了

 




如果你覺得這篇文章不錯,歡迎打賞 IOTA:RFHEIVXVIZWJFXTZORZZRCMHZF9PSGFUFWAAKXTFNZE9JQUY9HFQREJYYSPSXDRLECKXCAQQDOMSMYJYDKPCKWXBKD

或是點選下方圖片贊助我一杯咖啡:

Leave a reply:

Your email address will not be published.

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料