zoukankan      html  css  js  c++  java
  • 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. 参考教程:https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
        3. 配置交叉编译器和硬件架构:
            ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
        4. 修改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/
            ...
        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:
            1. configure:
                [zengjf@root ~]#  cat /etc/wpa_supplicant.conf
                network={
                  ssid="LTE_CPE_EDEDBE"
                  psk="EDEDBED2"
                }
            2. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
            3. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf &
            4. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf > /dev/null 2>&1 & 
        10. dhcpcd wlan0 获取ip,路由;
        11. 如果有双网卡,需要检查route表,是否将无线网卡的路由放在第一个,路由表默认采用第一个通信;
    
    三、注意事项:
        * 主要是要注意解决其中的duplicate symbol之类的问题,因为内核中可能选择了,在backports中有选择了,导致双重声明,或者没有声明之类的错误。
        * 在移植的时候,有将内核中80211功能关闭,保存config,然后又打开,保存config,这样内核中的80211的选项就是默认的,之后内核就可以了。
  • 相关阅读:
    [SDOI2015] 序列统计
    [BZOJ3514] Codechef MARCH14 GERALD07加强版
    [CF1082E] Increasing Frequency
    [CF1093G] Multidimensional Queries
    [HNOI2013] 切糕
    [HEOI2017] 寿司餐厅 + 最大权闭合子图的总结
    [BZOJ3771] Triple
    [HEOI2016] 字符串
    [总结] 后缀数组学习笔记
    [Luogu 3613] 睡觉困难综合征
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/7513394.html
Copyright © 2011-2022 走看看