教程|debian系统上移植usbwifirtl8192eu驱动并设置开机自启动(代码片段)

ningmengzier ningmengzier     2023-03-21     176

关键词:

作者: 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 开发板试用体验文章,也欢迎更多的工程师朋友可以参与飞凌嵌入式后续的产品试用活动。

deb是啥格式的文件,怎么打开

deb后缀的是debian系列linux的软件包。可以在命令行界面下,打开到该软件包所处的位置,用dpkg安装就行了,就可以安装成功了。deb格式是Debian系统(包含Debian和Ubuntu)专属安装包格式,配合APT软件管理系统,成为了当前在Linux下非... 查看详情

如何在debian10上安装docker?

Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,运行这个容器,程序在这个容器里运行,就好像在真实的物理机上运行一... 查看详情

debian操作系统(安装教程,以及我遇到的问题)

...izationTechnology设置为Enabled 这两个链接都是安装debian的教程http://www.jb51.net/os/85858.html 转载其他教程,http://www.jb51.net/os/Ubun 查看详情

可移植的makefile教程(代码片段)

在我写Makefile的头10年里,我养成了一个非常不好的习惯–完全严格使用GNUMake的扩展名。过去我并不知道,GNUMake与POSIX所保证的可移植特性之间的区别与联系。通常情况,它并不十分重要,但是当在非Linux系统上进... 查看详情

为mini2440创建debian根文件系统

为mini2440创建debian根文件系统byHYH|2018年4月17日下午8:42一.准备1.需要在debian环境下,且安装有debootstrap.2.由于mini2440比较老,所以使用armel架构的linux软件。而且由于官方使用的内核也比较老所以不能使用debian9(代号:stretch),如果... 查看详情

虚拟机vmwareworkstation安装linux服务器debian11系统详细教程(代码片段)

虚拟机VMwareWorkstation安装Linux服务器Debian11系统详细教程如下:准备好:1.安装好虚拟机VMwareWorkstation2.从Linux开源镜像下载的debian11镜像系统从创建新的虚拟机开始安装完系统重启进入系统,首先要做的是更新为阿里云... 查看详情

debian上怎么装驱动

Ubuntu自带的硬件驱动小程序名叫jockey-gtk,Debian没有(或许可以移植,没试过,不知道行不行),它所做的事情是把命令图形化,方便新手安装驱动。通过它安装的驱动是闭源驱动,nvidia显卡对应可以装nvidia-glx(最近发现xserver-xo... 查看详情

Golang 二进制文件是可移植的吗?

...nstall一个二进制文件,它是否也适用于其他人的64位Ubuntu/Debian系统?如何使用g 查看详情

在基于 Debian 的系统上,如何找到字体具有字形的 Unicode 代码点?

】在基于Debian的系统上,如何找到字体具有字形的Unicode代码点?【英文标题】:HowcanonefindtheUnicodecodepointsthatafonthasglyphsfor,onaDebian-basedsystem?【发布时间】:2013-03-3113:28:42【问题描述】:从基于Debian的系统上的脚本语言(例如Python... 查看详情

如何在debian9上安装discourse(代码片段)

...系统。访问官方站点以获得当前特性集的演示和分解。本教程将教你如何在Debian9上使用DockerCE设置对话。创建一个新的VultrVPS1GB的内存是最小值,但建议至少使用2GB的内存。作为根用户访问VultrVPS通过Mac上的终端或Windows上的PuTTY... 查看详情

在debian8上安装astpp计费系统

...的程序包来支持编译Freeswitch的视频模块。还是只能回到Debian8上来安装。官方其实也是推荐用Debian8的,毕竟Freeswitch是在它上面开发和测试的。和上次一样找来ASTPP的安装文档,发现依然有坑。http://astpp.readthedocs.i 查看详情

移植openstlinux到stm32mp157上

OpenstLinux是st官方提供的基于Yocto和Debian构建的发行版Linux操作系统,专门为Stm32Mp1系列研发的操作系统,这里解释一下为什么OpenstLinux使用了两种构建方式,OpenstLinux使用了Yocto的Bitbake工具来进行编译方面的构建,... 查看详情

sh在基于debian的系统上安装oraclejdk8。(代码片段)

查看详情

linux系统移植:kernel顶层makefile(上)(代码片段)

文章目录Linux系统移植:Kernel顶层Makefile(上)一、版本号二、MAKEFLAGS变量三、命令输出四、静默输出五、编译结果输出目录六、代码检查七、模块编译八、设置目标架构和交叉编译器九、调用构建文件十、交叉编译... 查看详情

在无头 debian 系统上通过 Selenium 启动 google-chrome

】在无头debian系统上通过Selenium启动google-chrome【英文标题】:Startinggoogle-chromeviaSeleniumonheadlessdebiansystem【发布时间】:2011-09-1909:23:01【问题描述】:我正在尝试以禁用的网络安全模式启动google-chrome浏览器。硒日志说:15:36:33.526IN... 查看详情

树莓派上debian系统上有预装pygame模块吗?如果没有要怎么安装

参考技术A下了解压呗。。 查看详情

git安装教程

在Linux上安装Git首先,你可以试着输入git,看看系统有没有安装Git:$gitTheprogram‘git’iscurrentlynotinstalled.Youcaninstallitbytyping:sudoapt-getinstallgit像上面的命令,有很多Linux会友好地告诉你Git没有安装,还会告诉你如何安装Git。如果你碰... 查看详情

小熊派lvgl移植文件系统(代码片段)

...;预览视频如下:关于这个的实现过程我会写一系列的教程分享出来,主要分为下面几个部分,本节为第三部分,给LVGL移植FATFS文件系统接口小熊派移植华为LiteOS-M(基于MDK):链接;小熊派基于LiteO... 查看详情