Linux SDIO WIFI驅動的編譯

來源:互聯網
上載者:User

目前sourceforge網站上提供了Linux 2.6.18版本核心的sdiostack補丁,使用此補丁後可以編譯出供Atheros SDIO wifi v1.0模組使用的驅動。

 

首先選擇工作目錄(例如目前使用者的個人目錄/home/~),此後的操作都在此目錄下進行。下面以Samsung S3C2410平台為例介紹驅動編譯過程,使用的交叉編譯工具為arm-linux-gcc v3.4.6。

 

1. 下載核心壓縮包並解壓。

   tar zxvf linux-2.6.18.tar.gz

 

2. 下載sdiostack驅動並解壓至核心源碼目錄,補丁包含5個patch檔案和1個series檔案,按照series檔案中的順序依次打補丁。

   tar zxvf sdio-linux-2.6.18.tar.gz -C linux-2.6.18/

   cd linux-2.6.18/

   patch -p1 < common_atheros_sdiostack.patch

   patch -p1 < common_atheros_sdiostack_shcd.patch

   patch -p1 < common_atheros_sdiostack_functions.patch

   patch -p1 < common_atheros_sdiostack_sample_fd.patch

   patch -p1 < common_atheros_sdiostack_benchmark.patch

   patch -p1 < common_atheros_sdiostack_ar6000_wlan.patch

 

3. 可以從配置路徑拷貝s3c2410配置模板後再對其修改。

   cp arch/arm/configs/s3c2410_defconfig .config

   需要開啟Device Drivers-->Plug and Play support-->Plug and Play support選項支援PnP。

   需要開啟Device Drivers-->Network device support-->Wireless LAN (non-hamradio)--> Wireless LAN drivers (non-hamradio) & Wireless Extensions選項,否則無法找到wireless_send_event函數定義。

   make menuconfig

 

4. drivers/pnp/resource.c中的request_dma和free_dma函數需要刪除,不然在稍後的編譯中會造成缺少定義的錯誤(我始終未能讓resource.c成功的找到這兩個相關的dma函數實現,最後只能注釋掉了,如果有瞭解的朋友,希望能告訴我正確的做法)。然後開始核心編譯操作。

   make

 

5. 最後在drivers/sdio/對應目錄下產生驅動各個模組。sdiostack補丁中只提供了很少幾種平台的hcd模組代碼,如果缺少對應目標平台的代碼,還需要自己移植。以下4個模組為必須的最小配置。

   lib/sdio_lib.ko

   busdriver/sdio_busdriver.ko

   function/wlan/ar6000/ar6000.ko

   hcd/s3c2412/sdio_s3c2410_hcd.ko

 

注意:編譯sdiostack驅動時使用的核心版本需要和目標平台上的核心版本一致,如果不是2.6.18版本的核心,在打補丁過程中可能會有提示資訊,可以根據提示資訊手工修改。不同平台的核心配置選項也會有所不同,可能需要對配置做少許調整。一般來說,補丁中包含的hcd模組代碼不能滿足需要,所以要想最終能使用SDIO WIFI網卡,最困難的地方在於如何擷取缺少的這一部分的代碼。MontaVista也提供了一個補丁下載,我沒有用過這個補丁,但是其中包含的sdiostack文檔是很好的資料。如果希望使用Atheros SDIO wifi v2.0,可以看看openmoko補丁。下一步,我將嘗試編譯wifi v2.0的驅動。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.