ElfBoard技术贴|如何在ELF 2开发板中适配 AX200NGW WiFi模块
nanshan 2025-07-06 15:20 3 浏览 0 评论
为ELF 2开发板适配AX200NGW Wi-Fi 6模块,是开发者在嵌入式设备中实现高速无线联网的实际需求,更是解锁其全场景无线通信能力的关键升级。针对ARM架构需要手动适配的特性,本文将提供清晰的步骤,指导屏幕前的小伙伴完成这一适配过程。
方法一:重新制作镜像文件
该方法是在SDK源码中,将内核编译生成的模块文件部署到文件系统中,打包生成新的系统镜像update.img,重新烧写系统镜像后WiFi模块驱动自动加载。
1. 准备工作
方法一的所有操作均在开发环境的SDK中进行,实施前需要将SDK完整拷贝至开发环境并解压。具体操作步骤可参考《ELF 2开发板编译手册》第四章的详细说明。
2. 创建挂载目录
在源码根目录下创建用于挂载文件系统的文件夹 mnt_dir。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;mkdir mnt_dir
3. 挂载文件系统
将ubuntu目录下的jammy-rootfs.img文件拷贝到源码根目录下。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;cp ubuntu/jammy-rootfs.img ./
执行如下命令将jammy-rootfs.img文件系统挂载到mnt_dir/目录下。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo mount jammy-rootfs.img mnt_dir/
4. 编译和安装内核模块
选择平台和文件系统类型,输入1选择elf2平台,再输入1选择desktop文件系统。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;./build.sh chip
编译内核。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;./build.sh kernel
安装模块到挂载的文件系统。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo make -C /home/elf/work/ELF2-linux-source/kernel/ CROSS_COMPILE=prebuilts/gcc/linux-x86/aarch64/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/bin/aarch64-none-linux-gnu- ARCH=arm64 modules_install INSTALL_MOD_PATH=$(pwd)/mnt_dir
5. 部署必要文件
将WiFi连接脚本cmddemo_wifi.sh以及热点创建脚本cmddemo_hostap.sh拷贝到文件系统中。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo cp cmddemo_wifi.sh ./mnt_dir/usr/bin/
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo cp cmddemo_hostap.sh ./mnt_dir/usr/bin/
给予文件可执行权限。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo chroot ./mnt_dir /bin/bash -c "chmod +x
/usr/bin/cmddemo_wifi.sh"
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo chroot ./mnt_dir /bin/bash -c "chmod +x
/usr/bin/cmddemo_hostap.sh"
6. 卸载和烧录
修改完成后,取消挂载文件系统。
elf@ubuntu:~/work/ELF2-linux-sourcenbsp;sudo umount ./mnt_dir
参考《ELF 2开发板编译手册》“5.3 单独更新内核”章节,将修改后的jammy-rootfs.img烧录到开发板。
(注意: jammy-rootfs.img镜像文件的烧录起始地址应设置为0x00078000。)
7. lsmod查看是否有模块加载
开发板断电,将AX200NGW 模块安装到 M.2 接口,连接天线开发板上电。使用lsmod查看是否有模块加载,有模块加载说明上述操作没有问题。
root@elf2-desktop:/usr/lib/modules# sync
root@elf2-desktop:/usr/lib/modules# reboot
//重启之后使用lsmod查看
root@elf2-desktop:~# lsmod
Module Size Used by
iwlmvm 331776 0
iwlwifi 286720 1 iwlmvm
btusb 57344 0
btrtl 24576 1 btusb
btbcm 24576 1 btusb
btintel 28672 1 btusb
8. 测试
查看有模块加载后,执行如下命令测试 WiFi 连接。
//root@elf2-desktop:~# cmddemo_wifi.sh -s SSID -p password
//SSID:热点名称; password:热点密码。
root@elf2-desktop:~# cmddemo_wifi.sh -s forlinx -p 03123102650
Device 'wlan0' successfully activated with '81a9889a-44e1-4c47-9b49-c90850ca96ff'.
//拨号成功之后ping下elfboard官网,能ping通说明WiFi可以正常使用
root@elf2-desktop:~# ping www.elfboard.com -c 5
PING www.elfboard.com (211.149.236.219) 56(84) bytes of data.
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=1 ttl=53 time=32.2 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=2 ttl=53 time=32.0 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=3 ttl=53 time=32.0 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=4 ttl=53 time=31.9 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=5 ttl=53 time=32.3 ms
--- www.elfboard.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 31.948/32.074/32.266/0.140 ms
方法二:拷贝模块到文件系统
方法二采用模块化部署方案,通过将生成的模块文件直接拷贝至文件系统完成部署。需特别注意的是,若重新烧写系统,则需要重新执行完整的模块部署流程。
1. 在文件系统解压
将内核模块归档文件5.10.209.tar通过u盘拷贝到Ubuntu系统的/usr/lib/modules/路径下,然后提取归档内容:
root@elf2-desktop:~# cp /run/media/sda1/5.10.209.tar /usr/lib/modules
root@elf2-desktop:~# cd /usr/lib/modules
root@elf2-desktop:/usr/lib/modules# tar xvf 5.10.209.tar
2. 完成之后保存重启
root@elf2-desktop:/usr/lib/modules# sync
root@elf2-desktop:/usr/lib/modules# reboot
3. lsmod查看是否有模块加载
开发板断电,将AX200NGW模块安装到M.2接口,连接天线开发板上电。 使用lsmod查看是否有模块加载,有模块加载说明上述操作没有问题。
//重启之后使用lsmod查看
root@elf2-desktop:~# lsmod
Module Size Used by
iwlmvm 331776 0
iwlwifi 286720 1 iwlmvm
btusb 57344 0
btrtl 24576 1 btusb
btbcm 24576 1 btusb
btintel 28672 1 btusb
4. 测试
拷贝拨号脚本cmddemo_wifi.sh到/usr/bin下面,执行拨号脚本。
root@elf2-desktop:~# cp /run/media/sda1/cmddemo_wifi.sh /usr/bin/
//root@elf2-desktop:~# cmddemo_wifi.sh -s SSID -p password
//SSID:热点名称; password:热点密码。
root@elf2-desktop:~# cmddemo_wifi.sh -s forlinx -p 03123102650
Device 'wlan0' successfully activated with '81a9889a-44e1-4c47-9b49-c90850ca96ff'.
//拨号成功之后ping下elfboard官网,能ping通说明WiFi可以正常使用
root@elf2-desktop:~# ping www.elfboard.com -c 5
PING www.elfboard.com (211.149.236.219) 56(84) bytes of data.
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=1 ttl=53 time=32.2 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=2 ttl=53 time=32.0 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=3 ttl=53 time=32.0 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=4 ttl=53 time=31.9 ms
64 bytes from 211.149.236.219 (211.149.236.219): icmp_seq=5 ttl=53 time=32.3 ms
--- www.elfboard.com ping statistics ---
5 packets transmitted, 5 received, 0% packet loss, time 4005ms
rtt min/avg/max/mdev = 31.948/32.074/32.266/0.140 ms
通过上述标准化流程,即可在ELF 2开发板上实现适配AX200NGW Wi-Fi 6模块。期待本文所分享的技术实践,能为从事嵌入式开发的工程师与高校师生提供有价值的参考,如果在实践中遇到问题,欢迎随时交流探讨!
相关推荐
- 爆肝 30 天!从 JVM 调优到百万级 QPS,我的 Java 性能飞升全记录(2)
-
前言:从崩溃边缘到百万级QPS的逆袭凌晨3点的办公室,监控大屏突然飙红,QPS从5万断崖式下跌到800,CPU满载报警,GC时间突破3秒大关——这是我们的电商大促系统在压测中遭...
- 如何彻底清除服务器上的恶意软件与后门 ?
-
当服务器遭受入侵后,清除恶意软件和后门是恢复系统安全性的关键步骤。如果清除不彻底,攻击者可能通过隐藏后门程序再次发动攻击。以下是一个系统化的操作指南,帮助您彻底清除服务器上的恶意软件和后门,同时加强服...
- Docker 部署高性能抖音 TikTok数据爬取工具,支持无水印视频下载
-
一、项目简介此项目基于PyWebIO、FastAPI和HTTPX,是一个高效的异步数据爬取工具,专注于抖音/TikTok平台的数据提取。通过Web端界面,用户可以在线批量解析并下载无水印的视频或...
- 我如何将Unix时间转换为可读的值?
-
高频处理时间问题在处理时间值时,程序中的一种常见方法是将其转换为线性刻度表示。无法将"2005年1月17日下午5:37"这样的日期存储为变量,并期望能够进行任何操作。因此,在合格的程序...
- 用shell进行ASCII字符转换与URL编码技巧
-
如何将ASCII字符转换为十进制(或十六进制)值并进行相反的转换?如何进行URL编码和URL解码?如果你在编写脚本时已知八进制或十六进制值,你可以使用printf命令实现:#POSIXprintf...
- Linux远程shell登录出现bash-4.2#问题
-
出现以上问题的原因是/root目录下丢失了.bashrc和.bash_profile文件/etc/skel/.bash_profile和/etc/skel/.bashrc的文件复制到/root下即可命...
- 三部门:推进算力互联互通 推动国家枢纽节点和需求地之间400G/800G 高带宽全光连接
-
每经AI快讯,1月6日,国家发展改革委等三部门印发《国家数据基础设施建设指引》。其中提出,加强新兴网络技术创新应用,优化网络计费方式,降低东西部数据传输成本,促进东部中高时延业务向西部转移。推进算力互...
- 三部门:推动国家枢纽节点和需求地之间400G/800G高带宽全光连接
-
国家发展改革委、国家数据局、工业和信息化部等印发《国家数据基础设施建设指引》的通知。其中提到,加强新兴网络技术创新应用,优化网络计费方式,降低东西部数据传输成本,促进东部中高时延业务向西部转移。推进算...
- 高带宽低延迟如何开启?实际效果如何?
-
在上次的《实测AMD平台玩游戏用什么频率的内存更好?》中通过测试已经得知,AMDCPU的最佳频率是6000,具体该如何选择,如何设置能提升游戏帧数,往下看小白新手也能看明白。内存选择6000频率内存...
- 排列五第22237期规律预测走势图分享
-
二定头尾:03458,X,X,035890XX00XX30XX50XX80XX93XX03XX33XX53XX83XX94XX04XX34XX54XX84XX95...
- 格式化字符串漏洞及利用_萌新食用
-
前言格式化字符串漏洞具有任意地址读,任意地址写。printfprintf--一个参数:情况1当参数只有1个字符串的话(含有%?),//?即i,x,s等等<br>第一个...
- Linux配置ip地址的两种方法(linux配置ip详细步骤)
-
Linux配置ip地址的两种方法,实验环境为centos7.6方法1:nmcli工具配置(centos7以下版本不支持该方法)第一步,通过nmcliconnection查看网卡名称[root@lo...
- 排列五9月30日第22263期最新规律走势预测讲解
-
二定头尾:034589,X,X,0125670XX00XX10XX20XX50XX60XX73XX03XX13XX23XX53XX63XX74XX04XX14XX2...
- GDB调试的高级技巧(gdb调试工具的使用)
-
GDB是我们平时调试c/c++程序的利器,查起复杂的bug问题,比打印大法要好得多,但是也不得不说,gdb在默认情况下用起来并不是很好用,最近学习到几个高级点的技巧,分享下:一美化打印先上个例子...
- 给NAS测评打个样:QNAP TS-251D双盘位NAS全面测评体验
-
这两年随着大家网络条件越来越好,视频、电影资源越来越丰富。以及智能手机的普及拍照也更加方便,大家对于存储的需求也越来越高。除了传统的优盘、移动硬盘之外现在私有云方面也有了更多的选择。那么日常私有云选购...
你 发表评论:
欢迎- 一周热门
-
-
极空间如何无损移机,新Z4 Pro又有哪些升级?极空间Z4 Pro深度体验
-
UOS服务器操作系统防火墙设置(uos20关闭防火墙)
-
如何修复用户配置文件服务在 WINDOWS 上登录失败的问题
-
手机如何设置与显示准确时间的详细指南
-
如何在安装前及安装后修改黑群晖的Mac地址和Sn系列号
-
日本海上自卫队的军衔制度(日本海上自卫队的军衔制度是什么)
-
爱折腾的特斯拉车主必看!手把手教你TESLAMATE的备份和恢复
-
10个免费文件中转服务站,分享文件简单方便,你知道几个?
-
FANUC 0i-TF数据备份方法(fanuc系统备份教程)
-
NAS:DS video/DS file/DS photo等群晖移动端APP远程访问的教程
-
- 最近发表
- 标签列表
-
- linux 查询端口号 (58)
- docker映射容器目录到宿主机 (66)
- 杀端口 (60)
- yum更换阿里源 (62)
- internet explorer 增强的安全配置已启用 (65)
- linux自动挂载 (56)
- 禁用selinux (55)
- sysv-rc-conf (69)
- ubuntu防火墙状态查看 (64)
- windows server 2022激活密钥 (56)
- 无法与服务器建立安全连接是什么意思 (74)
- 443/80端口被占用怎么解决 (56)
- ping无法访问目标主机怎么解决 (58)
- fdatasync (59)
- 405 not allowed (56)
- 免备案虚拟主机zxhost (55)
- linux根据pid查看进程 (60)
- dhcp工具 (62)
- mysql 1045 (57)
- 宝塔远程工具 (56)
- ssh服务器拒绝了密码 请再试一次 (56)
- ubuntu卸载docker (56)
- linux查看nginx状态 (63)
- tomcat 乱码 (76)
- 2008r2激活序列号 (65)