作者:donatello1996
來源:電子發(fā)燒友
題圖:飛凌嵌入式
原文標(biāo)題:
【飛凌嵌入式OKMX8MP-C 開發(fā)板試用體驗】移植USBWIFI RTL8192EU驅(qū)動并設(shè)置開機自啟動
我(筆者)在飛凌OKMX8MP-C開發(fā)板上移植了自行搭建的Debian系統(tǒng)之后,發(fā)現(xiàn)板卡原有的WiFi模塊無法使用,在內(nèi)核里面添加了支持項也沒用,后面跟飛凌的技術(shù)支持工程師王工溝通,了解到需要將/lib/modules整個驅(qū)動文件夾復(fù)制并替換才可以,所以我就暫時擱置了。
WiFi方案可以用市面上已經(jīng)非常成熟的RTL8192EU方案,一個USB WiFi模塊,幾十塊錢就能買到,網(wǎng)上也可以下載各種Linux內(nèi)核版本適配的源碼。
下載RTL8192EU源碼,打開Makefile文件:
修改I386_PC選項的架構(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即可。但是只有這個ko文件是不夠的,因為這個ko驅(qū)動還會調(diào)用/lib/firmware/rtlwifi下的固件文件,名為rtl8192eu_nic.bin,必須要有這個文件,不然的話驅(qū)動是無法正常加載的:
加載成功之后,使用ifconfig命令可以查看正確加載的網(wǎng)卡設(shè)備:
然后使用networkmanager軟件可以管理連接WiFi熱點:
nmcli dev wifi connect "xxx" password "xxx"
在xxx處填入熱點名稱和密碼即可。然后是開機自啟動加載WiFi驅(qū)動,這個也很簡單,在/etc/下新建一個名為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
這樣就能在開機的時候自動運行insmod命令。
感謝由發(fā)燒友[donatello1996]提供的這篇OKMX8MP-C 開發(fā)板試用體驗文章,donatello1996,嵌入式軟件工程師,電子發(fā)燒友論壇技術(shù)大牛,同時也是飛凌鐵粉,曾基于多款飛凌板卡產(chǎn)出優(yōu)質(zhì)評測文章及干貨分享,在此對donatello1996表示感謝。
-
驅(qū)動器
+關(guān)注
關(guān)注
53文章
8263瀏覽量
146682
發(fā)布評論請先 登錄
相關(guān)推薦
評論