详细记录丨Realtek RTL8188FU WiFi 驱动移植
1 參考資料
1、芯片數據手冊:TL8188FCA.pdf
2、驅動移植手冊:Quick_Start_Guide_for_Driver_Compilation_and_Installation.pdf
3、【正點原子】I.MX6U嵌入式Linux驅動開發指南V1.3.pdf
4、Linux 添加 WiFi 驅動:
https://blog.csdn.net/sbddbfm/article/details/101222266
5、還有一些其他前輩的教程,十分感謝!
2 環境介紹
1、使用的新唐的 NUC980 系列 MCU ;
2、Linux 內核版本:4.4.179 ;
3、交叉編譯鏈版本
arm-none-linux-gnueabi-gccgcc?version?4.8.3?20140320?(prerelease)?(Sourcery?CodeBench?Lite?2014.05-29)4、供應商提供的 WiFi 模塊驅動源碼;
3 驅動移植
1、將 RTL8188FU 驅動添加到 Linux 內核中;
在 drivers/net/wireless 路徑新建文件夾 realtek_new ;
將驅動源碼 RTL8188FU_Linux_v5.7.4_33085.20190626\driver\rtl8188FU_linux_v5.7.4_33085.20190419 解壓后,放到 realtek_new 文件夾中;
修改文件夾名字為 rtl8188fu ;
2、修改 drivers/net/wireless/Kconfig
打開 drivers/net/wireless/Kconfig ,在文件最后一行添加
3、修改 drivers/net/wireless/Makefile
打開 drivers/net/wireless/Makefile ,在文件最后一行添加
4、新增文件 drivers/net/wireless/realtek_new/Makefile
新增文件 Makefile ,添加以下內容,保存
5、新增文件 drivers/net/wireless/realtek_new/Kconfig
新增文件 Kconfig ,添加以下內容,保存
6、關閉 Debug 功能
打開文件 drivers/net/wireless/realtek_new/rtl8188fu/Makefile ;
第 88 行,將宏定義 CONFIG_RTW_DEBUG=y 改為 CONFIG_RTW_DEBUG=n ;
否則會打印很多調試信息,影響正常使用;
修改之后如下圖所示:
4 內核配置
1、配置 USB 支持設備
Device?Drivers??--->?[*]?USB?support??---><*>???Support?for?Host-side?USB<*>?????EHCI?HCD?(USB?2.0)?support?<*>?????OHCI?HCD?(USB?1.1)?support<*>???ChipIdea?Highspeed?Dual?Role?Controller???????????[*]?????ChipIdea?host?controller????????????[*]?????ChipIdea?driver?debug2、配置支持 WiFi 設備
Device?Drivers??--->?[*]?Network?device?support??--->?[*]???Wireless?LAN??---><*>???IEEE?802.11?for?Host?AP?(Prism2/2.5/3?and?WEP/TKIP/CCMP)?????????????[*]?????Support?downloading?firmware?images?with?Host?AP?driver???????????[*]???????Support?for?non-volatile?firmware?download3、配置支持 IEEE 802.11
[*]?Networking?support??--->-*-???Wireless??--->[*]?????cfg80211?wireless?extensions?compatibility?<*>???Generic?IEEE?802.11?Networking?Stack?(mac80211)4、配置 RTL8188FU 驅動
由于 RTL8188FU 無需加載額外的固件文件,故無需將驅動配置成模塊;
直接將驅動編譯進內核,這樣開機就會自動初始化 RTL8188FU ,不需要啟動后再手工加載驅動模塊;
5、在內核源碼文件夾根路徑,運行命令:
make?uImage?-j166、編譯完成;
5 簡單測試
1、將 WiFi 模塊接入控制板;
2、使用新編譯的內核,重新啟動程序;
3、使用命令 ifconfig -a 測試;
4、如果可以看到 wlan0 網卡,則代表驅動可以正常工作;否則,請檢查之前配置步驟是否有誤;
5、我的測試結果如下:
[root]#ifconfig?-a dummy0????Link?encap:Ethernet??HWaddr?12:DE:F0:8F:D4:1B??BROADCAST?NOARP??MTU:1500??Metric:1RX?packets:0?errors:0?dropped:0?overruns:0?frame:0TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0collisions:0?txqueuelen:1000?RX?bytes:0?(0.0?B)??TX?bytes:0?(0.0?B)eth0??????Link?encap:Ethernet??HWaddr?40:00:02:B3:D2:34??UP?BROADCAST?RUNNING?MULTICAST??MTU:1500??Metric:1RX?packets:336?errors:0?dropped:138?overruns:0?frame:0TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0collisions:0?txqueuelen:1000?RX?bytes:95476?(93.2?KiB)??TX?bytes:0?(0.0?B)lo????????Link?encap:Local?Loopback??inet?addr:127.0.0.1??Mask:255.0.0.0UP?LOOPBACK?RUNNING??MTU:65536??Metric:1RX?packets:0?errors:0?dropped:0?overruns:0?frame:0TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0collisions:0?txqueuelen:1?RX?bytes:0?(0.0?B)??TX?bytes:0?(0.0?B)wlan0?????Link?encap:Ethernet??HWaddr?68:B9:D3:B2:90:C8??BROADCAST?MULTICAST??MTU:1500??Metric:1RX?packets:0?errors:0?dropped:0?overruns:0?frame:0TX?packets:0?errors:0?dropped:0?overruns:0?carrier:0collisions:0?txqueuelen:1000?RX?bytes:0?(0.0?B)??TX?bytes:0?(0.0?B)好了,本期內容就是這樣,祝您一切順利,我們下期再見!
推薦閱讀:
專輯|Linux文章匯總
專輯|程序人生
專輯|C語言
我的知識小密圈
關注公眾號,后臺回復「1024」獲取學習資料網盤鏈接。
歡迎點贊,關注,轉發,在看,您的每一次鼓勵,我都將銘記于心~
總結
以上是生活随笔為你收集整理的详细记录丨Realtek RTL8188FU WiFi 驱动移植的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 03day上--网络基础及
- 下一篇: 免费的ERP软件哪一款好用?这3款让综合