100ASK_T113-Pro开发板 蓝牙功能不可用(wifi正常)请问官方固件是否支持?不确定是否我的硬件问题?

一、使用的是开发板提供的固件 :tina_t113-100ask_uart3.img,(后我拉取tina SDK自己编译结果一样)
二、问题描述
1、使用 /etc/bluetooth/bt_init.sh 命令启动蓝牙,报错,信息如下:
hcidump_xr start
/etc/bluetooth/bt_init.sh: line 92: hcidump_xr: not found
[ 25.394676] sunxi-rfkill soc@3000000:rfkill@0: block state already is 1
[ 25.422408] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 25.438715] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 25.465891] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1
[ 25.474415] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device
[ 25.481746] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode
ln: /var/lib/bluetooth: No such file or directory
bluetoothd[256]: Bluetooth daemon 5.54
D-Bus setup failed: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
bluetoothd[256]: Unable to get on D-Bus

2、使用 /etc/bluetooth/bluetoothd start 启动蓝牙服务失败,报错如下:
root@TinaLinux:/# /etc/bluetooth/bluetoothd start
root@TinaLinux:/# ln: /var/lib/bluetooth: No such file or directory
bluetoothd[279]: Bluetooth daemon 5.54
D-Bus setup failed: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
bluetoothd[279]: Unable to get on D-Bus

3、使用 hciattach -n ttyS1 xradio & 初始化蓝牙,报错,通信超时,信息如下:
root@TinaLinux:/# hciattach -n ttyS1 xradio &
root@TinaLinux:/# xradio_init
set LPM mode:disabled[userial_sync] uart sync count: 1.
[userial_sync] read buf: 00 00.
[userial_sync] uart sync count: 2.
[userial_sync] read buf: 00 00.
[userial_sync] uart sync count: 3.
[userial_sync] read buf: 00 00.
[userial_sync] uart sync count: 4.
。。。。。。
[userial_sync] uart sync count: 128.
[userial_sync] read buf: 00 00.
Initialization timed out.

完整日志如下:
[ 6.430438] [SBUS] XRadio Device:sdio clk=50000000
[ 6.436342] [XRADIO] XRADIO_HW_REV 1.0 detected.
[ 6.518329] [XRADIO] xradio_update_dpllctrl: DPLL_CTRL Sync=0x01400000.
[ 6.554527] [XRADIO] Bootloader complete
[ 6.641863] [XRADIO] Firmware completed.
[ 6.647945] [WSM] Firmware Label:XR_C09.08.52.64_DBG_02.100 2GHZ HT40 Jan 3 2020 13:14:37
[ 6.657235] [XRADIO] Firmware Startup Done.
[ 6.662256] [XRADIO_WRN] enable Multi-Rx!
[ 6.667450] ieee80211 phy0: Selected rate control algorithm ‘minstrel_ht’
Successfully initialized wpa_supplicant
[ 6.890877] ieee80211_do_open: vif_type=2, p2p=0, ch=3, addr=dc:44:6d:8c:1c:6a
[ 6.899104] [STA] !!!xradio_vif_setup: id=0, type=2, p2p=0, addr=dc:44:6d:8c:1c:6a
[ 6.914557] [AP_WRN] BSS_CHANGED_ASSOC but driver is unjoined.
------run rc.final file-----
[ 7.136144] file system registered
numid=30,iface=MIXER,name=‘Headphone Switch’
; type=BOOLEAN,access=rw------,values=1
: values=on

BusyBox v1.27.2 () built-in shell (ash)

------run profile file-----


|_ ||| ___ _ [ 7.157180] configfs-gadget 4100000.udc-controller: failed to start g1: -19
| | |
| ___ _ _ _ _
| | _ | || | | |__ | || || | ||'|
| | | || | || _ | |___|||||||||,|
|| |||||||| Tina is Based on OpenWrt!

Tina Linux (Neptune, 61CC0487)

