测试平台

宿主机平台:Ubuntu 16.04.6

目标机:iMX6ULL

目标机内核:Linux 4.1.15


rtl8188eu 驱动移植

在网上下载Linux版的驱动源码;

wifi驱动的实现有两种:

1)将驱动源码交叉编译为内核模块ko文件,拷贝到目标机,通过 insmod 指令安装,在开机脚本中添加模块安装机wifi配置即可实现开机自动联网,本方法较为简单在此不做赘述;

2)将驱动移植到内核中,后面通过配置内核实现wifi支持,下面对内核驱动的移植进行详细描述;

移植步骤:

1.将驱动源码解压,并修改为 rtl8188eu ,对于移植的驱动我一般都放在 drivers/staging/   这个暂存目录下;

2.修改 drivers/staging/Makefile 加入 支持 rtl8188eu 的驱动编译

obj-$(CONFIG_R8188EU) += rtl8188eu/

3.添加 Kconfig 支持,修改 drivers/staging/Kconfig

source "drivers/staging/rtl8188eu/Kconfig"

至此内核驱动移植完毕。

内核配置及驱动使用

在内核目录

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- menuconfig

因为使用板载wifi情况较多,所以直接编译进内核;

然后

make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- zImage

更新内核

查看无线网络,对于wlan0 已经支持

wpa_supplicant是一个连接、配置WIFI的工具,下面使用该工具对wifi网络进行配置和连接

使用 wpa_passphrase  wifi配置文件 wifi.conf

网络名和密码

wpa_passphrase "HTGW-Guest" >> wifi.conf
67106002

查看配置文件

启动wlan0

wpa_supplicant -D wext -B -i wlan0 -c wifi.conf

-D 驱动程序名称(可以是多个驱动程序:nl80211,wext)
-i 接口名称
-c 配置文件 
-B 在后台运行守护进程

自动获取IP地址
udhcpc -b -i wlan0 -R

rtl8188eu 驱动移植的更多相关文章

  1. DM9000驱动移植在mini2440(linux2.6.29)和FS4412(linux3.14.78)上的实现(deep dive)篇一

    关于dm9000的驱动移植分为两篇,第一篇在mini2440上实现,基于linux2.6.29,也成功在在6410上移植了一遍,和2440非常类似,第二篇在fs4412(Cortex A9)上实现,基 ...

  2. kernel 4.4.12 EETI eGTouch 电容屏驱动移植

    kernel 4.4.12 EETI eGTouch 电容屏驱动移植: 在make menuconfig 里面添加如下选项: 添加通过事件上报接口节点: Device Drivers ---> ...

  3. AM335x kernel 4.4.12 i2c eeprom AT24c02驱动移植

    kernel 4.4.12 i2c eeprom AT24c02驱动移植 在kernel make menuconfig ARCH=ARM 中打开: Device Drivers ---> Mi ...

  4. wifi 驱动移植范例

    .改Makefile:  里面没有dm6441平台的,我看到有dm6446的,所以就在这里改了 ifeq ($(PLATFORM),DM6446) LINUX_SRC = /root/work/lin ...

  5. linux网卡驱动移植

    这里重要的是物理层PHY receiver,MAC(media access control)层,这里与软件中的协议栈不同,在硬件上MAC是PHY的下一层.DM9000A将MAC和PHY做到一起,也可 ...

  6. 飞凌OK6410开发板SDIO无线8189WIFI模块驱动移植

    为什么要移植?开发板不是已经提供了无线驱动吗? 貌似是这样的..本来是好用的.加入自己第三方驱动后发现WIFI用不了...最后发现飞凌提供的内核里面没有8189芯片的代码...问售后他们说那边是好的. ...

  7. ar1020 驱动移植 无效

    移植ar1020的spi驱动.驱动移植过来后,在原来的板子上都能够正常运行,而在新的板子却没有效果. 最后查看新旧板子的AR1020的电路,发现M2引脚连接不同.M2高电平连接的touch是5线的接口 ...

  8. I.MX6 SHT20 Linux 驱动移植

    /*********************************************************************** * I.MX6 SHT20 Linux 驱动移植 * ...

  9. AM335x(TQ335x)学习笔记——GPIO关键驱动移植

    或按照S5PV210学习秩序.我们首先解决的关键问题.TQ335x有六个用户按钮,每个上.下.剩下.对.Enter和ESC. 我想开始学习S5PV210当同一,写输入子系统驱动器的关键问题要解决,但浏 ...

随机推荐

  1. phpmyadmin scripts/setup.php 反序列化漏洞(WooYun-2016-199433)

    phpmyadmin 2.x版本 POST /scripts/setup.php HTTP/1.1 Host: 192.168.49.2:8080 Accept-Encoding: gzip, def ...

  2. Jenkins-CI 远程代码执行漏洞(CVE-2017-1000353)

    影响范围 所有Jenkins主版本均受到影响(包括<=2.56版本) 所有Jenkins LTS 均受到影响( 包括<=2.46.1版本) poc下载 https://github.com ...

  3. icmp介绍以及arp攻击

    目录 一.ip数据包格式 二.ICMP协议介绍 三.ARP协议介绍 四.ARP攻击原理 一.ip数据包格式 网络层的功能: 定义了基于ip协议的逻辑地址 连接不同的媒介类型 选择是数据通过网络的最佳途 ...

  4. 为什么crictl和ctr的输出有时不一样

    containerd 相比于docker , 多了namespace概念, 每个image和container 都会在各自的namespace下可见, 目前k8s会使用k8s.io 作为命名空间 cr ...

  5. ERROR: database "db" is being accessed by other users

    执行DROP DATABASE testdb;的时候提示: ERROR: database "testdb" is being accessed by other users DE ...

  6. .NET Core/.NET5/.NET6 开源项目汇总13:模板引擎

    系列目录     [已更新最新开发文章,点击查看详细] 开源项目是众多组织与个人分享的组件或项目,作者付出的心血我们是无法体会的,所以首先大家要心存感激.尊重.请严格遵守每个项目的开源协议后再使用.尊 ...

  7. 线程状态Thread.State

    线程状态Thread.State 线程状态.线程可以处于下列状态之一: NEW 至今尚未启动的线程处于这种状态. RUNNABLE 正在 Java 虚拟机中执行的线程处于这种状态. BLOCKED 受 ...

  8. Prometheus alertmanager邮件发送+grafana告警展示

    前言 前面一篇博客,我已经介绍了prometheus如何监控mysql. 这一篇我来介绍如何通过alertmanger进行告警邮件发送(微信或钉钉类似,因为需要企业帐户,我就不试了),以及如何通过gr ...

  9. Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现

    Apache Druid 远程代码执行 CVE-2021-25646 漏洞复现 前言 Apache Druid 是用Java编写的面向列的开源分布式数据存储,旨在快速获取大量事件数据,并在数据之上提供 ...

  10. 题解 P3941 入阵曲

    题解 观察数据范围,可以 \(\mathcal O(n^2m^2)\) 暴力计算,而加上特殊性质,则可以骗到 \(75pts\) 正解: 我们发现,在一维情况下,\(\mod k\) 相同的前缀和相减 ...