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

模板网站制作时间上海本地网站建设

模板网站制作时间,上海本地网站建设,惠州做学校网站,职业培训学校加盟基础 硬件基础:随处可以买到的TP-WN722N V1网卡软件基础:linux-source-5.3.0 内核源码源码路径:drivers/net/wireless/ath/ath9k/常见wifi接口协议:包括PCIe、USB、SDIO等。 安装内核源码包 Ubuntu 提供了内核源码包&#xff0…

基础

  • 硬件基础:随处可以买到的TP-WN722N V1网卡
  • 软件基础:linux-source-5.3.0 内核源码
  • 源码路径:drivers/net/wireless/ath/ath9k/
  • 常见wifi接口协议:包括PCIe、USB、SDIO等。

安装内核源码包

Ubuntu 提供了内核源码包,可以通过以下命令安装,源码包会下载到 /usr/src/ 目录,解压后即可查看驱动源码

sudo apt update
sudo apt install linux-source

或者下载固定内核版本

https://kernel.ubuntu.com/mainline/

可以使用git clone来获取:
在这里插入图片描述
直接复制粘贴:

git clone git://git.launchpad.net/~ubuntu-kernel-test/ubuntu/+source/linux/+git/mainline-crack v5.4.5

注意

最好先查看自己的系统支持什么版本:

apt-cache search linux-source

在这里插入图片描述
然后直接安装:

sudo apt install linux-source-5.3.0

源码解压:

sudo tar -xvf linux-source-5.3.0.tar.bz2

编译

make -C /lib/modules/$(uname -r)/build M=$(pwd) modules

在这里插入图片描述

  • 原因: ath9k_ops 结构体中的函数指针类型与 ath9k_cancel_remain_on_channel 和
    ath9k_mgd_prepare_tx 函数的定义不匹配
  • 背景: 内核 API 在不同版本中可能发生变化,导致函数签名不兼容。你使用的内核头文件版本与源码版本不一致
  • 修改方案: ath9k_ops.cancel_remain_on_channel =
    ath9k_cancel_remain_on_channel; ath9k_ops.mgd_prepare_tx =
    ath9k_mgd_prepare_tx;
    修改为: ath9k_ops.cancel_remain_on_channel = (void
    *)ath9k_cancel_remain_on_channel; ath9k_ops.mgd_prepare_tx = (void *)ath9k_mgd_prepare_tx;

等的报错

编译报错,需要耐心纠错,直到编译成功
在这里插入图片描述
编译问题解决后,替换库里的驱动

替换驱动

  1. cd /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath9k/
    在这里插入图片描述

  2. sudo cp ath9k_htc.ko ath9k_htc.ko.bak (原始驱动备份)

  3. sudo cp drivers/net/wireless/ath/ath9k/ath9k_htc.ko
    /lib/modules/$(uname -r)/kernel/drivers/net/wireless/ath/ath9k/

卸载原有驱动

在这里插入图片描述
在这里插入图片描述

驱动加载

在这里插入图片描述
问题出现
内核为如下打印:
在这里插入图片描述

分析

  • 因为拉取代码和修改编译时一个庞大的工程,所以我并没有拉取对应linux内核版本的驱动源码
    所以我换了三个ubuntu和拉取了五套源码,最终换到了与内核相同版本的源码(这只是其中两份):
    在这里插入图片描述

  • 解决编译报错后,结果都是这个(因为我尝试了相同内核版本的源码):
    在这里插入图片描述

  • 所以定位到应该不是代码问题
    现在注意到这个:
    在这里插入图片描述
    并且在查看模块信息的时候,也相同类似:
    在这里插入图片描述
    所以在驱动硬件加载时,应该将其所依赖的模块一并卸载才可以接口代码匹配:
    在这里插入图片描述

  • 再次驱动加载:
    在这里插入图片描述

报错解决

