做感恩网站的图片大全/seo外包公司优化

做感恩网站的图片大全,seo外包公司优化,三级分销系统软件,重庆网站建设公司那家好学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天记录我在I.MX6Q平台移植RT5370无线网卡驱动程序的过程,加qq1126137994 微信:liu1126137994 共同学习更多技术!…

学习交流加

  • 个人qq:
    1126137994
  • 个人微信:
    liu1126137994
  • 学习交流资源分享qq群:
    962535112

今天记录我在I.MX6Q平台移植RT5370无线网卡驱动程序的过程,加qq1126137994 微信:liu1126137994 共同学习更多技术!!!

两种移植方法:1、移植官方下载的RT5370驱动程序源码 2、在Linux内核配置自带的RT5370驱动程序

今天先记录移植官方下载的RT5370驱动程序源码。内核自带的驱动的配置方法放到以后的文章中!

一、移植官方下载的驱动程序源码

***软件环境:***虚拟机ubuntu12.04

硬件环境: IMX6Q单板 RT5370wifi芯片

RT5370驱动程序源码下载点击下载:

先说一下思路:当我们需要移植一个驱动程序的时候,大概有两种移植的情况:移植内核自带的驱动程序,移植非内核自带的驱动程序

这里先说移植非内核自带的驱动程序的思路:首先要看源程序的README文件,看别人说的是如何修改与配置。然后一定会修改的文件是Makefile文件(主要是指定编译工具,内核树,单板信息等),然后有可能还会需要修改其他配置文件(这与具体的驱动程序有关)。

1. 首先下载驱动程

下载好的驱动程序放到Linux系统,解压,打开README_STA_usb文件:

=======================================================================
Build Instructions:  
====================1> $tar -xvzf DPB_RT2870_Linux_STA_x.x.x.x.tgzgo to "./DPB_RT2870_Linux_STA_x.x.x.x" directory.2> In Makefileset the "MODE = STA" in Makefile and chose the TARGET to Linux by set "TARGET = LINUX"define the linux kernel source include file path LINUX_SRCmodify to meet your need.3> In os/linux/config.mk define the GCC and LD of the target machinedefine the compiler flags CFLAGSmodify to meet your need.** Build for being controlled by NetworkManager or wpa_supplicant wext functionsPlease set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y'.=> #>cd wpa_supplicant-x.x=> #>./wpa_supplicant -Dwext -ira0 -c wpa_supplicant.conf -d** Build for being controlled by WpaSupplicant with Ralink DriverPlease set 'HAS_WPA_SUPPLICANT=y' and 'HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n'.=> #>cd wpa_supplicant-0.5.7=> #>./wpa_supplicant -Dralink -ira0 -c wpa_supplicant.conf -d4> $make# compile driver source code# To fix "error: too few arguments to function ˉiwe_stream_add_event"=> $patch -i os/linux/sta_ioctl.c.patch os/linux/sta_ioctl.c5> $cp RT2870STA.dat  /etc/Wireless/RT2870STA/RT2870STA.dat6> load driver, go to "os/linux/" directory.#[kernel 2.4]#    $/sbin/insmod rt2870sta.o#    $/sbin/ifconfig ra0 inet YOUR_IP up#[kernel 2.6]#    $/sbin/insmod rt2870sta.ko#    $/sbin/ifconfig ra0 inet YOUR_IP up7> unload driver    $/sbin/ifconfig ra0 down$/sbin/rmmod rt2870sta

在README_STA_usb文件中找到上述内容,上述内容就是告诉你如何修改编译驱动程序的。
那么我们就根据上述7条内容来执行:
(1)解压
(2)修改Makefile:
打开源代码程序Makefile,发现MODE = STA TARGET = LINUX 已经是与要求的一样了,那么这两个地方就不用修改!!!

然后找到PLATFORM = SMDK 将它的注释去掉,用的平台是SMDK,同时注释掉本身设置的PLATFORM = PC 这句话。

找到:

ifeq ($(PLATFORM),SMDK)
LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung
CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-
endif

修改为:

ifeq ($(PLATFORM),SMDK)
LINUX_SRC = /home/zsl/work/system/linux-3.0.35
CROSS_COMPILE = /home/zsl/work/system/fsl-linaro-toolchain/bin/arm-none-linux-gnueabi-
endif
#其中LINUX_SRC代表我们开发板使用的Linux操作系统的内核目录 #
#CROSS_COMPILE代表我们编译内核用的编译工具的目录#

