使用的代码:
HMI (8723bu)源码+ 567_RTL8723DU_WiFi_linux_v5.6.5.3_35502_COEX20181130-2e2e.20191025.zip
由于之前写的所有笔记没有保存,这里只能是部分。
0、 前置知识
1 、kernel 的移植
2、hardwire的移植
将 驱动中的 hardware/realtek/bt 的部分整体拷贝到 源码 的,hardware/realtek/bt 下。
3、device 的移植
Bluetooth以及Bluetooth LE 的移植
拷贝 android.hardware.bluetooth.xml, android.hardware.bluetooth_le.xml 到指定的目录。
init_drone2.rc 文件的修改。
ueventd.drone2.rc 文件的修改。
4、 补丁的移植。
这里先不进行不定的移植,我使用的 HMI (8723bu)的源码,这里我对比了一下,是已经移植好不定的。
编译+烧写+测试。
连接wifi 之后依然会有报错信息。
但是蓝牙不会有报错信息。
测试发现的问题:
1 图标不显示。
2 可以wifi + 蓝牙同时运行,但是不稳定,偶尔wifi 会掉,偶尔蓝牙会掉。
在联网的情况下。
进行wifi 的 收发 测试。
接下来重新移植完整的 4418 android4.4 8723du 蓝牙的源码完整移植过程。
1、 使用的源码
4418 网盘上的android4.4 源码
+
20190311_BT_ANDROID_4.4_USB_COEX_8723DU-C2d2d.tar.gz
具体的路径为:
2、 蓝牙移植的基本概念
3 对于kernel 的git 的管理。
4、kernel 的移植,顺便将之前的 bluetooth 的移植的驱动去掉。
之前的BT使用的是 S500M , 通过串口进行通信。
我大致看了一下,在mencuconfig 中的设置,可以不用管。
首先移植 rtk_btusb driver
移植驱动 kernel/drivers/bluetooth/rtk_usb.* 到 kernel/driver/bluetooth 目录下
修改 Kconfig
修改Makefile
接下来 移植 uhid driver
将 uhid.c 移植到 /kernel/drivers/hid/ 目录下。
将uhid.h 移植到 / kernel/include/linux/ 目录下。
修改 Makefile + Kconfig
配置 menuconfig , 以支持 tk_butsb driver
CONFIG_UHID=y
CONFIG_BT_RTKBTUSB=m
图片错了,应该是选择 RTK HCI USB
接下来移植 uinput driver
CONFIG_INPUT_UINPUT=y # User level driver support
CONFIG_INPUT_MISC=y
接下来是 tun driver
CONFIG_TUN=y
4、build 的移植。
修改1)build\core\product.mk
5、 hardwire的移植。
将驱动中的 /hardware/realtek/bt 整个拷贝到 /hardware/realtek/ 目录下。
6、device 的移植。
首先拷贝 bluetooth 目录到 android/device/nexell/drone2 目录下。
修改 Boardconfig .mk 文件。
接下来修改 device.mk
首先拷贝
然后拷贝 android.hardware.bluetooth.xml+ android.hardware.bluetooth_le.xml
接下来是修改initrc 文件。
修改 uevnetd.drone2.rc
但是我觉得这里 应该是可以去掉 mt6620 的 东西的。先放下
7 、patch的移植。