热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

linux下wifi驱动移植,USBWifi驱动移植(FS_4412)

USB-Wifi驱动移植(FS_4412)作者:刘老师,FS_4412可以同链接USB-Wifi模块实现无线上网功能,本章节主要描述了如何在FS_4412开发板上移植USB-Wif

USB-Wifi驱动移植(FS_4412)

作者:刘老师,

FS_4412可以同链接USB-Wifi模块实现无线上网功能,本章节主要描述了如何在FS_4412开发板上移植USB-Wifi模块的驱动和相关的WPA加密工具。

1.获取RT2780驱动

我们采用的USB-Wifi模块使用的是RT2780芯片,相关的驱动源码在\Cortex-A9\移植部分\Wifi目录下的USB-Wifi_driver。或者从官方自行下载,进入网址http://www.mediatek.com/en/downloads/下载所需的驱动

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

将USB-Wifi_driver拷贝到工作目录中。

解压驱动源码包

tar -jxvf USB-Wifi_driver.bz2

解压完后可以看到目录DPO_MT7601U_LinuxSTA_3.0.0.4_20130913

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

2. 移植RT2780驱动

2.1 修改Makefile

2.1.1修改DPO_MT7601U_LinuxSTA_3.0.0.4_20130913目录下的Makefile

viMakefile

修改49行中的

#PLATFORM = SMDK

PLATFORM = SMDK

改前如下图所示

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

改后如下图所示:

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

2.1.2在275行,修改linux源码目录和交叉工具链

275 ifeq ($(PLATFORM),SMDK)

276 LINUX_SRC = /home/bhushan/itcenter/may28/linux-2.6-samsung

277 CROSS_COMPILE = /usr/local/arm/4.2.2-eabi/usr/bin/arm-linux-

278 endif

改为

275 ifeq ($(PLATFORM),SMDK)

276LINUX_SRC = /home/linux/work/4412/linux-3.0-fs4412_V3

277 CROSS_COMPILE = arm-cortex_a8-linux-gnueabi-

278 endif

修改前如图:

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

修改后如图:

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

2.1.3修改include/rtmp_def.h文件中第1604行

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

将上图中1604行和1605行中的ra改成wlan

改完如下图所示:

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

2.1.4查看os/linux/config.mk文件

确保config.mk文件中WPA_SUPPLICANT配置如下图所示。

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

3编译源码

在DPO_MT7601U_LinuxSTA_3.0.0.4_20130913目录下执行以下命令编译源码

make clean

make -j2

编译成功后如下图所示

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

其中生成的mt7601Usta.ko文件即是我们所需要的驱动程序

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

将/home/linux/work/4412/DPO_MT7601U_LinuxSTA_3.0.0.4_20130913/os/linux/mt7601Usta.ko拷贝我们的根文件系统中(开发板的根文件系统)。

4.拷贝所需的数据文件RT2870STA.dat

在开发板的根文件系统中创建目录/etc/Wireless/RT2870STA/(注意,此目录为开发板的根文件系统)

mkdiretc/Wireless/RT2870STA/ -p

将源码目录中的RT2870STA.dat(如下图所示)拷贝到刚才创建的etc/Wireless/RT2870STA/目录中

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

5.测试

请确保以上几步已经完成

5.1插上USB-Wifi模块

将USB-Wifi模块插到开发板的USB接口上,可以在端口上看到如下打印信息

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

5.2加载USB-Wifi模块

加载驱动程序mt7601Usta.ko

在开发板上执行以下命令

insmodmt7601Usta.ko

加载过程如下图所示

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

加载成后如下如所示

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

5.3配置wlan0网络

在开发板上执行以下命令

ifconfig wlan0 up

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》

通过ifconfig命令查看网络设备信息

如果前面步骤都成功,则应该出现类似下图所示的情况

《linux下wifi驱动移植,USB-Wifi驱动移植(FS_4412)》


