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

ath9k(Atheros芯片)开源驱动之wifi连接

为什么会推荐这个wifi 驱动进行学习?

ath9k(Atheros芯片):代码结构清晰,适合学习实践

为什么我只在开篇写了一个wifi连接的操作?

先让一个开源驱动在你的硬件上跑起来,再逐步修改,这就是学习的基本思路。我希望能用这款驱动,开启我们自己的篇章

使用的硬件

  • TP-Link TL-WN722N v1 无线网卡(基于 Atheros AR9271 芯片)
  • 注意:一定是v1版本网卡(无需额外安装驱动)

wifi连接(wpa_supplicant)

  1. 插入wifi网卡后(通过 lsusb 确认是 v1(Atheros AR9271)还是 v2/v3(Realtek
    RTL8188EUS))
    在这里插入图片描述

  2. 使用驱动加载命令加载驱动:sudo modprobe ath9k_htc
    在这里插入图片描述
    实时显示驱动日志:dmesg -w
    在这里插入图片描述
    注意Atheros AR9271 需要固件文件 htc_9271.fw
    使用如下命令完成固件更新:
    sudo wget -P /lib/firmware/ https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/htc_9271.fw 并重启虚拟机

  3. iw dev wlx0c826806f70a info (iw dev wlx0c826806f70a scan)
    在这里插入图片描述

  4. ifconfig 在这里插入图片描述

  5. 创建配置文件

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
country=CN  # 设置国家码(中国)
network={
ssid="00HR-2G"
psk="12345678"
key_mgmt=WPA-PSK
}

在这里插入图片描述

  1. 发起连接
    sudo wpa_supplicant -i wlx0c826806f70a -c /etc/wpa_supplicant/wpa_supplicant.conf -B
    获取IP地址 :sudo dhclient wlx0c826806f70a
    在这里插入图片描述
    ps -A|grep wpa_supplicant
    在这里插入图片描述
    驱动打印已连接
    在这里插入图片描述

网络连接问题解决(连通性检测)

现象:无网络
  1. 分析:
    先ping 网关:
    在这里插入图片描述
    网关没问题,通的,说明是网关问题,包可能没有转发出去
  2. 查看路由表:route -n
    在这里插入图片描述
    当前我虚拟机有网卡,所以有默认路由,但是 是没有网络的
  3. 这时候添加无线网卡(tp wn722n)网卡的默认路由:
    在这里插入图片描述
    网络已经通了
    在这里插入图片描述

说明就是路由问题

可能遇到的问题

  1. 接口无法启用问题,使用如下命令
    rfkill list # 查看无线设备状态
    rfkill unblock all # 解除软硬件阻塞
  2. 优先使用 modprobe
    在大多数情况下,modprobe 是更安全、更智能的选择,尤其适合需要处理依赖或持久化配置的场景。
    仅在必要时使用 insmod:适用于调试、临时加载特殊模块或绕过标准依赖管理的情况。

相关文章:

  • 基于SpringBoot的城乡商城协作系统【附源码】
  • elf_loader:一个使用Rust编写的ELF加载器
  • 【模型】GRU模型详解
  • 怎么在Github上readme文件里面怎么插入图片?
  • Oracle 连接报错:“ORA-12541:TNS:no listener ”,服务组件中找不到监听服务
  • CNewMenu::QueryContextMenu函数分析之新建菜单项的创建
  • z-score算法
  • expo应用,登录失败,页面自动刷新???----全局状态滥用导致的bug
  • sdut-C语言实验-二分查找
  • 学习笔记01——《深入理解Java虚拟机(第三版)》第二章
  • Android输入事件传递流程系统源码级解析
  • DeepSeek基础之机器学习
  • Spring AutoWired与Resource区别?
  • OpenHarmony构建系统-GN与子系统、部件、模块理论与实践
  • 新学一个JavaScript 的 classList API
  • 如何使用 JavaScript 模拟 Docker 中的 UnionFS 技术:从容器到文件系统的映射
  • 小波变换分解低频和高频
  • 从零开始学 Rust:基本概念——变量、数据类型、函数、控制流
  • RT-Thread+STM32L475VET6实现定时器定时功能
  • Transformer LLaMA
  • 欧洲理事会前主席米歇尔受聘中欧国际工商学院特聘教授,上海市市长龚正会见
  • 19个剧团15台演出,上海民营院团尝试文旅融合新探索
  • 公安部部署“昆仑2025”专项工作,严打环食药等领域突出犯罪
  • 援藏博士张兴堂已任西藏农牧学院党委书记、副校长
  • 第32届梅花奖终评启幕,上海京剧院《智取威虎山》满堂彩
  • 外交部:印巴都表示不希望局势升级,望双方都能保持冷静克制