作者: donatello1996
来源:电子发烧友
原文标题:
【飞凌嵌入式OKMX8MP-C 开发板试用体验】移植USBWIFI RTL8192EU驱动并设置开机自启动
我(笔者)在飞凌OKMX8MP-C开发板上移植了自行搭建的Debian系统之后,发现板卡原有的WiFi模块无法使用,在内核里面添加了支持项也没用,后面跟飞凌的技术支持工程师王工沟通,了解到需要将/lib/modules整个驱动文件夹复制并替换才可以,所以我就暂时搁置了。
v2-fbbfeef8185b4c416c98865f364fb15f_b.png
WiFi方案可以用市面上已经非常成熟的RTL8192EU方案,一个USB WiFi模块,几十块钱就能买到,网上也可以下载各种Linux内核版本适配的源码。
下载RTL8192EU源码,打开Makefile文件:
v2-50839737afd5385d989774bee08569d3_b.jpg v2-a07e29f375cc6694f8f41d676388a34b_b.jpg
修改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,必须要有这个文件,不然的话驱动是无法正常加载的:
    v2-4d669430a987118400e88fd487838c2c_b.jpg
    加载成功之后,使用ifconfig命令可以查看正确加载的网卡设备:
    v2-df9a8d189d9f52d8df99f11acbcc30d8_b.jpg
    然后使用networkmanager软件可以管理连接WiFi热点:
    nmcli dev wifi connect "xxx" password "xxx"
    在xxx处填入热点名称和密码即可。然后是开机自启动加载WiFi驱动,这个也很简单,在/etc/下新建一个名为autorun.sh的shell脚本:
    v2-6fb31e35433606276809940abe6c2ff6_b.jpg v2-5a51de35191c80b34273aca36ccd3e37_b.jpg
    #!/bin/sh
  •     insmod /home/rtl8192eu-linux-driver-realtek-4.4.x/8192eu.ko
  • 复制代码
    然后在/usr/lib/systemd/system/目录下新建autorun.service文件:
    v2-fa655302047c3d0dbc2ccdf56b827833_b.jpg
    [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 开发板试用体验文章,也欢迎更多的工程师朋友可以参与飞凌嵌入式后续的产品试用活动。