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

网站开发中标签栏的图标一般都在那个文件中写代码马鞍山网站建设报价

网站开发中标签栏的图标一般都在那个文件中写代码,马鞍山网站建设报价,怎么做公司展示网站,专业网站建设公司哪个公司好基础内容概要 将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/823199.html

相关文章:

  • 昆明做网站建设找谁中卫网站推广网络营销
  • 做网站服务器 自己电脑还是租企业网站优化的重要性
  • 厦门网站建设 金猪腾讯企业邮箱入口网址
  • 易语言网站做软件缩短网址生成器
  • 广西临桂建设局网站泉州企业网站建设
  • 为切实加强 网站建设wordpress 增加背景
  • 杭州app开发公司定制外包seo快速排名软件平台
  • 宁波企业自助建站西樵乐从网站建设
  • 深圳网站如何制作重庆新闻联播回放今天
  • 网站做视频的软件wordpress ftp没有权限设置
  • 建设网站弹出后加载不进去网络策划书一般包括哪些内容
  • 免费网站在线收看微网站 pc端网站开发
  • wap网站还有能打开的吗直播代运营收费多少
  • 网站建设的描述哪种技术做网站容易论文答辩
  • 大岭山镇仿做网站wordpress 装修主题
  • 网站建设不包括以下哪个阶段东莞银行
  • 天津网站开发贴吧推广联盟平台
  • 如何看网站是否有做网站地图遵义网站建设网帮你
  • 九易建网站的建站流程宁波互联网企业排名
  • 电商网站改版方案自动化营销网站建设
  • 网站建设工作会议江苏省建设厅官方网站
  • 深圳有没有做网站的南通营销网站制作
  • 深圳网站建设公司模板商城网站建设方案
  • 有没有那个的网站关键词排名零芯互联排名
  • 做淘宝网店需要多少钱威海做网站优化
  • 网站注册页面怎么做数据验证做曖視頻网站
  • 我的网站怎么做南充市房产信息网
  • 长沙网站开发智做网站什么用
  • 高网站建设杭州网络科技设计中心
  • 数据库查询网站模板徐州领航装饰工程有限公司