(3)修改os/linux/config.mk
根据文档:
define the GCC and LD of the target machine
define the compiler flags CFLAGS

查看config.mk发现如下:

CC := $(CROSS_COMPILE)gcc 
LD := $(CROSS_COMPILE)ld   

$(CROSS_COMPILE)这个是变量引用,在Makefile中这个变量就代表:/usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

所以在这里就不需要修改!!!

然后找到:

# Support AP-Client function
HAS_APCLI=n# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=n# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=n

把这几个值的n全部变成y:

# Support AP-Client function
HAS_APCLI=y# Support Wpa_Supplicant
HAS_WPA_SUPPLICANT=y# Support Native WpaSupplicant for Network Maganger
HAS_NATIVE_WPA_SUPPLICANT_SUPPORT=y

然后文档中还有说关于wpa_supplicant的操作与使用放到下一篇文章讲解!

(4)make
编译源码程序,会在os/linux/目录下生成rt5370sta.ko驱动模块程序!!!

(5)load driver
装载驱动程序。装载驱动程序之前需要

将/os/linux/目录下的rt5370sta.ko拷贝到开发板上,并将驱动根目录下的RT2870STA.dat拷贝到开发板的/etc/Wireless/RT2870STA/目录下,前提是需要自己手动创建/etc/Wireless/RT2870STA/目录

然后装载驱动程序
insmod rt5370sta.ko

我的出现如下错误:

  rt5370sta: Unknown symbol usb_alloc_urb (err 0)rt5370sta: Unknown symbol usb_free_urb (err 0)rt5370sta: Unknown symbol usb_alloc_coherent (err 0)rt5370sta: Unknown symbol usb_register_driver (err 0)rt5370sta: Unknown symbol usb_put_dev (err 0)rt5370sta: Unknown symbol usb_get_dev (err 0)rt5370sta: Unknown symbol usb_submit_urb (err 0)rt5370sta: Unknown symbol usb_free_coherent (err 0)rt5370sta: Unknown symbol usb_control_msg (err 0)rt5370sta: Unknown symbol usb_deregister (err 0)rt5370sta: Unknown symbol usb_kill_urb (err 0)insmod: error inserting 'rt5370sta.ko': -1 Unknown symbol in module

这些错误都是那些函数无符号,至于为什么无符号,我查了一下,有可能是没有声明GPL协议,需要更改os/linux下的usb_main_dev.c文件,在开头的地方写上:

MODULE_LICENSE("GPL"); 

然后make 重新编译源码程序!!!编译成功
重新加载驱动程序:
insmod rt5370sta.ko
这里写图片描述

显示装载成功!!!

然后我们ifconfig ra0 up
这里写图片描述

打开ra0后,再ifconfig查看一下:
这里写图片描述
这说明我们的驱动程序已经可以正常使用了!!!

再卸载试一下:
首先:ifconfig ra0 down
然后: rmmod rt5370sta.ko
这里写图片描述
可以看出,我们的WIFI驱动程序可以正常使用与卸载!!!

那么接下来的README_STA_usb 文档中的内容是介绍如何操作使用wpa_supplicant。

这里说一下wpa_supplicant

wpa_supplicant主要是用来支持WEP,WPA/WPA2和WAPI无线协议和加密认证的,由于linux本身并不支持WPA的加密,所以需要移植wpa_supplicant来使wifi能够连接WPA加密的无线路由上,简单的说,wpa_supplicant就是WiFi驱动和用户的中转站外加对协议和加密认证的支持。
wpa_supplicant的移植就放到下一篇文章中了~

想一起探讨以及获得各种学习资源加我:
qq:1126137994
微信:liu1126137994
可以共同交流关于嵌入式,操作系统,C++语言,C语言,数据结构等技术问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/423217.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Makefile由浅入深完全学习记录5】预定义变量的使用

今天学习Makefile预定义变量的使用,加qq:1126137994.微信:liu1126137994一起学习更多技术!!! 1.预定义变量:自动变量 在Makefile中存在一些预定义过的变量,我们可以直接拿来使用而…

【Makefile由浅入深完全学习记录6】Makefile中变量的高级主题上

抓住基础,学习更多技术,迎接挑战,加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 上一篇文章学习了makefile中的预定义变量的使用,今天来继续学习makefile中的变量! 1、变量值的替换 …

USB转WIFI无线网卡驱动程序(内核自带RT5370驱动程序添加)的移植记录之二

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天记录我在I.MX6Q平台添加内核自带RT5370无线网卡驱动程序的过程,加qq1126137994 微信:liu1126137994 共同学习更多技术&…

