WiFi方案可以用市面上已经非常成熟的RTL8192EU方案,一个USB WiFi模块,几十块钱就能买到,网上也可以下载各种Linux内核版本适配的源码。
下载RTL8192EU源码,打开Makefile文件:
修改I386_PC选项的架构和内核源码位置:
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驱动还会调用/lib/firmware/rtlwifi下的固件文件,名为rtl8192eu_nic.bin,必须要有这个文件,不然的话驱动是无法正常加载的:
加载成功之后,使用ifconfig命令可以查看正确加载的网卡设备:
然后使用networkmanager软件可以管理连接WiFi热点:
nmcli dev wifi connect "xxx" password "xxx"
在xxx处填入热点名称和密码即可。然后是开机自启动加载WiFi驱动,这个也很简单,在/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命令。
审核编辑:符乾江
-
单片机
+关注
关注
6035文章
44554浏览量
634631 -
嵌入式
+关注
关注
5082文章
19104浏览量
304797 -
编程
+关注
关注
88文章
3614浏览量
93686
发布评论请先 登录
相关推荐
评论