上禮拜才在說自由軟體社群的幾位開發者正在合作修改 Madiwifi HAL 驅動程式。結果週五的時候,為 Atheros Communications Inc 工作的 mcgrof 公告了一個重大的消息,就是將 Atheros 802.11a/b/g 原本私有授權的 HAL 驅動程式以 ISC licence 授權開放出來

於是我們除了有開放原碼的 ath9kath5k 也可以名正言順的參考 HAL 原始碼來實做了!雖說 code base 已經有顯著的不同,但最大的差別就是原本被 NDA 牽制,只能讀改 HAL 原始碼,不能投入 ath5k 開發的軟體工程師,現在被解禁了!:D

如此一來,madwifi 的死期將至

還記得我在 OSDC.TW 2008 無線網路架設說過 OpenWrt trunk 的 Atheros MadWifi hal binary 有相容性問題,以至於某些網路卡無法連接使用。

HAL 是所謂 Hardware Abstraction Layer,是 MadWifi 驅動程式的核心,也是少數由於版權的緣故無法提供程式碼,而只能以二進位檔案散佈。因此某些驅動程式的問題,在沒有開放原碼的狀態下,大部分的開發者就算想修改也無能為力。

最近幾個月來,Madwifi Team 的幾位成員,包含 OpenWrtnbd, DD-WRTBrainSlayerMaksat Wireless 開始合作以 Atheros 的新 HAL 與 BSD 大神 Sam Leffler 的程式碼為基礎,改進了新版的 HAL 驅動程式,修正許多過去已知的問題與加強訊號抗擾性。目前仍陸續改版測試中,新版 HAL 與程式可於 http://svn.madwifi.org/madwifi/branches/madwifi-hal-testing 取得。

其實這樣的合作一直在進行,但礙於 Atheors 簽訂條款有權可讀相關程式碼的人並不多,許多的討論都是在私下進行的。如此一來造成自由軟體社群間的溝通出現隔閡,造成許多新來後到的人無法了解狀況。於是 mrenzmann 決議將原本封閉的郵遞論壇開放為 madwifi-project,希望可以因此塑造一個比較健康的溝通環境。

最近 MadWifi 社群也在探討未來的發展走向,由於目前的 Code Base 過於雜亂,眾人已無力維護。希望最終目標為從封閉的 HAL 驅動程式改為使用正在開發中的 ath5k/ath9k 等完全開放原碼的驅動程式。為此,madwifi 正在徵求意見調查,希望可以了解大家使用 Atheros 相關無線網路卡的驅動程式時,最需要的功能是哪些 ? 若你也是用 Atheros 的無線網路卡,不妨填填此問卷調查吧。

(對,說得是你們這些 EEEPC/Acer One/Netbooks 使用者阿)

哈,終於我 Thinkpad X60 上的 Atheros AR5418 802.11abgn Wireless PCI Express Adapter 要有原生 (Native) 驅動程式了。

Linux Wireless Driver 強者 Luis R. Rodriguez (mcgrof) 加入 Atheros Communications Inc. 後,終於釋出了第一版的開放原碼驅動程式。ath9k 預計支援的晶片有

  • AR5418+AR5133
  • AR5416+AR5133
  • AR5416+AR2133
  • AR9160
  • AR9280
  • AR9281

目前只有 STA 功能,但是 AP, WDS, IBSS (for mesh) 都列在 TODO List 中了。最新的程式碼可以於此下載

git://git.kernel.org/pub/scm/linux/kernel/git/mcgrof/ath9k.git

當下的版本必須搭配最新的無線網路模組使用,可於此下載

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

或是從 Luis R. Rodriguez 的獨立開發分支中取出無線相關模組與 ath9k driver。

根據 Luis 的說明,ath9k 的程式碼目前已整合於

git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-testing.git

關於相關討論,可參考 ath9k-devel 郵遞論壇。依照目前的進度看起來,大約至少要到 2.6.27/2.6.28 才會整合到官方核心中。BTW, OpenWrt 是第一個整合 ath9k 的套件系統喔。;-)