当前位置: 首页 > wzjs >正文

上海企业建站公司排名品牌运营中心

上海企业建站公司排名,品牌运营中心,wordpress页面关键词和描述,wordpress ico更改基础内容概要 将tplink wn725n 无线网卡驱动移植到ubuntu将tplink wn725n 无线网卡驱动移植到Linux开发板(交叉编译)将tplink wn725n 无线网卡驱动移植到Linux开发板,在开发板中编译 为什么还要包涵交叉编译? 目标设备是ARM架构…

基础内容概要

  1. 将tplink wn725n 无线网卡驱动移植到ubuntu
  2. 将tplink wn725n 无线网卡驱动移植到Linux开发板(交叉编译)
  3. 将tplink wn725n 无线网卡驱动移植到Linux开发板,在开发板中编译

为什么还要包涵交叉编译?

  • 目标设备是ARM架构的,而开发者的开发机通常是x86的
  • 资源限制也是一个因素,嵌入式设备通常资源有限,处理能力、内存和存储空间都不如开发机,因此需要在更强大的开发机上进行交叉编译,节省时间和资源

为什么还要分为两个任务进行移植?

  • 对比原cpu架构与跨cpu架构移植等区别

我为什么选择了rtl8188eu,没有选择cu?

在这里插入图片描述

基础概念明确(重要)

  • 常见的硬件架构,比如x86、ARM、MIPS、RISC-V等
  • 交叉编译的核心是在一种平台上生成另一种平台的可执行代码
    差异可能来自两方面:
    跨架构:开发机与目标机的CPU架构不同(如x86 → ARM)。
    跨操作系统:开发机与目标机的操作系统不同(如Linux → Windows)。
  • 交叉编译的典型场景
    仅跨架构
    示例:在x86 Linux电脑上编译ARM Linux程序
    工具链:arm-linux-gnueabi-gcc(针对ARM架构的Linux编译器)
    关键点:架构不同,但操作系统相同(均为Linux),需处理指令集和ABI差异
    仅跨操作系统
    示例:在Linux上编译Windows程序
    工具链:x86_64-w64-mingw32-gcc
    关键点:架构相同(均为x86),但操作系统不同,需适配系统调用和库
    跨架构且跨操作系统
    示例:在x86 macOS上编译ARM Android程序
    工具链:Android NDK中的aarch64-linux-android-gcc
    关键点:需同时处理ARM指令集和Android系统库

详细点说,我们现在的交叉编译移植的是跨架构的驱动移植

正文

将驱动移植到Ubuntu

  1. 需要确认RTL8188EU是否已经ubuntu内核支持。如果默认支持,用户可能需要禁用现有的驱动或者更换其他未被支持的硬件。
    要移植,当然是不支持
  2. 使用已适配新内核的驱动分支
    驱动代码拉取:
    git clone https://github.com/aircrack-ng/rtl8188eus
    在这里插入图片描述
    在这里插入图片描述
    切换分支
    在这里插入图片描述
  3. 驱动编译
    在这里插入图片描述
    编译后的文件:
    在这里插入图片描述
  4. cfg80211驱动加载:
    在这里插入图片描述
  5. 无线驱动拷贝
    sudo cp 8188eu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/
    解决依赖:
    sudo depmod -a
    驱动加载
    sudo modprobe 8188eu
  6. 查看驱动:
    在这里插入图片描述
  7. 驱动日志(dmesg -w):
    在这里插入图片描述
    成功加载

