This is a cache of https://discuss.96boards.org/t/bluetooth-issues-hikey-970/7589. It is a snapshot of the page at 2024-11-01T13:07:08.221+0000.
BlueTooth Issues Hikey 970 - HiKey970 - 96Boards Forum

BlueTooth Issues Hikey 970

The Bluetooth is not working on the Hikey 970.
I remember reading somewhere there was a problem with the dtsi or something.
I’m wondering if this ever got fixed or ever will be fixed.

You see the errors during boot up.
And if you try to init bt after boot up you get the same. ->> hciconfig hci0 up

root@hikey970:~# hciconfig hci0 up
[ 554.470047] (stk) :ldisc installation timeout
[ 555.494065] (stk) : timed out waiting for ldisc to be un-installed
[ 556.614305] (stk) :ldisc installation timeout
[ 557.638061] (stk) : timed out waiting for ldisc to be un-installed
[ 558.758064] (stk) :ldisc installation timeout
[ 559.782071] (stk) : timed out waiting for ldisc to be un-installed
[ 560.902071] (stk) :ldisc installation timeout
[ 561.926061] (stk) : timed out waiting for ldisc to be un-installed
[ 563.046064] (stk) :ldisc installation timeout
[ 564.070305] (stk) : timed out waiting for ldisc to be un-installed
[ 565.190304] (stk) :ldisc installation timeout
[ 566.214374] (stk) : timed out waiting for ldisc to be un-installed
[ 566.222704] Bluetooth: st_register failed -22
Can’t init device hci0: Input/output error (5)

I have noticed this causes Light Display Manager to fail Startup as well due to the errors interfering with the boot up.

This is what i find in the kirib970-hikey970.dts.
The reason that Bluetooth is not working.
Is there a fix for this??

/* bluetooth - TI WL1837 */
kim {
	compatible = "kim";
	/*
	 * FIXME: The following is complete CRAP since
	 * the vendor driver doesn't follow the gpio
	 * binding. Passing in a magic Linux gpio number
	 * here until we fix the vendor driver.
	 */
	/* BT_EN: GPIO_054_BT_EN */
	nshutdown_gpio = <462>;
	dev_name = "/dev/ttyAMA4";
	flow_cntrl = <1>;
	baud_rate = <115200>;
	/* baud_rate = <3000000>; */
	/* baud_rate = <230400>; ok */
	/* baud_rate = <921600>; ok */
	/* baud_rate = <1500000>; nok */
};

Yes BigCountry907 the solution is in this file
the comment said that the chip support bitrat 3000000 230400 and 921600 but NOT 115200 !
Me i try with 921600 rebuit the linux kernel and dtb
And now the bluetooth work properly for my audio devices.

BR

I had changed the kirin970-hikey970.dtb to use baud_rate 921600 - but it did not work :frowning:

References:

The kernel that from the LeMaker ubuntu 16.04 image:

hciconfig still fail after the above change:

hciconfig

hci0: Type: Primary Bus: UART
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:0 acl:0 sco:0 commands:0 errors:0

root@kirin970-006:~# hciconfig hci0 up
[ 8333.105740] (stk) :ldisc installation timeout
[ 8334.129998] (stk) : timed out waiting for ldisc to be un-installed
[ 8335.249820] (stk) :ldisc installation timeout
[ 8336.274135] (stk) : timed out waiting for ldisc to be un-installed
[ 8337.393756] (stk) :ldisc installation timeout
[ 8338.417732] (stk) : timed out waiting for ldisc to be un-installed
[ 8339.537999] (stk) :ldisc installation timeout
[ 8340.562087] (stk) : timed out waiting for ldisc to be un-installed
[ 8341.681790] (stk) :ldisc installation timeout
[ 8342.706028] (stk) : timed out waiting for ldisc to be un-installed
[ 8343.826016] (stk) :ldisc installation timeout
[ 8344.850182] (stk) : timed out waiting for ldisc to be un-installed
[ 8344.858511] Bluetooth: st_register failed -22
Can’t init device hci0: Input/output error (5)

Where is the file “kirin970-hikey970.dtb” located? I did a “find” and couldn’t find that file.
Thanks.

This file is generated by the “make” process - look-up the Linux kernel build instructions for details.