Node.js安装详细步骤教程(Windows版)

Node.js安装详细步骤教程(Windows版) 什么是Node.js? 简单的说 Node.js 就是运行在服务端的 JavaScript。 Node.js是一个基于 Chrome V8 引擎的 JavaScript 运行环境; Node.js使用一个事件驱动、非阻塞式 I/O 的模型,使其轻量且高效&…

移植wpa_supplicant软件与DHCP软件解密WPA/WPA2 加密的无线网络

加qq1126137994与微信:liu1126137994 一起学习更多技术! 现在的无线网络基本都是 WPA/WPA2 加密方式的,当我们在嵌入式Linux平台要实现无线网卡连接无线网时,我们需要一些工具来解密WPA/WPA2 加密方式的无线网。wpa_supplicant软…

xshell 连接不了 centos7

xshell 连接不了 centos7 采用的是net模式 有一段时间没有使用虚拟机了:今天打开后突然不能使用了,发现主机ping不通虚拟机了,而虚拟机可以正常联网,可以ping主机 查了一下 vmnet8 自动分配的 ipv4 和虚拟机 分配的网关地址没…

java多线程思维导图

分享是最好的整理,利用csdn 平台保存一下

【Makefile由浅入深完全学习记录7】Makefile中变量的高级主题下

加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 继续上一篇文章关于变量的学习! 1、环境变量(全局变量) -makefile中能够直接使用环境变量的值 如果makefile中定义了同名变量,则环境变量将被覆…

【Makefile由浅入深完全学习记录8】条件判断语句

加qq:1126137994 微信:liu1126137994 一起学习更多技术~ 今天来学习Makefile中条件判断语句! Makefile也算是一门语言,它有自己的语法,那么它应该也会像C/C语言一样,支持条件判断语句! Makef…

C语言实现位数组(bit数组)与位数组的简单应用举例

学习交流加(可免费帮忙下载CSDN资源):个人微信: liu1126137994学习交流资源分享qq群1(已满): 962535112学习交流资源分享qq群2: 780902027 今天有朋友遇到一个笔试题:一个…

【常见笔试面试算法题12】动态规划算法案例分析

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 文章目录1、暴力搜索方法2、记忆搜索方法3、动态规划方法4、各种动态规划方法案例总结:给定数组arr,arr中所有数都为正数&…

kafka 思维导图

最近在培训沟通力过程中,一句话说的特别好,有输入就要有输出,最近又学习了一遍kafka 给大家分享一下

【C++深度剖析教程28】C++对象模型分析

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 今天记录学习的内容是:C对象模型分析!!! 本质分析: class是一种特殊的struct 在内存中cl…

【C++深度剖析教程29】C++对象模型分析下

加qq1126137994,微信:liu1126137994 一起学习更多技术!!! 今天来继续学习C对象模型! 在C编译器内部,类可以理解为结构体子类是由父类成员叠加子类新成员得到的 下面来写一个程序分析C的继承…

java 思维导图

最近有时间,又整理了一下java 思维导图,持续优化中 子模块拆分总结:java基础 java思维导图 总结

【常见笔试面试算法题12续集一】动态规划算法案例1台阶问题练习题

加qq1126137994 一起学习更多技术!!! 以下问题,都可以用非动态规划的方法做,我为了整理动态规划的方法思路,就全部用动态规划的思路来解决问题,这样还可以简化问题的处理,是时间复杂…

linux 思维导图

工作中使用总结的linux 分享一下

【常见笔试面试算法题12续集二】动态规划算法案例2矩阵最小路径和练习题

加qq1126137994 一起学习更多技术!!! 有一个矩阵map,它每个格子有一个权值。从左上角的格子开始每次只能向右或者向下走,最后到达右下角的位置,路径上所有的数字累加起来就是路径和,返回所有的…

mysql数据库思维导图

先前总结的一下数据库的思维导图,和大家分享一下,持续更新; 最近面试数据仓库工程师,过程中,问到索引类型,只是记得,普通索引,唯一索引,还有主键,面试中让说…

【常见笔试面试算法题12续集三】动态规划算法案例分析3 LIS练习题(最长上升子序列)

学习交流加 个人qq: 1126137994个人微信: liu1126137994学习交流资源分享qq群: 962535112 这是一个经典的LIS(即最长上升子序列)问题,请设计一个尽量优的解法求出序列的最长上升子序列的长度。 给定一个序列arr及它的长度n(长度小…