嵌入式linux 调试 移远的wifi&蓝牙模块

发布时间 2023-10-31 20:05:07作者: LuckyBear0

蓝牙功能调试

1 内核配置

 

 

2 文件系统配置 (buildroot)

支持:pulseaudio-bluetooth 库 解决connect失败问题

 

 

启动bluetoothd 服务

/usr/libexec/bluetooth/bluetoothd -d -C -n &

 

启动Pulseaudio 服务

pulseaudio --system -vvvvvvvvvv (调试使用,可以看到运行的信息)

后台执行:

pulseaudio -D --exit-idle-time=-1 --start --log-target=file:/tmp/pulse.log

 

 

 main.c: Failed to find user 'pulse'.

执行一下命令:

mkdir home

adduser --system pulse

addgroup --system pulse-access

chown -R pulse:pulse /etc/pulse/

/etc/passwd 文件的每一行都代表一个用户账号,其格式如下:

username:password:uid:gid:comment:home_dir:shell

 

 

修改后有如下报错:

I: [pulseaudio] main.c: Found user 'pulse' (UID 100) and group 'pulse' (GID 1003).

E: [pulseaudio] main.c: GID of user 'pulse' and of group 'pulse' don't match.

参照dbus 修改 etc/passwd he etc/group 两个文件

 

问题2:

main.c: Failed to acquire org.pulseaudio.Server: org.freedesktop.DBus.Error.AccessDenied: Connection ":1.9" is not allowed to own the service "org.pulseaudio.Server" due to security policies in the configuration file

解决办法:

/etc/dbus-1/system.d/pulseaudio-system.conf ( 此 文 件 来 之 于 <pulseaudio-x.y>/src/daemon/

pulseaudio-system.conf)中添加如下内容。如果以普通用户运行 pulseaudio,在这个文件中为

普通用户添加一个 policy,内容和 root 用户类似。

具体修改可以参考如下连接:

bluez5.50+pulseaudio实现蓝牙音响音频播放-阿里云开发者社区 (aliyun.com)

问题记录:

 

root@starcharge:/ubi/local# ./hciconfig  hci0 up

 

Can't open HCI socket.: Address family not supported by protocol

 

报错原因是内核没有配置蓝牙

 

Bluetoothd服务端的错误打印

a2dp-source profile connect failed for 6C:70:9F:7E:EF:A8: Protocol not available

原因:

 a2dp 全名Advanced Audio Distribution Profile,大概因为手机默认会使用这种音频传输,

解决方法 安装音频包  pulseaudio-bluetooth 。