推荐阅读
  • 掌握DSP必备的56个核心问题,我已经将其收藏以备不时之需! ... [详细]
  • 求助高手:下载的压缩包中包含CMake文件,如何在Windows环境下使用已安装的CMake GUI进行运行?
    从GitHub仓库 `https://github.com/vonmax007/RobotSimulation` 下载的代码包含多种算法,其中算法1的文件目录中包含了CMake文件。为了在Windows环境下使用已安装的CMake GUI运行这些文件,需要先确保CMake已正确安装,并按照以下步骤操作:打开CMake GUI,设置源代码路径和构建路径,点击“Configure”配置项目,然后点击“Generate”生成构建文件。最后,在生成的构建目录中使用命令行或IDE进行编译和运行。 ... [详细]
  • 对于以压缩包形式发布的软件,其目录中通常包含一个配置脚本 `configure`。该脚本的主要功能是确定编译所需的各项参数,如头文件的位置和链接库的路径,并生成相应的 `Makefile` 以供编译使用。通过运行此脚本,开发者可以确保软件在不同环境下的正确编译与安装。此外,该脚本还能够检测系统依赖项,进一步提高编译过程的可靠性和兼容性。 ... [详细]
  • NanoPi2 使用体验深入解析(续篇)
    随着Raspberry Pi的问世,开源硬件领域迎来了前所未有的发展,激发了全球范围内的创新热潮。在中国,这一趋势同样催生了一系列类似的开发板,例如NanoPi 2。本文作为前篇的延续,将深入探讨NanoPi 2的实际使用体验,从性能、兼容性到应用场景,进行全面分析。 ... [详细]
  • TQ210UBOOT移植笔记添加自己的单板【学习笔记】
    在uboot的源码的根目录下的readme中有介绍如何在uboot中添加自己的单板:一、在boards.cfg中添加自己的单板的信息,可以模仿smdkc ... [详细]
  • 本文详细介绍了如何在Linux系统中搭建51单片机的开发与编程环境,重点讲解了使用Makefile进行项目管理的方法。首先,文章指导读者安装SDCC(Small Device C Compiler),这是一个专为小型设备设计的C语言编译器,适合用于51单片机的开发。随后,通过具体的实例演示了如何配置Makefile文件,以实现代码的自动化编译与链接过程,从而提高开发效率。此外,还提供了常见问题的解决方案及优化建议,帮助开发者快速上手并解决实际开发中可能遇到的技术难题。 ... [详细]
  • 本文介绍了C语言中指针的基础知识及其初步应用。首先,文章详细解释了如何定义变量和指针,例如通过 `int i, j, k;` 定义整型变量,以及使用 `int *pi, *pj, *pk;` 来声明指向整型数据的指针。接着,探讨了变量和指针的初始化方法,强调了正确的初始化对于避免程序错误的重要性。此外,还简要介绍了指针在数组、函数参数传递等场景中的基本应用,为初学者提供了全面的入门指导。 ... [详细]
  • 在操作系统中,阻塞状态与挂起状态有着显著的区别。阻塞状态通常是指进程因等待某一事件(如I/O操作完成)而暂时停止执行,而挂起状态则是指进程被系统暂时移出内存,以释放资源或降低系统负载。此外,本文还深入分析了`sleep()`函数的实现机制,探讨了其在不同操作系统中的具体实现方式及其对进程调度的影响。通过这些分析,读者可以更好地理解操作系统如何管理进程的不同状态以及`sleep()`函数在其中的作用。 ... [详细]
  • 本文探讨了将PEBuilder转换为DIBooter.sh的方法,重点介绍了如何将DI工具集成到启动层,实现离线镜像引导安装。通过使用DD命令替代传统的grub-install工具,实现了GRUB的离线安装。此外,还详细解析了bootice工具的工作原理及其在该过程中的应用,确保系统在无网络环境下也能顺利引导和安装。 ... [详细]
  • PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化
    PJSIP 编译与开发指南:深入解析 PJSIP 库的应用与优化 ... [详细]
  • Android开发常见问题汇总(含Gradle解决方案)第二篇
    本文继续深入探讨Android开发中常见的问题及其解决方案,特别聚焦于Gradle相关的挑战。通过详细分析和实例演示,帮助开发者高效解决构建过程中的各种难题,提升开发效率和项目稳定性。 ... [详细]
  • 本文简要介绍了 MacOS 系统的分区与引导机制。通过详细解析系统分区结构和引导加载过程,帮助用户更好地理解 MacOS 的启动流程。文章还涵盖了不同版本 MacOS 的分区特点,以及如何在遇到引导问题时进行故障排除。对于希望深入了解 MacOS 内部运作机制的用户来说,本文提供了丰富的技术细节和实用建议。 ... [详细]
  • 算术表达式分析与解析技术初探
    本文初步探讨了算术表达式的分析与解析技术,针对作者在职业转型过程中发现自身算法基础薄弱的问题,决定在接下来的三个月内,系统地学习和掌握常用数据结构与算法,以提升个人技术能力。研究内容不仅涵盖了基本的算术表达式解析方法,还深入讨论了其在实际应用中的优化策略,为相关领域的进一步研究奠定了基础。 ... [详细]
  • 在 CentOS 7 上部署和配置 RabbitMQ 消息队列系统时,首先需要安装 Erlang,因为 RabbitMQ 是基于 Erlang 语言开发的。具体步骤包括:安装必要的依赖项,下载 Erlang 源码包(可能需要一些时间,请耐心等待),解压源码包,解决可能出现的错误,验证安装是否成功,并将 Erlang 添加到环境变量中。接下来,下载 RabbitMQ 的 tar.xz 压缩包,并进行解压和安装。确保每一步都按顺序执行,以保证系统的稳定性和可靠性。 ... [详细]
  • 如何在Linux环境中高效地创建、编译与运行C语言代码
    本文面向第一次在linux尝试写C语言程序的新人。有经验的请绕行。C语言用法不是本文介绍的关键,本文只是引入如何第一次在linux系统下编写、编译和执行一个简单的c程序。学会后请自行深入 ... [详细]
author-avatar
爱在运动-666_517
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有