在[color=inherit !important]飛凌OKMX8MP-C開(kāi)發(fā)板上移植了自行搭建的Debian系統(tǒng)之后,發(fā)現(xiàn)板卡原有的WiFi模塊無(wú)法使用,在內(nèi)核里面添加了支持項(xiàng)也沒(méi)用,后面跟飛凌的技術(shù)支持工程師王工溝通,了解到需要將/lib/modules整個(gè)驅(qū)動(dòng)文件夾復(fù)制并替換才可以,所以我就暫時(shí)擱置了。 WiFi[color=inherit !important]方案可以用市面上已經(jīng)非常成熟的RTL8192EU方案,一個(gè)USB WiFi模塊,幾十塊錢(qián)就能買(mǎi)到,網(wǎng)上也可以下載各種[color=inherit !important]Linux內(nèi)核版本適配的源碼。 下載RTL8192EU源碼,打開(kāi)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 ?= [color=inherit !important]ARM64 CROSS_COMPILE ?= 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)是無(wú)法正常加載的: 加載成功之后,使用ifconfig[color=inherit !important]命令可以查看正確加載的網(wǎng)卡設(shè)備: 然后使用networkmanager軟件可以管理連接WiFi熱點(diǎn): nmcli dev wifi connect "xxx" password "xxx" 在xxx處填入熱點(diǎn)名稱(chēng)和密碼即可。然后是開(kāi)機(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 這樣就能在開(kāi)機(jī)的時(shí)候自動(dòng)運(yùn)行insmod命令。 https://www.forlinx.com/product/135.html |