作者:donatello1996
來源:電子發(fā)燒友
題圖:飛凌嵌入式
原文標(biāo)題:
【飛凌嵌入式OKMX8MP-C 開發(fā)板試用體驗(yàn)】移植USBWIFI RTL8192EU驅(qū)動(dòng)并設(shè)置開機(jī)自啟動(dòng)
我(筆者)在飛凌OKMX8MP-C開發(fā)板上移植了自行搭建的Debian系統(tǒng)之后,發(fā)現(xiàn)板卡原有的WiFi模塊無法使用,在內(nèi)核里面添加了支持項(xiàng)也沒用,后面跟飛凌的技術(shù)支持工程師王工溝通,了解到需要將/lib/modules整個(gè)驅(qū)動(dòng)文件夾復(fù)制并替換才可以,所以我就暫時(shí)擱置了。
WiFi方案可以用市面上已經(jīng)非常成熟的RTL8192EU方案,一個(gè)USB WiFi模塊,幾十塊錢就能買到,網(wǎng)上也可以下載各種Linux內(nèi)核版本適配的源碼。
下載RTL8192EU源碼,打開Makefile文件:
修改I386_PC選項(xiàng)的架構(gòu)和內(nèi)核源碼位置:
ifeq ($(CONFIG_PLATFORM_I386_PC), y)
EXTRA_CFLAGS += -DCONFIG_LITTLE_ENDIAN
EXTRA_CFLAGS += -DCONFIG_IOCTL_CFG80211 - DRTW_USE_CFG80211_STA_EVENT
SUBARCH := $(shell uname -m | sed -e s/i.86/i386/)
ARCH ?=ARM64
KVER:= $(shell uname -r)
KSRC := /home/OK8MP-linux-kernel/
MODDESTDIR := /home/OK8MP-linux- kernel/drivers/net/wireless/
INSTALL_PREFIX :=
STAGINGMODDIR := /home/OK8MP-linux- kernel/drivers/staging
endif
編譯生成8192eu.ko文件,直接insmod即可。但是只有這個(gè)ko文件是不夠的,因?yàn)檫@個(gè)ko驅(qū)動(dòng)還會(huì)調(diào)用/lib/firmware/rtlwifi下的固件文件,名為rtl8192eu_nic.bin,必須要有這個(gè)文件,不然的話驅(qū)動(dòng)是無法正常加載的:
加載成功之后,使用ifconfig命令可以查看正確加載的網(wǎng)卡設(shè)備:
然后使用networkmanager軟件可以管理連接WiFi熱點(diǎn):
nmcli dev wifi connect "xxx" password "xxx"
在xxx處填入熱點(diǎn)名稱和密碼即可。然后是開機(jī)自啟動(dòng)加載WiFi驅(qū)動(dòng),這個(gè)也很簡(jiǎn)單,在/etc/下新建一個(gè)名為autorun.sh的shell腳本:
#!/bin/sh
insmod /home/rtl8192eu-linux-driver-realtek-4.4.x/8192eu.ko
然后在/usr/lib/systemd/system/目錄下新建autorun.service文件:
[Unit]
Description=autorun
After=basic.service X.service thermal-zone-init.service
[Service]
ExecStart=/etc/autorun.sh
[Install]
WantedBy=multi-user.target
輸入命令:
systemctl -f enable /lib/systemd/system/autorun.service
chmod 777 /etc/autorun.sh
這樣就能在開機(jī)的時(shí)候自動(dòng)運(yùn)行insmod命令。
感謝由發(fā)燒友[donatello1996]提供的這篇OKMX8MP-C 開發(fā)板試用體驗(yàn)文章,donatello1996,嵌入式軟件工程師,電子發(fā)燒友論壇技術(shù)大牛,同時(shí)也是飛凌鐵粉,曾基于多款飛凌板卡產(chǎn)出優(yōu)質(zhì)評(píng)測(cè)文章及干貨分享,在此對(duì)donatello1996表示感謝。
-
驅(qū)動(dòng)器
+關(guān)注
關(guān)注
52文章
8117瀏覽量
145847
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論