Mon Feb 6 00:00:00 GMT 2023
sh: write error: No such device
nodev debugfs
root@TinaLinux:/# [ 8.268144] sunxi_usb_udc 4100000.udc-controller: 4100000.udc-controller supply udc not found, using dummy regulator
[ 8.284027] read descriptors
[ 8.287274] read strings
[ 8.496147] android_work: sent uevent USB_STATE=CONNECTED
[ 8.527051] configfs-gadget gadget: high-speed config #1: c
[ 8.533389] android_work: sent uevent USB_STATE=CONFIGURED

root@TinaLinux:/#
root@TinaLinux:/# /etc/bluetooth/bt_init.sh
hcidump_xr start
/etc/bluetooth/bt_init.sh: line 92: hcidump_xr: not found
[ 25.394676] sunxi-rfkill soc@3000000:rfkill@0: block state already is 1
[ 25.422408] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 25.438715] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 25.465891] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1
[ 25.474415] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device
[ 25.481746] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode
ln: /var/lib/bluetooth: No such file or directory
bluetoothd[256]: Bluetooth daemon 5.54
D-Bus setup failed: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
bluetoothd[256]: Unable to get on D-Bus
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/#
root@TinaLinux:/# /etc/bluetooth/bluetoothd start
root@TinaLinux:/# ln: /var/lib/bluetooth: No such file or directory
bluetoothd[279]: Bluetooth daemon 5.54
D-Bus setup failed: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
bluetoothd[279]: Unable to get on D-Bus

root@TinaLinux:/#
root@TinaLinux:/# [ 194.504380] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 194.510680] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 194.537950] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 194.554213] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 194.581468] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1
[ 194.589993] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device
[ 194.597270] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode
[ 194.930762] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 194.937023] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 195.444324] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 195.460615] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 196.289136] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 196.295406] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 196.802677] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 196.818958] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 197.647461] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 197.653752] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 198.161021] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 198.177298] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 199.005819] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 199.012103] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 199.519359] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 199.535620] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 200.364128] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 200.370417] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 200.877658] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 200.893948] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 201.722481] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 201.728762] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 202.236015] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 202.252298] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 203.080814] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 203.087083] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 203.594349] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 203.610642] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 204.439151] sunxi-rfkill soc@3000000:rfkill@0: set block: 1
[ 204.445410] sunxi-rfkill soc@3000000:rfkill@0: bt power off success
[ 227.493586] sunxi-rfkill soc@3000000:rfkill@0: block state already is 1
[ 227.521356] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 227.537637] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 227.564797] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1
[ 227.573313] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device
[ 227.580737] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode

如果dbus服务没有启动,bluetoothd启动会失败报错

我也遇到了这个问题,bt_test会报错,不能打开蓝牙:
root@TinaLinux:/# bt_test
root@TinaLinux:/# 1675641609.590974: BTMG[bt_manager_set_enable_default:513]: enable default profile from bt config.
1675641609.591071: BTMG[bt_manager_enable:407]: bt manager version:Version:3.0.1.202110291544,builed time:Oct 29 2021-09:14:39
1675641609.591112: BTMG[bt_test_status_cb:82]: bt is turnning on.
hcidump_xr start
/etc/bluetooth/bt_init.sh: line 92: hcidump_xr: not found
[ 17.046705] sunxi-rfkill soc@3000000:rfkill@0: block state already is 1
[ 17.074667] sunxi-rfkill soc@3000000:rfkill@0: set block: 0
[ 17.090992] sunxi-rfkill soc@3000000:rfkill@0: bt power on success
[ 17.118207] [XR_BT_LPM] bluedroid_write_proc_btwake: bluedroid_write_proc_btwake 1
[ 17.126701] [XR_BT_LPM] bluedroid_write_proc_btwake: wakeup bt device
[ 17.134133] [XR_BT_LPM] bluedroid_write_proc_lpm: disable lpm mode
ln: /var/lib/bluetooth: No such file or directory
bluetoothd[263]: Bluetooth daemon 5.54
D-Bus setup failed: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
bluetoothd[263]: Unable to get on D-Bus
bluealsa: Couldn’t initialize controller thread: Bad file descriptor
1675641614.622947: BTMG[bt_profile_global_init:355]: start bluealsa :1 times
1675641614.624076: [a2dp_sink_thread_process:270]: BlueALSA connection failed: No such file or directory
1675641614.624357: [hfp_thread_process:662]: BlueALSA connection failed: No such file or directory
1675641614.710496: BTMG[bt_routine:68]: Couldn’t obtain D-Bus connection: Could not connect: No such file or directory
1675641615.125037: BTMG[bt_manager_enable:449]: init connection to bluez failed!
nothing to do.
1675641615.131698: BTMG[bt_test_status_cb:65]: BT is off

