Linux WiMAX Driver 實作現況分析

jollen 發表於 June 1, 2008 11:20 PM

前陣子接受 DigiTimes 的「手持行動裝置開發關鍵軟體技術發展」研討會邀請,當時就在思考要以什麼主題為主。一些題目大概都是老生常談了,而且又不想以介紹性的方式進行。想了又想,發現最近最當紅的主題非 WiMAX 莫屬,WiMAX 也是今年 Computex 展的主題,因此決定以 Intel 的 [Linux WiMAX development project] 專案做為討論標的。5 月 29 日這一天的演講就以「Linux WiMAX Driver 實作現況分析」定題了。

linuxmax.org 是 Intel 所支持的一個專案計畫,此計畫目前已釋出第一個 WiMAX device driver 以及 WiMAX stack。目前在 linuxwimax.org 上已能找到 Intel WiMAX Connection 2400m 的驅動程式,以及一個 WiMAX stack 驅動程式(subsystem)。2400m 是一個符合 mobile WiMAX 標準的 WiMAX chipset,mobile WiMAX 是行動 WiMAX 的一個標準(802.16e),主要給行動裝置使用。

當天的演講投影片可由此下載 [introduction_wimax_driver.pdf]。雖然定題為「Linux WiMAX Driver 實作現況分析」,不過若以 device driver 的角度來看,其實會變得比較像是在講 USB 與 network device 的 subsystem。若是以整個架構來看,WiMAX driver 在分層設計這裡已經有很不錯的實作,包含以下二個部份:

1. 透過 netlink layer 做為 user-to-kernel 的介面,在 application 端也有 API 的實作,可透過 libnl 來操作 WiMAX 的設定。
2. 針對 device driver 提供分層架構設計:struct wimax_dev 以及 wimax_dev_add()

另外,為了解 WiMAX driver 與 kernel-space 的緊密性關性,我們透過了 2400m 的驅動程式來分析其架構關係,以及 I/O 處理方法。初步了解,WiMAX device driver 仍是透過 transport layer 來做處理,WiMAX stack 目前只提供 netlink layer 給下層的裝置驅動程式。其餘部份大略整理於投影片中,請指教。

讀者留言 (2)

  • lino 於 June 18, 2008 22:47:

    講義寫的很好,雖然不懂WiMax,但也可以了解 network stack.

    講義中第12頁,多了一行
    result = register_netdev(net_dev); /* Okey dokey, bring it up */

  • informer 於 August 8, 2009 16:05:

    Hi, the link of slide is broken.

留言功能維護中。將於近日重新開放。

連絡作者

Jollen Chen,Moko365(仕橙3G教室)講師,熱愛研究 Linux 與 Android 技術。曾為 Motorola、HTC、Foxconn、LG、OPPO、騰迅、廣達電腦、緯創、仁寶等超過 50 家企業講授課程。目前在 MokoVersity 擔任軟體工程師,撰寫 Node.js 程式,也在幾家科技廠兼任 Android Framework 研發顧問。您可透過電子郵件 <jollen (at) jollen (dot) org> 或這裡與我連絡。