在飞凌okmx8mp-c开发板上移植了自行搭建的debian系统之后,发现板卡原有的wifi模块无法使用,在内核里面添加了支持项也没用,后面跟飞凌的技术支持工程师王工沟通,了解到需要将/lib/modules整个驱动文件夹复制并替换才可以,所以我就暂时搁置了。
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
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即可。但是只有这个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命令。
2023第四届全球新能源与智能网联汽车创新峰会暨智途奖颁奖典礼在苏州隆重召开
触手可知—人工传感器模拟人体触觉
锅炉安全阀的作用是什么? 锅炉安全阀多长时间校验一次
聚飞光电以科技创新助力亚运智行
线路板PCB油墨有哪些技术性能
USB WiFi RTL8192EU驱动移植案例
在白光LED驱动中两种拓扑应用电路方案的介绍
iphone最新消息:ios11或将重新构想主屏幕,全新ios11概念设计!
基于NB-IoT的智慧消防案例
电子市场发展迅猛,VR游戏仍在努力,但还远未成熟
存储市场中针对NAS的SSD介绍和对行业有什么影响
下一代核心网-AMF上5G切4G成功率指标下降分析(MME原因)
佛山照明公司LED照明产品营收为12.87亿元,同比下降13.82%
应用案例 | 打造智慧港口,广东某集装箱公司积极推进港口转型
区块链云服务平台蜂巢链介绍
BUCK电路的CCM模式占空比,你知道哪几种?
工业控制PLC的未来市场发展趋势
三大运营商5G基站建设的补贴资金表引发了热议
直接耦合放大电路的特点及抑制零点漂移的原理
浅谈PLC编程中的三大量及模拟量的计算