/************************************************************************
* 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. POJ1006——Biorhythms(中国剩余定理)

    Biorhythms Description人生来就有三个生理周期,分别为体力.感情和智力周期,它们的周期长度为23天.28天和33天.每一个周期中有一天是高峰.在高峰这天,人会在相应的方面表现出色. ...

  2. [golang note] 协程通信

    channel基本语法 • channel介绍 √ golang社区口号:不要通过共享内存来通信,而应该通过通信来共享内存. √ golang提供一种基于消息机制而非共享内存的通信模型.消息机制认为每 ...

  3. 小型网站MYSQL问题二:Percona Xtrabackup实现数据库备份和恢复

    1.安装软件仓库(不要问我为什么不用源码安装,好吧,其实我懒.) 1 2 3 4 5 6 7 8 wget https://www.percona.com/downloads/percona-rele ...

  4. windows监听socket和标准输入

    原来的代码 def input_command(self): msg = raw_input('\nPlease input the command:') remote_id = raw_input( ...

  5. 20145329 《网络对抗技术》MS08_067远程漏洞攻击

    MS08_067远程漏洞攻击:shell 实现攻击的前提是:攻击机和靶机在同一个网段下,首先将kali的ip改为与winxp的ip一样,二者能ping通 两台虚拟机: kali ip:192.168. ...

  6. 初识PHP(一)基础语法

    一直准备学习PHP,结果前一段时间总是有事情,耽误了一阵子.现在赶快迎头赶上! 这个系列只是谈谈我对于PHP的一些看法,不是教程性质的.另外我是小白,只是写写随笔,大神求轻拍.本人学习过c .java ...

  7. 如何把本地git仓库托管到码云上

    提交代码到本地git仓库 git init git status git add . git status git commit -m "init my project"     ...

  8. nodejs v8引擎

    Node.js 线程你理解的可能是错的 本文代码运行环境 系统:MacOS High Sierra Node.js:10.3.0 复制代码 Node.js是单线程的,那么Node.js启动后线程数是1 ...

  9. OOP、AOP 、IoC和DI、ORM 概念

    OOP 面向对象编程(Object Oriented Programming) OOP引入封装.继承和多态性等概念来建立一种对象层次结构,用以模拟公共行为的一个集合. AOP 面向切面编程Aspect ...

  10. 雷林鹏分享:Ruby File 类和方法

    Ruby File 类和方法 File 表示一个连接到普通文件的 stdio 对象.open 为普通文件返回该类的一个实例. 类方法 序号方法 & 描述 1File::atime( path) ...