xref: /OK3568_Linux_fs/docs/cn/Linux/Wifibt/WIFIBT编程接口/README.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunRK Linux平台WiFiBT的应用接口API,方便客户快速开发相关应用。
2*4882a593Smuzhiyun
3*4882a593Smuzhiyun以下有几点说明:
4*4882a593Smuzhiyun1. 之前的libDeviceIo后续统一改为librkwifibt.so
5*4882a593Smuzhiyun  #注意:由于文档里面的相关deviceio的相关术语没有更新,所以对应关系为:
6*4882a593Smuzhiyun  libDeviceio.so 对应新的:librkwifibt.so
7*4882a593Smuzhiyun  deviceio_test 对应新的:rkwifibt_test
8*4882a593Smuzhiyun2. librkwifibt.so基于wpa_supplicant/Bluez开发;
9*4882a593Smuzhiyun3. librkwifibt.so目前支持常用的PROFILE: A2DP SINK/SOURCE蓝牙音乐、BLE MASTER/SLAVE主从模式、SPP、HFP通话(SCO OVER HCI);
10*4882a593Smuzhiyun4. HFP说明:如果要使用SCO OVER PCM接口,需要找原厂协助,Linux系统默认不支持;
11*4882a593Smuzhiyun5. 之前基于bsa的libDeviceIo不再维护,因为bsa本身就是原厂封装的库,也提供完整的demo,如需使用请自行研究或找原厂协助;
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun补丁说明:(请使用最新版本)
14*4882a593SmuzhiyunRKWIFIBT_APP_V1.1.7z  #库及测试代码
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun#用法参考:
17*4882a593Smuzhiyun蓝牙:
18*4882a593Smuzhiyun/11-Linux平台/WIFIBT编程接口/Rockchip_Developer_Guide_DeviceIo_Bluetooth_CN.pdf
19*4882a593Smuzhiyun/11-Linux平台/WIFIBT编程接口/最新蓝牙接口说明.txt
20*4882a593SmuzhiyunWiFi:
21*4882a593Smuzhiyun/11-Linux平台/WIFIBT编程接口/最新WIFI接口说明.txt
22*4882a593Smuzhiyun
23*4882a593SmuzhiyunWiFi SOFTAP配网参考:
24*4882a593SmuzhiyunRockchip_Developer_Guide_Network_Config_CN.pdf --- 3.3 Softap 配网
25*4882a593Smuzhiyun示例程序:
26*4882a593SmuzhiyunRKWIFIBT_APP_V1.1\test\rk_wifi_test.c
27*4882a593SmuzhiyunRKWIFIBT_APP_V1.1\test\softap\softap.c
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun#RKWIFIBT_APP说明:
30*4882a593Smuzhiyuninclude/ #头文件
31*4882a593Smuzhiyunlib64/   #64接口库
32*4882a593Smuzhiyunlib32/   #32接口库
33*4882a593Smuzhiyuntest/    #API示例用法
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunMakefile 修改:CC 和 SYSROOT 改成你实际使用的!!! 主要是这个目录的差别:rockchip_rk3326_64
36*4882a593SmuzhiyunCC := /PATH/buildroot/output/rockchip_rk3326_64/host/bin/aarch64-buildroot-linux-gnu-gcc
37*4882a593SmuzhiyunSYSROOT := --sysroot=/PATH/buildroot/output/rockchip_rk3326_64/host/aarch64-buildroot-linux-gnu/sysroot
38*4882a593Smuzhiyun
39*4882a593Smuzhiyunmake会生成rkwifibt_test (具体可自行修改Makefile)
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun#运行
43*4882a593Smuzhiyunlibrkwifibt.so push到  usr/lib/
44*4882a593Smuzhiyunrkwifibt_test push 任意位置
45*4882a593Smuzhiyun
46*4882a593SmuzhiyunWiFi测试: rkwifibt_test wificonfig  #WiFi测试/及相关配网测试
47*4882a593Smuzhiyun蓝牙测试:rkwifibt_test bluetooth   #蓝牙相关API测试
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun
50*4882a593Smuzhiyun#蓝牙功能特别注意:
51*4882a593Smuzhiyun使用上述接口是请确保蓝牙功能正常,SDK集成一个蓝牙初始化bt_init.sh脚本,库启动时会依赖这个脚本去给蓝牙做初始化!
52*4882a593Smuzhiyun请确保配置正确的模组型号,参考文档/11-Linux平台/WIFIBT开发文档/Rockchip_Developer_Guide_Linux_WIFI_BT_CN.pdf的第2章节,问题排查参考第4.3章节
53*4882a593Smuzhiyun正常情况下,开机会有如下文件:
54*4882a593Smuzhiyun/usr/bin/bt_init.sh
55*4882a593Smuzhiyun#如果是Realtek WiFi:
56*4882a593Smuzhiyun#!/bin/sh
57*4882a593Smuzhiyun
58*4882a593Smuzhiyunkillall rtk_hciattach
59*4882a593Smuzhiyun
60*4882a593Smuzhiyunecho 0 > /sys/class/rfkill/rfkill0/state
61*4882a593Smuzhiyunsleep 2
62*4882a593Smuzhiyunecho 1 > /sys/class/rfkill/rfkill0/state
63*4882a593Smuzhiyunsleep 2
64*4882a593Smuzhiyun
65*4882a593Smuzhiyuninsmod /usr/lib/modules/hci_uart.ko
66*4882a593Smuzhiyunrtk_hciattach -n -s 115200 BT_TTY_DEV rtk_h5 &
67*4882a593Smuzhiyunhciconfig hci0 up
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun如果是正基/海华(CYPRESS):
70*4882a593Smuzhiyun#!/bin/sh
71*4882a593Smuzhiyun
72*4882a593Smuzhiyunkillall brcm_patchram_plus1
73*4882a593Smuzhiyun
74*4882a593Smuzhiyunecho 0 > /sys/class/rfkill/rfkill0/state
75*4882a593Smuzhiyunsleep 2
76*4882a593Smuzhiyunecho 1 > /sys/class/rfkill/rfkill0/state
77*4882a593Smuzhiyunsleep 2
78*4882a593Smuzhiyun
79*4882a593Smuzhiyunbrcm_patchram_plus1 --bd_addr_rand --enable_hci --no2bytes --use_baudrate_for_download  --tosleep  200000 --baudrate 1500000 --patchram  BTFIRMWARE_PATH BT_TTY_DEV &
80*4882a593Smuzhiyunhciconfig hci0 up