為ELF 2開發(fā)板適配AX200NGW Wi-Fi 6模塊,是開發(fā)者在嵌入式設(shè)備中實(shí)現(xiàn)高速無線聯(lián)網(wǎng)的實(shí)際需求,更是解鎖其全場景無線通信能力的關(guān)鍵升級(jí)。針對(duì)ARM架構(gòu)需要手動(dòng)適配的特性,本文將提供清晰的步驟,指導(dǎo)屏幕前的小伙伴完成這一適配過程。
方法一:重新制作鏡像文件
該方法是在SDK源碼中,將內(nèi)核編譯生成的模塊文件部署到文件系統(tǒng)中,打包生成新的系統(tǒng)鏡像update.img,重新燒寫系統(tǒng)鏡像后WiFi模塊驅(qū)動(dòng)自動(dòng)加載。
1. 準(zhǔn)備工作
方法一的所有操作均在開發(fā)環(huán)境的SDK中進(jìn)行,實(shí)施前需要將SDK完整拷貝至開發(fā)環(huán)境并解壓。具體操作步驟可參考《ELF 2開發(fā)板編譯手冊(cè)》第四章的詳細(xì)說明。

2. 創(chuàng)建掛載目錄
在源碼根目錄下創(chuàng)建用于掛載文件系統(tǒng)的文件夾 mnt_dir。
elf@ubuntu:~/work/ELF2-linux-source$ mkdir mnt_dir
3. 掛載文件系統(tǒng)
將ubuntu目錄下的jammy-rootfs.img文件拷貝到源碼根目錄下。
elf@ubuntu:~/work/ELF2-linux-source$ cp ubuntu/jammy-rootfs.img ./
執(zhí)行如下命令將jammy-rootfs.img文件系統(tǒng)掛載到mnt_dir/目錄下。
elf@ubuntu:~/work/ELF2-linux-source$ sudo mount jammy-rootfs.img mnt_dir/
4. 編譯和安裝內(nèi)核模塊
選擇平臺(tái)和文件系統(tǒng)類型,輸入1選擇elf2平臺(tái),再輸入1選擇desktop文件系統(tǒng)。
elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh chip
編譯內(nèi)核。
elf@ubuntu:~/work/ELF2-linux-source$ ./build.sh kernel
安裝模塊到掛載的文件系統(tǒng)。
elf@ubuntu:~/work/ELF2-linux-source$ 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以及熱點(diǎn)創(chuàng)建腳本cmddemo_hostap.sh拷貝到文件系統(tǒng)中。
elf@ubuntu:~/work/ELF2-linux-source$ sudo cp cmddemo_wifi.sh ./mnt_dir/usr/bin/ elf@ubuntu:~/work/ELF2-linux-source$ sudo cp cmddemo_hostap.sh ./mnt_dir/usr/bin/
給予文件可執(zhí)行權(quán)限。
elf@ubuntu:~/work/ELF2-linux-source$ sudo chroot ./mnt_dir /bin/bash -c "chmod +x /usr/bin/cmddemo_wifi.sh" elf@ubuntu:~/work/ELF2-linux-source$ sudo chroot ./mnt_dir /bin/bash -c "chmod +x /usr/bin/cmddemo_hostap.sh"
6. 卸載和燒錄
修改完成后,取消掛載文件系統(tǒng)。
elf@ubuntu:~/work/ELF2-linux-source$ sudo umount ./mnt_dir
參考《ELF 2開發(fā)板編譯手冊(cè)》“5.3 單獨(dú)更新內(nèi)核”章節(jié),將修改后的jammy-rootfs.img燒錄到開發(fā)板。
(注意: jammy-rootfs.img鏡像文件的燒錄起始地址應(yīng)設(shè)置為0x00078000。)

