backports移植rtlwifi驱动
/************************************************************************
* 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驱动的更多相关文章
- 第一章 Android系统移植与驱动开发概述
本书第一章首先简单概要地介绍了关于Android系统移植和驱动开发的相关内容. 所谓“移植”是指为特定的自己的设备,如手机定制Android的过程.自己开发一些程序(移植)装载在设备上,使得Andro ...
- 第一章Android系统移植与驱动开发概述--读书笔记
以前,初步学习过嵌入式Linux驱动开发的基础课程,对于驱动开发可以说是有了一点点微末的基础吧.首先我们要对Android嵌入式系统有一个初步的认识,Android系统发展到今天已经具备了完善的架构. ...
- 第一章 Andorid系统移植与驱动开发概述 - 读书笔记
Android驱动月考1 第一章 Andorid系统移植与驱动开发概述 - 读书笔记 1.Android系统的架构: (1)Linux内核,Android是基于Linux内核的操作系统,并且开源,所以 ...
- 1Android系统移植与驱动开发概述
1.Android系统架构分为四层,从下至上依次为Linux内核层,C/C++代码库.Android SDK API.应用程序,要熟悉每一层的内容以及功能: 2.Android移植分为应用移植和系统移 ...
- Android系统移植与驱动开发----第一章
第一章 Android系统移植与驱动开发 Android源代码定制完全属于自己的嵌入式系统,但是支持的设备不多,所以要移植,而在移植的过程中使用的不得不提的是驱动开发. Android系统构架主要包括 ...
- 【转】 linux内核移植和驱动添加(三)
原文网址:http://blog.chinaunix.net/uid-29589379-id-4708909.html 原文地址:linux内核移植和驱动添加(三) 作者:genehang 四,LED ...
- 3.移植驱动到3.4内核-移植DM9000C驱动
在上章-使内核支持烧写yaffs2,裁剪内核并制作补丁了 本章,便开始移植以前2.6内核的驱动到3.4新内核 1.介绍 首先内核更新,有可能会重新定义新的宏,去除以前的宏,以前更改函数名等 所以移植驱 ...
- 【Linux高级驱动】如何分析并移植网卡驱动
dm9000的驱动分析 m9000_init platform_driver_register(); db); db); ); ; id_val ; id_val ; /* 获取芯片型号 */ id ...
- Android系统移植与驱动开发
21世纪,Android发展非常迅速,在市场上占有很大的比例,遥遥领先与iOS,很大程度上是因为任何人都可以利用Android的源代码定制完全属于自己的嵌入式开发系统,而不需要向Google交一分钱. ...
随机推荐
- facebook graph api 报错SSLError(1, u'[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)')
使用facebook graph api,报错如下 一开始以为是https证书验证失败,查了一下午源码,没有看到问题,于是把Python27\lib\site-packages\requests\ad ...
- NET Framework 4.0无法安装!
win7旗舰版无法安装CAD2012,安装NET Framework 4.0的时候就出现错误,安装NET Framework 4.0单独版也无法安装出现错误. 解决方法: 1.点击电脑桌面右下角的“开 ...
- HDU4112
对于n*m*k的方块,用手掰成1**1的那么搜需要的步骤是固定的,为n*m*k-,如果用刀切,因为可以把多块叠在一起切,所以对于长度为n的,将他切成0,所需要的步骤数位k 对于n*m*k的方块,用手掰 ...
- 20145211MSF基础应用实验
20145211MSF基础应用实验 一.实验博客 ms08_067攻击实验 http://www.cnblogs.com/entropy/p/6690301.html ms12_004漏洞攻击 htt ...
- POJ 2886 Who Gets the Most Candies? (线段树)题解
题意:一堆小朋友围成一个圈,规定从k开始玩,每个被选中的人都有一个数字,正数代表从他左边开始数num,负数从右边数,被选中的人继续按照上述操作,直到都退出圈子,第i个退圈的人能拿到一个点数,这个点数是 ...
- Codeforces Round #394 (Div. 2) E. Dasha and Puzzle(dfs)
http://codeforces.com/contest/761/problem/E 题意:给出一棵树,现在要把这棵树上的结点放置在笛卡尔坐标上,使得每一条边与x轴平行或者与y轴平行.输出可行解,即 ...
- javascript method.
//**************************************************************** //* 名 称:DataLength //* 功 能:计算数据的长 ...
- 用PendingIntent传送数据丢失解决办法
当要设置一个闹钟时,可以把数据放在Intent里,再用intent对象生成一个PendingIntent对象,然后用AlarmManager 来邦定PendingIntent对象设置闹钟,具体代码如下 ...
- spark 都用了哪些开源东东
直接上干货 commons-cli http://www.ibm.com/developerworks/cn/java/j-lo-commonscli/ guava http://www.cnblog ...
- MaintainableCSS 《可维护性 CSS》 --- 模板篇
什么是模块(Modules) ? 模块是一个特别的独立单元,可以与其他模块组合以形成更复杂的结构. 在客厅里,我们可以认为电视,沙发和墙艺术是模块.它们聚在一起创造一个可用的房间. 如果我们把其中一个 ...