干货分享 | Debian系统移植USBWiFi RTL8192EU驱动并设置开机自启

描述

 

作者: donatello1996
 

来源:电子发烧友

题图:飞凌嵌入式

原文标题:

【飞凌嵌入式OKMX8MP-C 开发板试用体验】移植USBWIFI RTL8192EU驱动并设置开机自启动


 

 

我(笔者)在飞凌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命令。

 

感谢由发烧友[donatello1996]提供的这篇OKMX8MP-C 开发板试用体验文章,donatello1996,嵌入式软件工程师,电子发烧友论坛技术大牛,同时也是飞凌铁粉,曾基于多款飞凌板卡产出优质评测文章及干货分享,在此对donatello1996表示感谢。 


 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分