/************************************************************************
* backports移植rtlwifi驱动
* 说明:
* Linux内核版本算是蛮多的,版本越高其内核自带的驱动也是越多,对于低版本
* 如何使用高版本中的驱动是个问题,左栋提醒使用backports来做移植,尝试一下。
*
* 2017-9-13 深圳 龙华樟坑村 曾剑锋
***********************************************************************/ 一、参考文档:
. backports: Linux kernel backports
http://drvbp1.linux-foundation.org/~mcgrof/rel-html/backports/
. ubuntu15.04安装Atheros AR8161网卡驱动
https://jingyan.baidu.com/article/3ea51489d814c052e71bba7a.html
. ath10k backports releases
https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
. Linux wifi backports cross compile
https://stackoverflow.com/questions/18855554/linux-wifi-backports-cross-compile
. compat: exports duplicate symbol clk_disable (owned by kernel)
corehtml5canvas.com/code-live/
. cfg80211: exports duplicate symbol __ieee80211_get_channel (owned by kernel)
http://blog.csdn.net/wuqingwei/article/details/53374309
. Beaglebone Black fails in installing RTL8892CU WIfi module
https://github.com/beagleboard/kernel/issues/39 二、backports编译、测试:
. Download backports:
http://www.kernel.org/pub/linux/kernel/projects/backports/stable/v4.2.6/backports-4.2.6-1.tar.xz
. 参考教程:https://wireless.wiki.kernel.org/en/users/drivers/ath10k/backports
. 配置交叉编译器和硬件架构:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf-
. 修改Makefile,主要是修改内核目录,编译后库目录:
...
KMODDIR ?= updates
KLIB := /home/Qt/kernel/RTL8188/backports-4.2.-/
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.-/
KMODPATH_ARG := "INSTALL_MOD_PATH=$(KLIB)"
endif
KLIB=/home/Qt/kernel/RTL8188/backports-4.2.-/
# KLIB_BUILD ?= $(KLIB)/build/
KLIB_BUILD ?= /home/Qt/kernel/linuxQt_kernel/
...
. make defconfig-rtlwifi
. make
. 拷贝当前目录下lib目录到文件系统lib目录
. 下载rtl8192cufw.bin,并拷贝到文件系统/lib/firmware/rtlwifi/:
https://github.com/beagleboard/kernel/issues/39
. wpa_supplicant:
. configure:
[zengjf@root ~]# cat /etc/wpa_supplicant.conf
network={
ssid="LTE_CPE_EDEDBE"
psk="EDEDBED2"
}
. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf
. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf &
. wpa_supplicant -Dnl80211 -iwlan0 -c/etc/wpa_supplicant.conf > /dev/null >& &
. dhcpcd wlan0 获取ip,路由;
. 如果有双网卡,需要检查route表,是否将无线网卡的路由放在第一个,路由表默认采用第一个通信; 三、注意事项:
* 主要是要注意解决其中的duplicate symbol之类的问题,因为内核中可能选择了,在backports中有选择了,导致双重声明,或者没有声明之类的错误。
* 在移植的时候,有将内核中80211功能关闭,保存config,然后又打开,保存config,这样内核中的80211的选项就是默认的,之后内核就可以了。

backports移植rtlwifi驱动的更多相关文章

  1. 第一章 Android系统移植与驱动开发概述

    本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...

  2. 第一章Android系统移植与驱动开发概述--读书笔记

    以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...

  3. 第一章 Andorid系统移植与驱动开发概述 - 读书笔记

    Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...

  4. 1Android系统移植与驱动开发概述

    1.Android系统架构分为四层,从下至上依次为Linux内核层,C/C++代码库.Android SDK API.应用程序,要熟悉每一层的内容以及功能: 2.Android移植分为应用移植和系统移 ...

  5. Android系统移植与驱动开发----第一章

    第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...

  6. 【转】 linux内核移植和驱动添加(三)

    原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...

  7. 3.移植驱动到3.4内核-移植DM9000C驱动

    在上章-使内核支持烧写yaffs2,裁剪内核并制作补丁了 本章,便开始移植以前2.6内核的驱动到3.4新内核 1.介绍 首先内核更新,有可能会重新定义新的宏,去除以前的宏,以前更改函数名等 所以移植驱 ...

  8. 【Linux高级驱动】如何分析并移植网卡驱动

    dm9000的驱动分析 m9000_init platform_driver_register(); db); db); );  ; id_val ; id_val ; /* 获取芯片型号 */ id ...

  9. Android系统移植与驱动开发

    21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...

随机推荐

  1. HDU5139:Formula(找规律+离线处理)

    http://acm.hdu.edu.cn/showproblem.php?pid=5139 Problem Description f(n)=(∏i=1nin−i+1)%1000000007You ...

  2. forEach方法的实现

    var arr = [1, 23, 1, 1, 1, 3, 23, 5, 6, 7, 9, 9, 8, 5]; Array.prototype.forEach = Array.prototype.fo ...

  3. #C++初学记录 (第一次测试)(A - 复习时间 )

    练习题目一 (A-复习时间) 为了能过个好年,xhd开始复习了,于是每天晚上背着书往教室跑.xhd复习有个习惯,在复习完一门课后,他总是挑一门更简单的课进行复习,而他复习这门课的效率为两门课的难度差的 ...

  4. Java文件IO流的操作总结

    Java中的IO操作涉及到的概念及相关类很多,很容易弄混,今天特来整理总结一下,并附上一份完整的文件操作的代码. 概念解析 读和写 流就是管道,向管道里面写数据用输出流:write 从管道里面读数据, ...

  5. 隐藏Apche、Nginx、PHP的版本号提高网站安全性

    隐藏Apache版本号 在apache配置文件httpd.conf中,加入以下代码 ServerTokens Prod ServerSignature Off 隐藏Nginx版本号 在nginx的配置 ...

  6. linux第四章读书笔记

    第四章 进程调度 一.多任务 多任务操作系统就是能同时并发的交互执行多个进程的操作系统.多任务操作系统使多个进程处于堵塞或者睡眠状态,实际不被投入执行,这些任务尽管位于内存,但是并不处于可运行状态.多 ...

  7. kali linux 安装过程

    kali linux 安装过程 获取镜像文件 首先需要去官网获取kali linux的镜像文件,本来获取了kali的最新版,由于有些方面还没有得到完善,与VM还没有完全兼容,所以换了视频上的1.0.8 ...

  8. Gym 101147A The game of Osho(SG找规律)

    https://vjudge.net/problem/Gym-101147A 题意:给出G组数,每组数包括两个数B,N,两玩家轮流取数,使得N-num,num<=N并且num是N的整次幂.判断谁 ...

  9. codeforces 256 div2 C. Painting Fence 分治

    C. Painting Fence time limit per test 1 second memory limit per test 512 megabytes input standard in ...

  10. taglist-plus 安装使用

    taglist 可以查看文件中的 类,函数,变量等信息. 在.vimrc中添加: Plugin 'taglist-plus' 然后打开vim编辑器 PluginInstall 使用: 打开taglis ...