【ubuntu】在Linux Yocto的基础上去适配Ubuntu的wifi模块

news2025/7/18 23:19:02

一、修改wifi的节点名

1.找到wifi模块的PID和VID

ifconfig查看wifi模块网络节点的名字,发现是wlx44876393bb3a(wlx+mac地址)
通过udevadm info -a + /sys/class/net/wlx44876393bba路径的命令去查看wlx44876393bba的总线号,端口号和vid和pid对应的driver设备。

udevadm info -a /sys/class/net/wlx44876393bba
udevadm info -a /sys/class/net/wlan0
udevadm info -a /sys/class/net/wlan0 | grep -i "idVendor\|idProduct\|driver"

在这里插入图片描述

2.创建udev规则文件去修改wifi模块节点的名字

找到之前修改4G/5G的名字创建的udev规则文件,在这基础上去修改
因为这个物理接口除了4G/5G模块显示usb0
还有wifi模块也要接在这里,那wifi模块我们不显示usb0,需要显示为wlan0
所以我们在以前的基础上新添一些条件,增加了pid和vid去分辨4g/5g模块和wifi模块

sudo vi /etc/udev/rules.d/10-4g-rename.rules

在这里插入图片描述

3.生效规则

sudo udevadm control --reload
sudo udevadm trigger

4.其它的替代方案

新建高优先级规则(文件名需排在前面)​
比如之前的4G/5G的模块名字修改的规则文件名是10-4g-rename.rules,是10开头的
那我就在建一个9开头的09-wifi-rename.rules。
9开头的文件:09-wifi-rename.rules优先级比10开头的文件高:10-4g-rename.rules
09-wifi-rename.rules生成的规则会覆盖10-4g-rename.rules 的规则。

sudo vi /etc/udev/rules.d/09-wifi-rename.rules

二、NetworkManager配置wifi模块的客户端模式并自动获取ip,配置wifi模块的AP模式。

1. 配置wifi模块的客户端模式并自动获取ip

参考下面的wifi模块的AP模式配置,
可以使用2.1的方法通过命令去添加配置。
也可以使用2.2的方法通过nmtui图形化去配置。

2. 配置wifi模块的AP模式。

2.1 使用NetworkManager的命令添加AP连接的配置 (也可以通过 nmtui 图形化配置 AP​去配置,效果是一样的,如2.2所示)
sudo nmcli con add type wifi ifname wlan0 \
  con-name MyAP \
  autoconnect no \
  ssid MyWiFiAP \
  mode ap \
  ipv4.method shared \
  wifi-sec.key-mgmt wpa-psk \
  wifi-sec.psk "12345678"
