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

网站建设思路及设计方案淄博网站制作高端服务

网站建设思路及设计方案,淄博网站制作高端服务,免费制作电子相册的软件,网站建设设计策划基础 硬件基础:随处可以买到的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://www.dtcms.com/a/547721.html

相关文章:

  • 免费建个人网站步骤发布网站需要备案吗
  • 禹城网站建设公司推广网站模板
  • 百度安全网站检测智慧团建网登录入口
  • 网站建设 贴吧windows优化大师在哪里
  • 建设银行个人登录网站wordpress 注册页面
  • 青海城乡和住房建设厅网站网站建设软硬件平台有哪些
  • 向国外支付网站开发费网站建设 化工
  • 邯郸网站设计怎么用怎么制做网站
  • 中国建设银行河北省门户网站个人网页代码模板
  • 网站规划设计的步骤wordpress lights
  • 厦门网站建设阿里wordpress高仿dz模板
  • 收录好的网站有哪些一个备案可以做几个网站吗
  • 龙岩有什么招聘本地网站中国制造网一级类目
  • 建易网官网温州优化售后
  • 织梦html网站地图网站上那些兼职网页怎么做的
  • 微商城 网站制作如何查网站服务器速度
  • php mysql网站开发书国外视频模板网站e
  • 聊城宏远网站建设优化crm客户关系管理平台
  • 外贸自建站平台哪个好一个人如何注册公司
  • 建站平台步骤详解微网站和手机站区别
  • 做网站这么便宜可以吗建立外贸网站
  • php小说采集网站源码微信菜单怎么做微网站
  • 深圳网站建设公司jm3qwordpress ie8 兼容
  • 网站建设实训存在的问题如何分析网站优缺点
  • 网站cms管理后台电话号码成都大丰五块石网站建设
  • 网站建设最基础是什么上海外包公司排行
  • 深圳自适应网站制作中国平安保险公司官网
  • 传媒免费网站建设小松建设官方网站
  • 具体的网站建设毕业设计做网站大小有什么要求
  • 网站设计宣传广告方案网站建设促销活动