将驱动移植到树莓派(交叉编译+移植适配)

  1. 安装交叉编译工具链:
    sudo apt update
    sudo apt install gcc-arm-linux-gnueabihf git bc make
  2. 获取树莓派内核源码下载与开发板当前内核匹配的源码(确保版本一致):
    查看树莓派内核版本
    我下载的版本:git clone --depth=1 --branch rpi-6.6.y https://github.com/raspberrypi/linux
  3. 配置交叉编译环境(相当需要注意
    export ARCH=arm
    export CROSS_COMPILE=arm-linux-gnueabihf-
    export KSRC=~/Desktop/shumeipai_1/linux # 替换为内核源码路径
  4. 查看环境变量
    在这里插入图片描述
  5. 内核源码编译
    make -j4
    在这里插入图片描述
    生成内核默认配置:
    在这里插入图片描述
    继续编译
    在这里插入图片描述
    发现使用的默认内核问题比较多,然后使用了专门用于树莓派的默认配置文件
    生成内核默认配置:make ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- bcm2835_defconfig
    在这里插入图片描述
    再编译:make -j4
    在这里插入图片描述
    内核源码编译成功
  6. 驱动编译
    在这里插入图片描述
    接上图
    在这里插入图片描述
    原因分析
    这个错误是由于RTL8188EU 无线网卡驱动与当前内核版本不兼容导致的
    解决思路
    struct net_device 和 struct iw_handler_def 在内核的新版本中已经发生了变化,移除了 wireless_handlers、private、private_args 字段,导致驱动编译失败。
    解决方案
    直接注释掉这些函数调用(这是所有的报错修改,错误还是比较少的)
    在这里插入图片描述
    在这里插入图片描述
    全部修改
    在这里插入图片描述
    继续编译:
    在这里插入图片描述
    原因分析
    这个错误表明 modpost 阶段发现 iwe_stream_add_event、wireless_send_event 和 iwe_stream_add_point 等符号未定义,说明 RTL8188EU 驱动依赖的无线网络接口(Wireless Extensions)在内核中不存在
    解决思路
    在 menuconfig 中 启用 Wireless Extensions
    解决步骤
    但是我并没有在menuconfig中找到Wireless Extensions,但是在搜索中找到了
    在这里插入图片描述
    我发现,CONFIG_WIRELESS_EXT 未被任何驱动选中(所有 Selected by 项都是 [=n]),导致它默认关闭且无法在 menuconfig 中直接启用
    所以我们可以随便开启一个驱动,我开启了hostap,以启用Wireless Extensions:
    在这里插入图片描述
    再次查看menuconfig
    在这里插入图片描述
    退出保存,再次编译内核源码:make -j4
    在这里插入图片描述
    接上图
    在这里插入图片描述编译成功
  7. 再次编译驱动:make -j4
    在这里插入图片描述
    接上图
    在这里插入图片描述
    编译成功,驱动已生成(8188eu.ko)

我还适配了另外一套的驱动源码(交叉编译),篇幅太多,如果需要,可以留言或者私聊提供

驱动链接:
git clone https://github.com/aircrack-ng/rtl8188eus
在这里插入图片描述
里面包含了按照内核源码api接口修改驱动代码

将tplink wn725n 无线网卡驱动移植到Linux开发板,在开发板中编译

  1. 使用前面已经交叉编译的代码,拷贝到开发板(代码基本上不会再适配了)

  2. 编译(make -j4)
    在这里插入图片描述
    成功编译

  3. 拷贝8188.ko驱动到
    sudo cp 8188eu.ko /lib/modules/$(uname -r)/kernel/drivers/net/wireless/

  4. 驱动加载与查看驱动加载情况
    在这里插入图片描述
    驱动成功加载

  5. 内核日志打印
    在这里插入图片描述

驱动功能验证

暂无硬件设备,后期分享,谢谢您的耐心阅读

http://www.dtcms.com/wzjs/104446.html

相关文章:

  • 幼儿园校园网站建设情况零基础能做网络推广吗
  • 电子商务网站建设与维护李建忠百度应用
  • 公司网站后台是什么学市场营销后悔死了
  • 网站建设 新闻怎么优化
  • 做网站怎么认证微博小红书seo
  • 建设银行网站转账百度推广登录网站
  • 阿里巴巴批发网站叫什么百度人工优化
  • 徐州网站定制网站优化排名方法有哪些
  • 论坛类网站开发报价seo入门培训班
  • 网站欢迎页怎么做bing搜索 国内版
  • 系统之家网站怎么做的网络营销方法有哪些?
  • 商旅网站建设google关键词工具
  • 做网站设计难吗2024新闻热点摘抄
  • 平邑哪里有做网站的网页模板
  • 深圳龙岗疫情最新消息今天优化设计六年级上册数学答案
  • 四川成都现在可以去吗西安seo技术
  • 活动4 第1步 【学习】建设主题资源网站的一些建议测试谷歌搜索引擎为什么国内用不了
  • 怎样做网站呢seo百度快速排名
  • 建设银行公户网站扬州百度seo
  • 网站策划与建设阶段的推广方法江西seo推广软件
  • 商城网站建设需要什么团队软文广告营销
  • 网站底部固定代码广告投放渠道
  • 网站的推广方式有哪些青岛seo网站管理
  • 电话约建设网站 客户西安网站开发
  • 移民网站制作数据网站
  • 网站域名注册人与icp备案运营人必须统一手游推广加盟
  • 响应式网站滑动西安seo推广
  • 洛阳工程建设信息网站设计公司取名字大全集
  • 动画素材网站资源优化网站排名
  • 哪个网站反盗版做的最好想开广告公司怎么起步