```bash
#创建成功的提示
Connection 'MyAP' (df6dce52-6834-4ce7-9885-e0ba943d36ac) successfully added.
2.2 使用NetworkManager的 nmtui 图形化配置 AP​
2.21 使用nmtui打开图形化界面
sudo nmtui

在这里插入图片描述

2.22 操作流程:

① 选择 ​​Edit a connection​​ → ​​Add​​
② 选择 ​​Wi-Fi​​ 类型
③ 配置参数:

  • Profile name: MyAP
  • Device: wlan0
  • SSID: MyWiFiAP
  • Mode: ​​Access Point​​
  • Security: ​​WPA & WPA2 Personal​​
  • Password: 12345678
  • IPv4 CONFIGURATION:Shared
  • Automatically connect :不选中,取消掉自动连接
    在这里插入图片描述

三、客户端模式与AP模式之间的切换指令

sudo nmcli con down "wlan0"       # 关闭客户端连接
sudo nmcli con up "MyAP"          # 启动 AP

如图所示:
在这里插入图片描述

四、完整的流程演示

# 1、加载8188-wifi模块驱动
root@IMX8-Tronlong:/usr/demo/wifi# insmod 8188eu.ko



# 2、假设已经配置好了wifi模块的客户端模式,加载完驱动会显示wlan0和wlan1,并使用客户端模式自动获取到ip。
root@IMX8-Tronlong:/usr/demo/wifi# ifconfig
wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.146  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 240e:3b2:3231:880:e1af:95f0:c304:2e05  prefixlen 64  scopeid 0x0<global>
        inet6 240e:3b2:3231:880:8881:b94f:12c2:7a  prefixlen 128  scopeid 0x0<global>
        inet6 fe80::e2a3:1b26:c671:c609  prefixlen 64  scopeid 0x20<link>
        inet6 240e:3b2:3231:880:b15:3183:4c6b:e95e  prefixlen 64  scopeid 0x0<global>
        ether 78:22:88:c9:c7:03  txqueuelen 1000  (Ethernet)
        RX packets 21051  bytes 3182648 (3.1 MB)
        RX errors 0  dropped 11238  overruns 0  frame 0
        TX packets 32  bytes 5188 (5.1 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

wlan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        ether 7a:22:88:c9:c7:03  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0




# ③ 使用NM(NetworkManager)的命令去创建AP模式的配置
root@IMX8-Tronlong:~# sudo nmcli con add type wifi ifname wlan0 \
>   con-name MyAP \
>   autoconnect no \
>   ssid MyWiFiAP \
>   mode ap \
>   ipv4.method shared \
>   wifi-sec.key-mgmt wpa-psk \
>   wifi-sec.psk "12345678"

Connection 'MyAP' (c11659ac-8adc-4ae1-afac-94c4c347b796) successfully added.




# ④ 由客户端模式切换到AP模式
root@IMX8-Tronlong:/usr/demo/wifi# sudo nmcli con down "wlan0"       # 关闭客户端连接
Connection 'wlan0' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/2)
root@IMX8-Tronlong:/usr/demo/wifi#
root@IMX8-Tronlong:/usr/demo/wifi# sudo nmcli con up "MyAP"          # 启动 AP
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
root@IMX8-Tronlong:/usr/demo/wifi#
root@IMX8-Tronlong:/usr/demo/wifi# ifconfig

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.42.0.1  netmask 255.255.255.0  broadcast 10.42.0.255
        inet6 fe80::a41:f9a0:aa8c:a652  prefixlen 64  scopeid 0x20<link>
        ether 78:22:88:c9:c7:03  txqueuelen 1000  (Ethernet)
        RX packets 80762  bytes 13353640 (13.3 MB)
        RX errors 0  dropped 60241  overruns 0  frame 0
        TX packets 38  bytes 6040 (6.0 KB)
        TX errors 0  dropped 1 overruns 0  carrier 0  collisions 0




# 4.由AP模式切换到客户端模式
root@IMX8-Tronlong:/usr/demo/wifi# sudo nmcli con down "MyAP"       # 关闭 AP
Connection 'MyAP' successfully deactivated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/3)
root@IMX8-Tronlong:/usr/demo/wifi#
root@IMX8-Tronlong:/usr/demo/wifi# sudo nmcli con up "wlan0"          # 启动客户端连接
Connection successfully activated (D-Bus active path: /org/freedesktop/NetworkManager/ActiveConnection/4)
root@IMX8-Tronlong:/usr/demo/wifi#
root@IMX8-Tronlong:/usr/demo/wifi# ifconfig

wlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.146  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 240e:3b2:3231:880:e1af:95f0:c304:2e05  prefixlen 64  scopeid 0x0<global>
        inet6 240e:3b2:3231:880:8881:b94f:12c2:7a  prefixlen 128  scopeid 0x0<global>
        inet6 fe80::e2a3:1b26:c671:c609  prefixlen 64  scopeid 0x20<link>
        inet6 240e:3b2:3231:880:b15:3183:4c6b:e95e  prefixlen 64  scopeid 0x0<global>
        ether 78:22:88:c9:c7:03  txqueuelen 1000  (Ethernet)
        RX packets 82285  bytes 13581424 (13.5 MB)
        RX errors 0  dropped 60310  overruns 0  frame 0
        TX packets 155  bytes 29347 (29.3 KB)
        TX errors 0  dropped 4 overruns 0  carrier 0  collisions 0


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2338394.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

25软考新版系统分析师怎么备考?重点考哪些?(附新版备考资源)

软考系统分析师&#xff08;高级资格&#xff09;考试涉及知识面广、难度较大&#xff0c;需要系统化的复习策略。以下是结合考试大纲和历年真题整理的复习重点及方法&#xff1a; 一、明确考试结构与分值分布 1.综合知识&#xff08;选择题&#xff0c;75分&#xff09; 2…

PyTorch入门------卷积神经网络

前言 参考&#xff1a;神经网络 — PyTorch Tutorials 2.6.0cu124 文档 - PyTorch 深度学习库 一个典型的神经网络训练过程如下&#xff1a; 定义一个包含可学习参数&#xff08;或权重&#xff09;的神经网络 遍历输入数据集 将输入通过神经网络处理 计算损失&#xff08;即…

Edge浏览器安卓版流畅度与广告拦截功能评测【不卡还净】

安卓设备上使用浏览器的体验&#xff0c;很大程度取决于两个方面。一个是滑动和页面切换时的反应速度&#xff0c;另一个是广告干扰的多少。Edge浏览器的安卓版本在这两方面的表现比较稳定&#xff0c;适合日常使用和内容浏览。 先看流畅度。Edge在中端和高端机型上启动速度快&…

Docker 和 Docker Compose 使用指南

Docker 和 Docker Compose 使用指南 一、Docker 核心概念 镜像&#xff08;Image&#xff09; &#xff1a;应用的静态模板&#xff08;如 nginx:latest​&#xff09;。容器&#xff08;Container&#xff09; &#xff1a;镜像的运行实例。仓库&#xff08;Registry&#xf…

vue3环境搭建、nodejs22.x安装、yarn 1全局安装、npm切换yarn 1、yarn 1 切换npm

vue3环境搭建 node.js 安装 验证nodejs是否安装成功 # 检测node.js 是否安装成功----cmd命令提示符中执行 node -v npm -v 设置全局安装包保存路径、全局装包缓存路径 在node.js 安装路径下 创建 node_global 和 node_cache # 设置npm全局安装包保存路径&#xff08;新版本…

Python人工智能 使用可视图方法转换时间序列为复杂网络

基于可视图方法的时间序列复杂网络转换实践 引言 在人工智能与数据科学领域&#xff0c;时间序列分析是一项基础且重要的技术。本文将介绍一种创新的时间序列分析方法——可视图方法&#xff0c;该方法能将时间序列转换为复杂网络&#xff0c;从而利用复杂网络理论进行更深入…

spring:加载配置类

在前面的学习中&#xff0c;通过读取xml文件将类加载&#xff0c;或他通过xml扫描包&#xff0c;将包中的类加载。无论如何都需要通过读取xml才能够进行后续操作。 在此创建配置类。通过对配置类的读取替代xml的功能。 配置类就是Java类&#xff0c;有以下内容需要执行&#…

从零搭建一套前端开发环境

一、基础环境搭建 1.NVM(Node Version Manager)安装 简介 nvm&#xff08;Node Version Manager&#xff09; 是一个用于管理多个 Node.js 版本的工具&#xff0c;允许开发者在同一台机器上轻松安装、切换和使用不同版本的 Node.js。它特别适合需要同时维护多个项目&#xff…

金融数据库转型实战读后感

荣幸收到老友太保科技有限公司数智研究院首席专家林春的签名赠书。 这是国内第一本关于OceanBase数据库实际替换过程总结的的实战书。打个比方可以说是从战场上下来分享战斗经验。读后感受颇深。我在这里讲讲我的感受。 第三章中提到的应用改造如何降本。应用改造是国产化替换…

代码审计系列2:小众cms oldcms

目录 sql注入 1. admin/admin.php Login_check 2. admin/application/label/index.php 3. admin/application/hr/index.php 4. admin/application/feedback/index.php 5. admin/application/article/index.php​ sql注入 1. admin/admin.php Login_check 先看一下p…

Cursor + MCP,实现自然语言操作 GitLab 仓库

本分分享如何使用 cursor mcp 来操作极狐GitLab 仓库&#xff0c;体验用自然语言在不接触极狐GitLab 的情况下来完成一些仓库操作。 极狐GitLab 是 GitLab 在中国的发行版&#xff0c;关于中文参考文档和资料有&#xff1a; 极狐GitLab 中文文档极狐GitLab 中文论坛极狐GitL…

Vue el-from的el-form-item v-for循环表单如何校验rules(一)

实际业务需求场景&#xff1a; 新增或编辑页面&#xff08;基础信息表单&#xff0c;一个数据列表的表单&#xff09;&#xff0c;数据列表里面的表单数是动态添加的。数据可新增、可删除&#xff0c;在表单保存前&#xff0c;常常需要做表单必填项的校验&#xff0c;校验通过以…

【Reading Notes】(8.3)Favorite Articles from 2025 March

【March】 雷军一度登顶中国首富&#xff0c;太厉害了&#xff08;2025年03月02日&#xff09; 早盘&#xff0c;小米港股一路高歌猛进&#xff0c;暴涨4%&#xff0c;股价直接飙到52港元的历史新高。这一波猛如虎的操作&#xff0c;直接把雷军的身家拉到了2980亿元&#xff0c…

从PDF到播客:MIT开发的超越NotebookLM的工具

NotebookLM是谷歌推出的更具创意的AI产品之一,几个月前刚刚推出。 许多人对它的能力感到惊叹——尤其是将长文本转化为两位播客主持人之间有趣对话的功能。 NotebookLM提供的不仅仅是这些,还包括聊天(问答)甚至生成思维导图。 如果你还没有尝试过NotebookLM,我强烈建议…

Kotlin协程Semaphore withPermit约束并发任务数量

Kotlin协程Semaphore withPermit约束并发任务数量 import kotlinx.coroutines.* import kotlinx.coroutines.sync.Semaphore import kotlinx.coroutines.sync.withPermit import kotlinx.coroutines.launch import kotlinx.coroutines.runBlockingfun main() {val permits 1 /…

Redis的下载安装和使用(超详细)

目录 一、所需的安装包资源小编放下述网盘了&#xff0c;提取码&#xff1a;wshf 二、双击打开文件redis.desktop.manager.exe 三、点击next后&#xff0c;再点击i agree 四、点击箭头指向&#xff0c;选择安装路径&#xff0c;然后点击Install进行安装 五、安装完后依次点…

无线网络入侵检测系统实战 | 基于React+Python的可视化安全平台开发详解

随着无线网络的普及&#xff0c;网络攻击风险也日益严峻。本项目旨在构建一个实时监测、智能识别、高效防护的无线网络安全平台&#xff0c;通过结合前后端技术与安全算法&#xff0c;实现对常见攻击行为的有效监控和防御。 一、项目简介与功能目的 本系统是一款基于 React 前…

[经验总结]Linux双机双网卡Keepalived高可用配置及验证细节

1. 前言 这种配置需求比较少见&#xff0c;在网上也很少有相关文章&#xff0c;于是记录在此&#xff0c;供有需要的朋友参考。 本篇重点介绍配置的关键点&#xff0c;基础部分简单提及&#xff0c;不赘述。 2. 需求描述 如上图&#xff0c;即给两个主机配置两对高可用主从配…

2025.04.17【Dendrogram】生信数据可视化:Dendrogram图表详解

Dendrogram customization Go further with ggraph: edge style, general layout, node features, adding labels, and more. Customized circular dendrogram Learn how to build a circular dendrogram with proper labels. 文章目录 Dendrogram customizationCustomized c…

Linux下的网络管理

一、ipv4原理 网络接口是指网络中的计算机或网络设备与其他设备实现通讯的进出口&#xff0c;一般是指计算机的网络接口即网卡设备 从RHEL7开始引入了一种新的“一致网络设备命名”的方式为网络接口命名&#xff0c;该方式可以根据固件、设备拓扑、设备类型和位置信息分配固…