Linux Ubuntu下Atheros 無線網卡 5GHz 工作頻段破解

來源:互聯網
上載者:User

不同的國家和地區有不同的無線電管理規定(Regulatory Domain),對於ISM 5GHz頻段的劃分也有不同的準則。
 
Regulatory Domian有3大族,以美國為代表的FCC,以歐盟為代表的ETSI,以及日本再一次特立獨行的TELEC(無論在蜂窩網還是WLAN,日本一直都是個怪異的存在)。中國採用ETSI規定,具體頻段管理與歐盟有所不同。
 
無線網卡驅動根據ISO-3166 alpha2規定的國家代碼(如美國US,中國CN,德國DE,韓國KR,日本JP),對網卡的工作頻率進行管理。
 
高通Atheros在網卡驅動的公用部分加入了Regulatory Doamin管理的功能。針對銷往不同國家的網卡產品,通過直接在網卡晶片的可擦寫儲存空間(EEPROM)中寫入相應的國家代碼,驅動工作時讀取該代碼並開啟相應的工作頻段。

由於項目的需求,我們買了幾張Atheros 93xx系列的無線網卡,支援2.4/5GHz雙頻段,但是很遺憾的是這批網卡是銷往澳大利亞的,5GHz的中間一段不被支援。國家代碼可以通過下列命令察看。
 
#dmesg | grep ath
 
#iwlist chan

儘管使用了iw工具來修改linux系統的Regulatory Domain管理部分的國家代碼:
 
#iw reg set US
 
#iw reg get
 
#iwlist chan
 
但是由於EEPROM的限制,被屏蔽的頻段總是無法開啟。

為了開啟儘可能多的5GHz頻段,在沒有直接修改EEPROM的方法的情況下,我只能修改破解驅動中關於頻段管理的部分。Google 到reghack及其原始碼<百度網盤>,但是作者所編譯的程式是在採用MIPS或PowerPC架構的路由器上用的,在PC機上需要重新編譯。

###網上Google到的reghack是針對路由器的,路由器的晶片通常是MIPS和PowerPC架構。
 ###而PC機是x86架構,所以下載的reghack.mips.elf程式不能在PC機上運行。
 ###我們需要根據reghack原始碼在PC機上重新編譯適用於x86架構的reghack破解程式。
 ###命令如下(-o參數制定編譯輸出的程式檔案名稱,可以隨便自訂):
 root@linux: gcc reghack.c -o reghack
 
###gcc是linux內建的C語言編譯器,g++則可以用來編譯C++來源程式。
 ###如果系統提示你這些命令不可用,請安裝如下軟體包
 sudo apt-get install build-essential
 
###安裝的Ubuntu 12.04.4系統是linux 3.11核心,linux 3.7 核心開始加入了模組簽名及驗證機制。
 ###下面的破解過程雖然順利進行,但重啟之後破解的無線模組cfg80211.ko和ath.ko無法載入,網卡不能驅動。
 root@linux:/home/user# ./reghack /lib/modules/3.11.0-15-generic/kernel/net/wireless/cfg80211.ko
 Patching @ 0x0004cf30: core world6 regdomain in cfg80211/reg.o
 root@linux:/home/user# ./reghack /lib/modules/3.11.0-15-generic/kernel/drivers/net/wireless/ath/ath.ko
 Patching @ 0x00002110: ath world regdomain with 5 rules in ath/regd.o
 Patching @ 0x000021a0: ath world regdomain with 4 rules in ath/regd.o
 Patching @ 0x00002220: ath world regdomain with 3 rules in ath/regd.o
 Patching @ 0x00002280: ath world regdomain with 3 rules in ath/regd.o
 Patching @ 0x000022e0: ath world regdomain with 4 rules in ath/regd.o
 
###為瞭解決這個問題,我們要降回到linux 3.2核心
 ###如果你的核心版本預設就是低於3.7核心,就無需進行此操作。
 ###核心版本察看命令 uname -a
 ###使用如下命令 sudo apt-get install linux-image 將linux 3.2核心及源碼等自動下載安裝。
 ###重啟選擇Prevous Linux Versions進入,然後選擇啟用3.2核心。
 ###為了安全起見,先進行備份處理。
 user@linux:~$ gcc reghack.c -o reghack
 user@linux:~$ sudo cp /lib/modules/3.2.0-60-generic/kernel/net/wireless/cfg80211.ko /lib/modules/3.2.0-60-generic/kernel/net/wireless/cfg80211.ko.backup
 user@linux:~$ sudo cp /lib/modules/3.2.0-60-generic/kernel/drivers/net/wireless/ath/ath.ko /lib/modules/3.2.0-60-generic/kernel/drivers/net/wireless/ath/ath.ko.backup
 user@linux:~$ sudo ./reghack /lib/modules/3.2.0-60-generic/kernel/drivers/net/wireless/ath/ath.ko
 Patching @ 0x00001e10: ath world regdomain with 5 rules in ath/regd.o
 Patching @ 0x00001e90: ath world regdomain with 4 rules in ath/regd.o
 Patching @ 0x00001ef8: ath world regdomain with 3 rules in ath/regd.o
 Patching @ 0x00001f48: ath world regdomain with 3 rules in ath/regd.o
 Patching @ 0x00001f98: ath world regdomain with 4 rules in ath/regd.o
 user@linux:~$ sudo ./reghack /lib/modules/3.2.0-60-generic/kernel/net/wireless/cfg80211.ko
 Patching @ 0x00022c60: core world5 regdomain in cfg80211/reg.o
 
破解後的頻段見如下:

wlan0    32 channels in total; available frequencies :
          Channel 01 : 2.412 GHz
          Channel 02 : 2.417 GHz
          Channel 03 : 2.422 GHz
          Channel 04 : 2.427 GHz
          Channel 05 : 2.432 GHz
          Channel 06 : 2.437 GHz
          Channel 07 : 2.442 GHz
          Channel 08 : 2.447 GHz
          Channel 09 : 2.452 GHz
          Channel 10 : 2.457 GHz
          Channel 11 : 2.462 GHz
          Channel 36 : 5.18 GHz
          Channel 40 : 5.2 GHz
          Channel 44 : 5.22 GHz
          Channel 48 : 5.24 GHz
          Channel 52 : 5.26 GHz
          Channel 56 : 5.28 GHz
          Channel 60 : 5.3 GHz
          Channel 64 : 5.32 GHz
          Channel 100 : 5.5 GHz
          Channel 104 : 5.52 GHz
          Channel 108 : 5.54 GHz
          Channel 112 : 5.56 GHz
          Channel 116 : 5.58 GHz
          Channel 132 : 5.66 GHz
          Channel 136 : 5.68 GHz
          Channel 140 : 5.7 GHz
          Channel 149 : 5.745 GHz
          Channel 153 : 5.765 GHz
          Channel 157 : 5.785 GHz
          Channel 161 : 5.805 GHz
          Channel 165 : 5.825 GHz
          Current Frequency:2.437 GHz (Channel 6)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.