之后用 /etc/init.d/dbus start 手动启动dbus服务后,bt_test就可以正常运行了
root@TinaLinux:/usr/share#/etc/init.d/dbus start
starting dbus
root@TinaLinux:/usr/share# bt_test
root@TinaLinux:/usr/share# 1675653494.513377: BTMG[bt_manager_set_enable_default:513]: enable default profile from bt config.
1675653494.513462: BTMG[bt_manager_enable:407]: bt manager version:Version:3.0.1.202110291544,builed time:Oct 29 2021-09:14:39
1675653494.513501: BTMG[bt_test_status_cb:82]: bt is turnning on.
hcidump_xr start
Bluetooth init has been completed!!
/etc/bluetooth/bt_init.sh: line 92: hcidump_xr: not found
bluetoothd[325]: Bluetooth daemon 5.54
bluetoothd[325]: Starting SDP server
bluetoothd[325]: Failed to init battery plugin
bluetoothd[325]: kernel lacks bnep-protocol support
bluetoothd[325]: System does not support network plugin
bluetoothd[325]: Bluetooth management interface 1.14 initialized
bluetoothd[325]: Endpoint registered: sender=:1.1 path=/A2DP/SBC/Sink/1
1675653495.794736: BTMG[bt_profile_global_init:355]: start bluealsa :1 times
1675653496.345554: BTMG[bt_test_adapter_power_state_cb:47]: Turn on bt successfully
1675653496.797347: BTMG[bt_test_status_cb:67]: BT is ON

问题是dbus的启动脚本已经放到init.d目录下了,rc.d目录中也有相应的链接:
root@TinaLinux:/usr/share# ll /etc/rc.d
drwxr-xr-x 1 root root 352 Feb 6 00:03 .
drwxr-xr-x 1 root root 552 Jul 13 2024 …
lrwxrwxrwx 1 root root 14 Aug 1 2024 K80udev → …/init.d/udev
lrwxrwxrwx 1 root root 17 Aug 1 2024 K90network → …/init.d/network
lrwxrwxrwx 1 root root 24 Aug 1 2024 K98wpa_supplicant → …/init.d/wpa_supplicant
lrwxrwxrwx 1 root root 14 Aug 1 2024 K99adbd → …/init.d/adbd
lrwxrwxrwx 1 root root 14 Feb 6 01:01 K99dbus → …/init.d/dbus
lrwxrwxrwx 1 root root 17 Aug 1 2024 S20network → …/init.d/network
lrwxrwxrwx 1 root root 20 Aug 1 2024 S50fontconfig → …/init.d/fontconfig
lrwxrwxrwx 1 root root 14 Aug 1 2024 S80adbd → …/init.d/adbd
lrwxrwxrwx 1 root root 14 Aug 1 2024 S80udev → …/init.d/udev
lrwxrwxrwx 1 root root 16 Feb 6 00:03 S91dbus → /etc/init.d/dbus
lrwxrwxrwx 1 root root 24 Aug 1 2024 S96wpa_supplicant → …/init.d/wpa_supplicant
lrwxrwxrwx 1 root root 17 Aug 1 2024 S98sysntpd → …/init.d/sysntpd
lrwxrwxrwx 1 root root 29 Aug 1 2024 S99swupdate_autorun → …/init.d/S99swupdate_autorun
root@TinaLinux:/usr/share# ls /etc/init.d
S00mpp S99swupdate_autorun rc.modules
S01logging adbd rc.preboot
S10udev dbus rcK
S11dev fontconfig rcS
S20urandom load_script.conf sysntpd
S40network network udev
S41netparam ntpd wpa_supplicant
S50telnet rc.final

为什么dbus服务不能自动启动呢?

需要先执行 /etc/init.d/dbus start