地平線旭日?X3派(下文簡(jiǎn)稱旭日X3派)作為一款用于機(jī)器人的板子,在應(yīng)用中除了需要高性能BPU的支持,也需要周邊硬件的支持。不同的應(yīng)用對(duì)硬件的性能有不同的需求。如果旭日X3派要連接到帶有熱點(diǎn)的設(shè)備上的時(shí)候,就可以通過(guò)USB WiFi模塊構(gòu)建鏈接。
如何提升WiFi傳輸速度以滿足不同場(chǎng)景下的開(kāi)發(fā)需求?本次內(nèi)容《平平無(wú)奇縱享絲滑,旭日X3派高速網(wǎng)絡(luò)新體驗(yàn)》,地平線開(kāi)發(fā)者社區(qū)2022年度開(kāi)發(fā)者小璽璽將會(huì)幫助大家在旭日X3派編譯WiFi驅(qū)動(dòng),以便開(kāi)發(fā)者們家直接上手“盤”它,真正實(shí)現(xiàn)了即拿即用!相關(guān)問(wèn)題歡迎大家注冊(cè)加入地平線開(kāi)發(fā)者社區(qū)交流討論,配置文件及代碼詳見(jiàn)地平線開(kāi)發(fā)者社區(qū)。
普通模塊
運(yùn)行編譯kernel
驅(qū)動(dòng)激活
輸入sudo nmcli dev wifi查看當(dāng)前環(huán)境的WiFi信息,將USB WiFi模塊插上開(kāi)發(fā)板之后,輸入lsusb看到系統(tǒng)識(shí)別這個(gè)設(shè)備。但由于目前還沒(méi)有安裝驅(qū)動(dòng),所以WiFi的燈是不會(huì)亮的。
下載WiFi驅(qū)動(dòng)庫(kù)相關(guān)文件,拷貝到用戶目錄,即/home/sunrise/。輸入指令sudo cp /home/sunrise/8188eu.ko /lib/modules/4.14.87/拷貝驅(qū)動(dòng)文件,最終文件路徑如下所示。緊接著輸入sudo /sbin/depmod -a 4.14.87,值得注意的是4.14.87是通過(guò)指令uname -r得到,輸入depmod指令前請(qǐng)注意一下。
正常輸入sudo modprobe 8188eu是可以激活驅(qū)動(dòng)的,但是在這個(gè)板子上,會(huì)出現(xiàn)如下錯(cuò)誤:modprobe: ERROR: could not insert ‘8188eu’: Required key not available(原因就是這個(gè)驅(qū)動(dòng)沒(méi)有簽名)。將簽名所需文件放進(jìn)開(kāi)發(fā)板,輸入指令如下:
tar -zxvf x3pi_sign_ko.tar.gz cd x3pi_sign_ko/ sudo ./sign-file-arm64 sha512 ./hobot_fixed_signing_key.pem ./signing_key.x509 /lib/modules/4.14.87/8188eu.ko
隨后輸入sudo modprobe 8188eu,錯(cuò)誤即可消失,WiFi的燈也亮起來(lái)了。再次輸入sudo nmcli dev wifi可以發(fā)現(xiàn),WiFi的數(shù)目變多了,信號(hào)也更強(qiáng)了。
連接WiFi
輸入sudo nmcli dev,可以看到當(dāng)前WiFi的連接情況,系統(tǒng)里識(shí)別到了兩個(gè)WiFi模塊,一個(gè)是wlan0,一個(gè)是wlxe0e1a993d822。以下指令,用于連接與斷開(kāi)WiFi。
#### 使用指定模塊連接wifi,利用ifname來(lái)指定設(shè)備 # 連接到 wlan0 sudo nmcli dev wifi connect "wifi名" password "密碼" ifname wlan0 # 連接到 wlxe0e1a993d822 sudo nmcli dev wifi connect "wifi名" password "密碼" ifname wlxe0e1a993d822 # 關(guān)閉指定wifi sudo nmcli dev dis wlan0
利用上述指令連接和關(guān)閉WiF。
速度測(cè)試
利用wget -c ftp://vrftp.horizon.ai/Open_Explorer/eval_dataset/cifar-10.tar.gz下載文件,來(lái)測(cè)試不同WiFi的下載速度。
永久啟動(dòng)
輸入sudo vim /etc/modules,如下所示,在空白行添加8188eu,這樣模塊就永久啟用了,無(wú)論是重啟還是開(kāi)機(jī)都會(huì)自動(dòng)激活該模塊。
源碼編譯驅(qū)動(dòng)
下載源碼包并按照如下指令解壓,并給安裝腳本賦予執(zhí)行權(quán)限。
unzip RTL8188EUS_linux_v5.3.9_28540.20180806.zip cd RTL8188EUS_linux_v5.3.9_28540.20180806/ chmod +x install.sh
環(huán)境準(zhǔn)備
在編譯驅(qū)動(dòng)前,請(qǐng)先安裝所需的依賴工具。
sudo apt-get install bc # ※ 使用以下命令前,請(qǐng)先用命令uname -r 確認(rèn)下是不是4.14.87 sudo apt-get install linux-headers-4.14.87 # ※使用以下命令前,先確認(rèn)當(dāng)前路徑下是不是只有arm64沒(méi)有aarch64 sudo ln -s /usr/src/linux-headers-4.14.87/arch/arm64 /usr/src/linux-headers-4.14.87/arch/aarch64
編譯驅(qū)動(dòng)
進(jìn)入目標(biāo)文件夾RTL8188EUS_linux_v5.3.9_28540.20180806/,直接執(zhí)行./install.sh,經(jīng)過(guò)一段時(shí)間的編譯之后,會(huì)出現(xiàn)如下錯(cuò)誤:
在出現(xiàn)上述問(wèn)題之后,保證當(dāng)前命令行在RTL8188EUS_linux_v5.3.9_28540.20180806/下,之后請(qǐng)按序輸入以下指令。
# 與前面一樣,注意4.14.87版本問(wèn)題 mkdir -p /lib/modules/4.14.87/kernel/drivers/net/wireless/ # 進(jìn)入驅(qū)動(dòng)源碼文件夾 cd driver/rtl8188EUS_linux_v5.3.9_28540.20180627 # 安裝編譯好的驅(qū)動(dòng) sudo su -c "make install"
后續(xù),請(qǐng)按需完成驅(qū)動(dòng)激活、連接WiFi、永久啟動(dòng)的工作。
高頻模塊
編譯運(yùn)行kernel
如果系統(tǒng)版本在20221104及之后,使用cd /lib/modules/4.14.87/進(jìn)入文件夾,輸入sudo hobot-sign-file 88x2bu.ko對(duì)ko文件進(jìn)行簽名,之后輸入sudo /sbin/depmod -a 4.14.87以及sudo insmod 88x2bu.ko更新并加載驅(qū)動(dòng),這時(shí)候我們就能看到WiFi模塊已經(jīng)亮起來(lái)了(如果系統(tǒng)版本在20221104之前驅(qū)動(dòng)使用方式參考上文)。
連接WiFi時(shí)候可以利用指令sudo nmcli dev wifi connect "wifi名" password "密碼" ifname wlx200db0c5992c,其中wlx200db0c5992c就是網(wǎng)卡的設(shè)備名。
同樣地,如果想永久啟用,輸入sudo vim /etc/modules,在里面添加88x2bu即可。
(啟動(dòng)驅(qū)動(dòng)后wifi模塊會(huì)亮燈)
如果在落地項(xiàng)目中只用USB WiFi模塊,需要關(guān)閉板端WiFi來(lái)降低信號(hào)干擾的話可以,輸入如下指令:
# 關(guān)閉板端wifi,板端wifi一般為wlan0,可以通過(guò)ifconfig查看 sudo nmcli dev dis wlan0 # 禁用板端wifi ifconfig wlan0 down
源碼編譯驅(qū)動(dòng)
由于不同系統(tǒng)版本編譯方式不同,最近三個(gè)系統(tǒng)版本三種編譯方式,版本20220623編譯的ko文件可以拿到20220819上直接使用,但是無(wú)法拿到20221104版本上使用(系統(tǒng)版本20220623編譯方式參見(jiàn)地平線開(kāi)發(fā)者社區(qū))。
代碼準(zhǔn)備
下載相關(guān)文件RTL8812BU.tar.gz和Makefile,將這兩個(gè)文件放在旭日X3派的某個(gè)文件夾下并進(jìn)入,執(zhí)行以下指令:
# 解壓代碼 tar -zxvf RTL8812BU.tar.gz # 替換Makefile文件 cp -f Makefile RTL8812BU_for_Raspbian/ cd RTL8812BU_for_Raspbian
RTL8812BU.tar.gz可以通過(guò)git clone https://github.com/fastoe/RTL...下載;
Makefile中添加了針對(duì)X3的配置編譯選項(xiàng),所以要替換掉原始的Makefile文件,添加的部分如下所示:
驅(qū)動(dòng)編譯
- 系統(tǒng)版本20220819
編譯前先安裝一些環(huán)境依賴庫(kù):
# 安裝X3內(nèi)核文件,之前的版本都是利用sudo apt-get install linux-headers-4.14.87安裝 # 以后內(nèi)核基本都是以hobot-linux-headers 為主了 sudo apt-get install hobot-linux-headers sudo apt install -y dkms bc # 安裝一些依賴庫(kù)
進(jìn)入代碼文件夾cd RTL8812BU,輸入make -j4開(kāi)始編譯代碼(如果編譯時(shí)候內(nèi)存不夠了,記得改為-j2或者不加),代碼編譯完之后會(huì)在當(dāng)前文件夾下生成88x2bu.ko,利用指令拷貝到系統(tǒng)驅(qū)動(dòng)目錄下sudo cp 88x2bu.ko /lib/modules/4.14.87/。注冊(cè)啟動(dòng)驅(qū)動(dòng)即可。
- 系統(tǒng)版本20221104
編譯前先安裝一些環(huán)境依賴庫(kù):
sudo -i # 切換root賬號(hào) # 下面的操作是防止出現(xiàn)錯(cuò)誤:/bin/sh:scripts/basic/fixdep:not found cd /usr/src/linux-headers-4.14.87/ make scripts sudo apt-get install dkms bc
使用su sunrise切換回用戶賬號(hào),準(zhǔn)備好代碼文件后,進(jìn)入文件夾RTL8812BU_for_Raspbian,輸入make -j4開(kāi)始編譯代碼(如果編譯時(shí)候內(nèi)存不夠了,記得改為-j2或者不加),代碼編譯完之后會(huì)在當(dāng)前文件夾下生成88x2bu.ko,利用指令拷貝到系統(tǒng)驅(qū)動(dòng)目錄下sudo cp 88x2bu.ko /lib/modules/4.14.87/。注冊(cè)啟動(dòng)驅(qū)動(dòng)即可。
本文轉(zhuǎn)自地平線開(kāi)發(fā)者社區(qū)
原作者:小璽璽
-
嵌入式
+關(guān)注
關(guān)注
5146文章
19598瀏覽量
316259 -
網(wǎng)絡(luò)
+關(guān)注
關(guān)注
14文章
7796瀏覽量
90632 -
WIFI
+關(guān)注
關(guān)注
81文章
5386瀏覽量
207903 -
計(jì)算機(jī)網(wǎng)絡(luò)
+關(guān)注
關(guān)注
3文章
342瀏覽量
22713
發(fā)布評(píng)論請(qǐng)先 登錄
韻樂(lè)Vinal X3/X5卡拉OK音頻處理器調(diào)音軟件簡(jiǎn)介
RDK X3 帶飛的智能護(hù)理系統(tǒng):讓機(jī)器人秒變貼心小棉襖

華為AI WAN SPN打造行業(yè)數(shù)智化新體驗(yàn)
HMC-XTB110 無(wú)源x3倍頻器,24-30GHz輸入技術(shù)手冊(cè)

Pura X****闊折疊適配:解鎖超視覺(jué)與高效交互的全新體驗(yàn)
德賽西威助力豐田鉑智3X打造極致智能駕駛體驗(yàn)
華為L(zhǎng)ampSite X全面引領(lǐng)室內(nèi)網(wǎng)絡(luò)數(shù)智化升級(jí)
“你的錢來(lái)了”:財(cái)神1號(hào),RDK X3驅(qū)動(dòng),自動(dòng)撿錢不手軟!

評(píng)論