backports移植rtlwifi驱动

Posted zengjf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了backports移植rtlwifi驱动相关的知识,希望对你有一定的参考价值。

/************************************************************************
 *                   backports移植rtlwifi驱动
 * 说明:
 *     Linux内核版本算是蛮多的,版本越高其内核自带的驱动也是越多,对于低版本
 * 如何使用高版本中的驱动是个问题,左栋提醒使用backports来做移植,尝试一下。
 *
 *                                      2017-9-13 深圳 龙华樟坑村 曾剑锋
 ***********************************************************************/

一、参考文档:
    1. backports: Linux kernel backports
        http://drvbp1.linux-foundation.org/~mcgrof/rel-html/backports/
    2. ubuntu15.04安装Atheros AR8161网卡驱动
        https://jingyan.baidu.com/article/3ea51489d814c052e71bba7a.html
    3. ath10k backports releases
        https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
    4. Linux wifi backports cross compile
        https://stackoverflow.com/questions/18855554/linux-wifi-backports-cross-compile
    5. compat: exports duplicate symbol clk_disable (owned by kernel)
        corehtml5canvas.com/code-live/
    6. cfg80211: exports duplicate symbol __ieee80211_get_channel (owned by kernel)
        http://blog.csdn.net/wuqingwei/article/details/53374309
    7. Beaglebone Black fails in installing RTL8892CU WIfi module
        https://github.com/beagleboard/kernel/issues/39

二、backports编译、测试:
    1. Download backports:
        http://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.2.6/backports-4.2.6-1.tar.xz
    2. 配置交叉编译器和硬件架构:
        ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
    3. 修改Makefile,主要是修改内核目录,编译后库目录:
        ...
        KMODDIR ?= updates
        KLIB := /home/Qt/kernel/RTL8188/backports-4.2.6-1/
        ifneq ($(origin KLIB), undefined)
        KMODPATH_ARG := "INSTALL_MOD_PATH=$(KLIB)"
        else
        # KLIB := /lib/modules/$(shell uname -r)/
        KLIB := /home/Qt/kernel/RTL8188/backports-4.2.6-1/
        KMODPATH_ARG := "INSTALL_MOD_PATH=$(KLIB)"
        endif
        KLIB=/home/Qt/kernel/RTL8188/backports-4.2.6-1/
        # KLIB_BUILD ?= $(KLIB)/build/
        KLIB_BUILD ?= /home/Qt/kernel/linuxQt_kernel/
        ...
    4. 参考教程:https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
    5. make defconfig-rtlwifi
    6. make
    7. 拷贝当前目录下lib目录到文件系统lib目录
    8. 下载rtl8192cufw.bin,并拷贝到文件系统/lib/firmware/rtlwifi/:
        https://github.com/beagleboard/kernel/issues/39
    9. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf &
    10. dhcpd wlan0获取ip,路由;
    11. 如果有双网卡,需要检查route表,是否将无线网卡的路由放在第一个,路由表默认采用第一个通信;

三、注意事项:
    主要是要注意解决其中的duplicate symbol之类的问题,因为内核中可能选择了,在backports中有选择了,导致双重声明,或者没有声明之类的错误。

 

以上是关于backports移植rtlwifi驱动的主要内容,如果未能解决你的问题,请参考以下文章

Kali之——安装内核集成的无线驱动补丁

移植到Oracle 19c中的21c功能

移植到Oracle 19c中的21c功能

卡住了从活动到片段的移植

如何使用片段反向移植?

X210开发板(S5PV210芯片)uboot移植DM9000驱动移植