7. lsmod查看是否有模塊加載
開發(fā)板斷電,將AX200NGW 模塊安裝到 M.2 接口,連接天線開發(fā)板上電。使用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. 測試
查看有模塊加載后,執(zhí)行如下命令測試 WiFi 連接。
//root@elf2-desktop:~# cmddemo_wifi.sh -s SSID -p password //SSID:熱點(diǎn)名稱; password:熱點(diǎn)密碼。 root@elf2-desktop:~# cmddemo_wifi.sh -s forlinx -p 03123102650 Device 'wlan0' successfully activated with '81a9889a-44e1-4c47-9b49-c90850ca96ff'. //撥號(hào)成功之后ping下elfboard官網(wǎng),能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

方法二:拷貝模塊到文件系統(tǒng)
方法二采用模塊化部署方案,通過將生成的模塊文件直接拷貝至文件系統(tǒng)完成部署。需特別注意的是,若重新燒寫系統(tǒng),則需要重新執(zhí)行完整的模塊部署流程。
1. 在文件系統(tǒng)解壓
將內(nèi)核模塊歸檔文件5.10.209.tar通過u盤拷貝到Ubuntu系統(tǒng)的/usr/lib/modules/路徑下,然后提取歸檔內(nèi)容:
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查看是否有模塊加載
開發(fā)板斷電,將AX200NGW模塊安裝到M.2接口,連接天線開發(fā)板上電。 使用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. 測試
拷貝撥號(hào)腳本cmddemo_wifi.sh到/usr/bin下面,執(zhí)行撥號(hào)腳本。
root@elf2-desktop:~# cp /run/media/sda1/cmddemo_wifi.sh /usr/bin/ //root@elf2-desktop:~# cmddemo_wifi.sh -s SSID -p password //SSID:熱點(diǎn)名稱; password:熱點(diǎn)密碼。 root@elf2-desktop:~# cmddemo_wifi.sh -s forlinx -p 03123102650 Device 'wlan0' successfully activated with '81a9889a-44e1-4c47-9b49-c90850ca96ff'. //撥號(hào)成功之后ping下elfboard官網(wǎng),能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

通過上述標(biāo)準(zhǔn)化流程,即可在ELF 2開發(fā)板上實(shí)現(xiàn)適配AX200NGW Wi-Fi 6模塊。期待本文所分享的技術(shù)實(shí)踐,能為從事嵌入式開發(fā)的工程師與高校師生提供有價(jià)值的參考,如果在實(shí)踐中遇到問題,歡迎隨時(shí)交流探討!
-
嵌入式開發(fā)
+關(guān)注
關(guān)注
18文章
1075瀏覽量
48671 -
瑞芯微
+關(guān)注
關(guān)注
25文章
553瀏覽量
52285 -
嵌入式開發(fā)板
+關(guān)注
關(guān)注
5文章
90瀏覽量
19129 -
RK3588
+關(guān)注
關(guān)注
7文章
410瀏覽量
5688
發(fā)布評(píng)論請(qǐng)先 登錄
ELF 1技術(shù)貼|在NXP源碼基礎(chǔ)上適配開發(fā)板的按鍵功能

ElfBoard技術(shù)貼|如何在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的UART功能

ElfBoard技術(shù)貼|ELF 1開發(fā)板適配攝像頭詳解

ElfBoard技術(shù)貼|如何在ELF 2開發(fā)板上部署v4l2loopback

【ELF 2學(xué)習(xí)板試用】ELF 2開發(fā)板開箱測評(píng)
飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之wifi
嵌入式學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-開發(fā)板適配之wifi
ELF2開發(fā)板的ubuntu系統(tǒng)的ax200 wifi配網(wǎng)
ELF 1技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的LED功能

ELF技術(shù)貼|如何在開發(fā)板上實(shí)現(xiàn)對(duì)Java的支持

ElfBoard技術(shù)貼|在NXP源碼基礎(chǔ)上適配ELF 1開發(fā)板的按鍵功能

ElfBoard技術(shù)貼|如何在ELF 1開發(fā)板上搭建流媒體服務(wù)器

為RK3576開發(fā)板適配AX210NGW Wi-Fi 6E模塊,讓無線網(wǎng)絡(luò)快人一步

ElfBoard技術(shù)貼|如何在ELF 1開發(fā)板上交叉移植Qt

評(píng)論