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

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

一、修改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 1500inet 192.168.1.146  netmask 255.255.255.0  broadcast 192.168.1.255inet6 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 0TX packets 32  bytes 5188 (5.1 KB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0wlan1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500ether 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 0TX 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# ifconfigwlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 10.42.0.1  netmask 255.255.255.0  broadcast 10.42.0.255inet6 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 0TX 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# ifconfigwlan0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.1.146  netmask 255.255.255.0  broadcast 192.168.1.255inet6 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 0TX packets 155  bytes 29347 (29.3 KB)TX errors 0  dropped 4 overruns 0  carrier 0  collisions 0
http://www.xdnf.cn/news/90.html

相关文章:

  • 科技如何改变世界?
  • 微博辐射源和干扰机
  • Hadoop的三大结构及其作用
  • leetcode 309. Best Time to Buy and Sell Stock with Cooldown
  • 热门与冷门并存,25西电—电子工程学院(考研录取情况)
  • 如何在米尔-STM32MP257开发板上部署环境监测系统
  • Windows 图形显示驱动开发-WDDM 1.2功能—Windows 8 中的 DirectX 功能改进(五)
  • 什么是单元测试的“覆盖率”
  • 计算机视觉——基于使用 OpenCV 与 Python 实现相机标定畸变校正
  • 安全测试报告模板
  • PyTorch 浮点数精度全景:从 float16/bfloat16 到 float64 及混合精度实战
  • pnpm解决幽灵依赖问题
  • [Unity]-[UI]-[Prefab] 关于UGUI UI Prefab的制作技巧
  • C++: 类和对象(中)
  • 避免IP地址关联,多个手机设备的完美公网IP问题
  • Django ORM 定义模型
  • 【html】a标签target属性以及扩展应用
  • 2025TGCTF Web WP复现
  • 2025年03月中国电子学会青少年软件编程(Python)等级考试试卷(六级)答案 + 解析
  • 多线程编程的简单案例——单例模式[多线程编程篇(3)]
  • 前端零基础入门到上班:Day7——表单系统实战全解析
  • 文献总结:NIPS2023——车路协同自动驾驶感知中的时间对齐(FFNet)
  • node.js 基础
  • 9.Rust+Axum 测试驱动开发与性能优化全攻略
  • 韩媒专访CertiK创始人顾荣辉:黑客攻击激增300%,安全优先的破局之路
  • 在Vmware15(虚拟机免费) 中安装纯净win10详细过程
  • Google Gemini 系列AI模型 的详细解析,涵盖其技术特点、版本差异、应用场景及优势
  • 网络417 路由转发2 防火墙
  • 2025第十七届“华中杯”大学生数学建模挑战赛题目B 题 校园共享单车的调度与维护问题完整成品正文33页(不含附录)文章思路 模型 代码 结果分享
  • 部署若依前后端分离