移植瑞昱rtl8723bu/au/8761A/8821A的蓝牙驱动到嵌入式linux开发板

一、蓝牙驱动的移植

1、解压rtl8723au_bt-master蓝牙驱动包[跳转到下载]。

2、复制驱动到指定位置
将驱动包下的blutooth_usb_driver/ rtk_bt.c, rtk_bt.h,
rtk_coex.c, rtk_coex.h 四个文件复制到内核
/data/I.MX6ULL/linux/kernel_NXP/linux-imx-rel_imx_4.1.15_2.1.0_ga/drivers/bluetooth 目录下

3、修改Makefile编译脚本
在drivers/bluetooth目录下的Makefile文件的最后一行添加三个编译目标。

obj-$(CONFIG_BT_RTKBTUSB) += rtk_btusb.o
rtk_btusb-y := rtk_coex.o rtk_bt.o

4、修改Kconfig配置文件
在drivers/bluetooth目录下的Kconfig文件的倒数第二行endmenu之前添加RTK支持。

config BT_RTKBTUSBtristate "RTK HCI USB driver"depends on USBhelpRTK Bluetooth HCI USB driver.

5、复制相应的固件到开发板

如果使用的是rtl8723bu型号的芯片,则将8723B目录下rtl8723b_fw,rtl8723bu_config拷贝到开发板的/lib/firmware/目录下,同理,如果使用的是rtl8723au型号的芯片,则拷贝8723A目录下驱动文件。
6、配置 Linux 内核
6-1蓝牙协议支持,进入到Networking support > Bluetooth subsystem support,配置成下图。
在这里插入图片描述
进入到Networking support > Bluetooth subsystem support > Bluetooth device drivers,将RTK HCI USB driver勾选上。
在这里插入图片描述

6-2射频RF支持,进入到Networking support > RF switch subsystem support,将RF switch input support勾选上。
在这里插入图片描述
6-3支持用户层驱动,进入到Device Drivers > Input device support > Miscellaneous devices evice drivers,将User level driver support勾选上。
在这里插入图片描述
6-4支持将固件编译进内核,进入到Device Drivers > Generic Driver Options,将下图中的两项勾选上。
在这里插入图片描述
保存退出,执行make操作,将编译出的zImage烧写到开发板。

二、蓝牙驱动的测试

先将交叉编译好的bluez蓝牙协议栈移植到开发板,ubuntu系统的可以直接使用命令安装

apt-get install bluez

1、打开蓝牙hciconfig hci0 up
2、扫描蓝牙hcitool scan
3、开启可检测hciconfig hci0 up piscan
4、关闭本地的pin验证hciconfig hci0 noauth


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部