• 正文
    • 硬件原理
    • 添加驱动
    • 编译测试
  • 相关推荐
申请入驻 产业图谱

飞凌嵌入式ElfBoard ELF 1板卡-开发板适配之wifi

02/28 09:40
758
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

硬件原理

上一节中提到,USB_OTG2作为host通过usb hub扩展出4路usb,其中两路连接到2个Type-A插座,另外两路分别连接板载wifi模块RTL8723DU和扩展板的4G模块。

添加驱动

本节介绍如何将wifi模块RTL8723DU驱动添加进入内核,RTL8723DU还具备蓝牙功能,在下节介绍。

RTL8723DU驱动在ELF 1开发板资料包2-Linux 源代码 02-1 驱动源码8_realtekwifirealtek.tar.bz2中,此文件夹中有rtl8188EUS、rt8189ES、rtl8723BU、rtl8723DU四款wifi模块的驱动,我们一并都添加进内核源码中。

一、将realtek.tar.bz2压缩文件放入到内核源码drivers/net/wireless/下,并在此目录下解压缩:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga/drivers/net/wireless$ tar -xvf realtek.tar.bz2

二、打开realtek文件夹,我们可以看到这几个wifi模块的驱动,以及Kconfig和Makefile文件。

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga/drivers/net/wireless/realtek$ ls

在drivers/net/wireless/Makefile中增加对realtek中文件的编译:

obj-y     += realtek/

在drivers/net/wireless/Kconfig中增加对realtek下Kconfig的引用:

source “drivers/net/wireless/realtek/Kconfig”

三、配置内核

添加完成驱动文件之后,我们打开make menuconfig图形配置界面,配置以下内容:

Device Drivers

-> USB support

在以下路径添加80211编译进内核:

Networking support

-> Wireless

在以下路径打开下图选项:

Device Drivers

-> Network device support

-> Wireless LAN

最后进入以下路径,将rtL8723du编译成为ko模块:

Device Drivers

-> Network device support

->Wireless LAN

->Realtek wifi

四、替换配置文件

通过make menuconfig修改的内容写入到了.config文件,当使用make imx6ull_elf1_defconfig配置内核源码时,.config文件会被覆盖,因此,需要替换原有的imx6ull_elf1_defconfig。

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ cp .config arch/arm/configs/imx6ull_elf1_defconfig

编译测试

编译内核、设备树和模块并拷贝到开发板:

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ ./build.sh

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/zImage   root@172.16.0.175:/run/media/mmcblk1p1/

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp arch/arm/boot/dts/imx6ull-elf1-emmc.dtb root@172.16.0.175:/run/media/mmcblk1p1/

elf@ubuntu:~/work/linux-imx-imx_4.1.15_2.0.0_ga$ scp .tmp/rootfs/modules.tar.bz2 root@172.16.0.175:~/

在开发板上解压打包好的模块到根目录:

root@ELF1:~# tar -xvf modules.tar.bz2 -C /

进行sync操作后重启开发板:

重启后lsmod查看模块,我们可以发现8723du的模块已经正常加载了。

root@ELF1:~# lsmod

使用WiFi上网脚本测试:

root@ELF1:~# elf1_cmd_wifi.sh -i 8723 -s ELFBOARD -p elfboard

参数-s之后的参数是无线wifi的ssd,-p之后的参数是wifi密码,请根据实际的wifi环境进行配置。

使用ifconfig命令查看当前生成的wlan0网卡信息:

然后我们测试wlan0连接因特网的情况,ping www.elfboard.com

root@ELF1:~# ping www.elfboard.com -c 4

打印信息如下:

点赞
收藏
评论
分享
加入交流群
举报

相关推荐

登录即可解锁
  • 海量技术文章
  • 设计资源下载
  • 产业链客户资源
  • 写文章/发需求
立即登录