關於OpenWRT使用ATH9K,QCA953X BL3A訊號異常BUG的修正

Bycodeant

關於OpenWRT使用ATH9K,QCA953X BL3A訊號異常BUG的修正

日前一位客戶找上我,說明了目前在使用QCA9533 BL3A晶片組的產品開發上,遇上一個BUG,已經卡住三個星期了,遲遲無法解決。由於客戶是採用OpenWRT的架構,而在同一板子上原廠所提供Firmware是OK的,推測Tx power過低的訊號異常BUG應該是ATH9K有需要patch。

原本客戶使用的QCA9533 AL3A是沒問題的,直到換了BL3A才出現30 dBm 的 loss,這種突然間出現的Project往往都很急也很趕,只好努力一下,最後花了2天處理好這個已困擾客戶三個禮拜的問題,Happy hacked.

這是修正前(Before)的訊號強度:

phoca thumb l screenshot 2015-06-07-13-52-04

這是修正後(After)的訊號強度:

phoca thumb l screenshot 2015-06-07-13-56-17

剛剛客戶已確認測試通過了,很高興再次救援成功,下面分享一下修改後的patch內容。

diff -Naur ../orig-compat-wireless-2014-05-22/drivers/net/wireless/ath/ath9k/hw.c ../compat-wireless-2014-05-22/drivers/net/wireless/ath/ath9k/hw.c  
--- ../orig-compat-wireless-2014-05-22/drivers/net/wireless/ath/ath9k/hw.c      2015-06-07 14:13:10.655703572 +0800 
+++ ../compat-wireless-2014-05-22/drivers/net/wireless/ath/ath9k/hw.c   2015-06-07 14:14:12.336864783 +0800 
@@ -260,7 +260,7 @@         
                case AR9300_DEVID_AR953X:                 
                    ah->hw_version.macVersion = AR_SREV_VERSION_9531;                 
                    if (ah->get_mac_revision) 
-                       ah->hw_version.macRev = ah->get_mac_revision(); 
+                       ah->hw_version.macRev = 1; //ah->get_mac_revision();                 
                        return;         
                    }

About the author

codeant administrator

Leave a Reply