天天看點

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

一、USB無線網卡

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

插到電腦上看下型号是Realtek RTL8188EU版本:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

二、添加驅動到Linux中

1. realtek驅動源碼

使用正點原子資料包中的源碼:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

2. 删除核心自帶的RTL8192CU驅動

根據正點原子教程描述,linux核心自帶的驅動經過測試不穩定,是以手動添加驅動源碼。

修改檔案​

​drivers/net/wireless/rtlwifi/Kconfig​

​,注釋掉RTL8192CU相關的配置内容:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

修改檔案​

​drivers/net/wireless/rtlwifi/Makefile​

​,注釋掉RTL8192CU的驅動源碼:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

至此,Linux核心自帶的RTL8192CU/8188CU驅動的源碼屏蔽完成。

3. 添加rtl81xx驅動

(1)拷貝整個realtek目錄到linux核心源碼的drivers/net/wireless目錄下,此目錄中存放着把所有的WIFI驅動檔案:

cp      
i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

(2)修改Kconfig檔案

修改​

​drivers/net/wireless/Kconfig​

​檔案,引用realtek檔案夾下的Kconfig檔案:

source "drivers/net/wireless/realtek/Kconfig"      
i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

(3)修改Makefile

修改​

​drivers/net/wireless/Makefile​

​,引用realtek檔案夾下的Makefile:

obj-$(CONFIG_REALTEK_WIFI)  +=      

至此,realtek驅動添加進核心完成。

三、Linux核心配置

1. 開啟USB裝置支援

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)
i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

2. 支援WIFI裝置

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

3. 支援IEEE 802.11

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

4. 編譯新核心

make      

使用新編譯的核心啟動。

将配置完成的.config檔案内容,同步修改到arch/arm/configs/imx_atk_emmc_defconfig檔案中。

四、編譯WIFI網卡驅動子產品

進入menuconfig。

1. 使能Realtek wifi

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

該選項會使能 REALTEK_WIFI 這個宏:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

2. 使能驅動子產品

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

3. 編譯驅動子產品

編譯核心子產品:

make      

檢視編譯出的子產品:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

使用nfs傳到開發闆上,待會加載。将修改同步到開發闆配置檔案:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

4. 測試

插入USB網卡:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

加載驅動子產品:

i.MX6ULL驅動開發 | 29 - 使用USB WIFI網卡(RTL8188EU)

繼續閱讀