最近在openwrt上调试蓝牙时,出现问题,设备上的蓝牙适配器已经正常工作了,执行pair命令后,openwrt和待连接的设备上都出现了配对码,两边都同意,但连接失败
尝试分析log,发现在如下代码处打印了错误,这个错误是一个通用的错误码,走到default分支了,往上看代码也找不到具体的原因。
随后,就想看下bluez的log,可惜一点都没有打印出来,然后修改了源代码,开启了log打印,重新安装了如下3个ipk,发现依旧没有打印,看代码,bluez的打印是通过如下函数完成。
这就是标准的linux syslog,openwrt默认是不打印的
找了一遍教程,openwrt上开启syslog的步骤如下:
1. menuconfig中选择如下:
必须选中【Customize busybox options】
随后的【System Logging Utilities】菜单中,选择如下:
2. 保存配置,重新编译openwrt,烧版本
这个就不多说了
3. 配置system
如果没有luci界面,可以用如下uci命令配置:
uci set system.@system[0].log_file='/tmp/sys.log'
uci set system.@system[0].conloglevel='8'
uci set system.@system[0].cronloglevel='5'
uci commit system
reboot
至此,教程结束,后续log就可以在/tmp/sys.log中查看了