ath9k_htc驱动可能依赖于ath9k_common和ath9k_hw提供的公共代码或硬件抽象层。如果这些依赖模块没有正确加载或版本不兼容,就会导致主驱动无法正常工作,甚至出现参数无效的错误

内核打印
在这里插入图片描述
一定程度说明驱动加载后的功能没问题,但是还是要做功能性验证

功能性验证

  • 网口已正常启动
    在这里插入图片描述
  • 连接wifi:
    在这里插入图片描述

成功连接并接入网络

编译验证

  • 源码修改
    在这里插入图片描述
  • 编译加载
    在这里插入图片描述
  • 内核日志:
    在这里插入图片描述

验证成功


文章转载自:

http://PI4AzRfs.snyqb.cn
http://US2Ubr7H.snyqb.cn
http://vmRyrfzR.snyqb.cn
http://aSrOaqph.snyqb.cn
http://K91pa3Lz.snyqb.cn
http://GwDGF33F.snyqb.cn
http://ls1w0k8g.snyqb.cn
http://btVU8OBQ.snyqb.cn
http://br4KDi5f.snyqb.cn
http://GYcPBzzW.snyqb.cn
http://CoXcPdL3.snyqb.cn
http://14j1zkEl.snyqb.cn
http://RKJercim.snyqb.cn
http://dqM7tY9c.snyqb.cn
http://M9JDpnTY.snyqb.cn
http://Zl9Lppw2.snyqb.cn
http://hf8UOEMz.snyqb.cn
http://eFSYs0Qh.snyqb.cn
http://TJrn46PV.snyqb.cn
http://XPbwiOvr.snyqb.cn
http://RGdkCpvi.snyqb.cn
http://Jbkc6t6F.snyqb.cn
http://Cxj6fhYr.snyqb.cn
http://73yuooEh.snyqb.cn
http://xzgO0hsl.snyqb.cn
http://Ukg5eYeX.snyqb.cn
http://JZyYqa7Z.snyqb.cn
http://gBrpwyCY.snyqb.cn
http://bx3Yfce4.snyqb.cn
http://R5mTovZV.snyqb.cn
http://www.dtcms.com/wzjs/650522.html

相关文章:

  • 二次网站开发平台手工品外贸出口网站建设方案
  • 青岛模板建站公司广告公司简介模板200字
  • 辽宁建设执业信息网站栾城网站制作
  • 福建 网站建设网站flash制作教程
  • 广州网站推广联盟海口h5建站模板
  • 做商城网站外包网站域名怎么免费获取
  • 小网站文案做seo网站不用域名
  • 怎么把网站源码上传到空间根目录视频高特效网站
  • 做推文加入视频的网站网站建设 要学多久
  • 1个空间做2个网站吗wordpress电子商务站
  • 做网站就精品课程网站建设设计方案
  • 青岛专业做网站优化网站开发程序员招聘
  • 工程在哪个网站做推广比较合适网站开发 请示
  • 智能网站设计哪家好网络推广和竞价推广有什么区别
  • 茶山东莞网站建设发帖效果好的网站
  • 中山网站建点山东莱芜金点子信息港
  • 淡水网站建设哪家便宜四合一网站
  • 做期货都看那些网站抖音代运营海报
  • 做网站需要注意的问题找网络公司做网站需要注意什么
  • 网站首页 psd深圳创业补贴政策2021申请流程
  • 无水印效果图网站施工企业科技创新规划
  • 用vs2010做网站登录百度网站收录
  • 公司自己买服务器建设网站廊坊视频优化效果
  • 网站设计与建设课后题答案空壳公司怎么注册
  • 青岛高端网站设计公司wordpress刷留言板
  • 怎么投诉网站制作公司wordpress rss格式
  • 爱站网长尾关键词挖掘工具电脑版网上卖产品怎么推广
  • 优化网站排名技巧长春网长春网络推广站排名
  • 关于网站开发中网站上传u钙网logo在线设计
  • 建设读书网站的意义什么网站可以做头像