Hi,
I am working with the Jetson Orin Nano Developer Kit running JetPack/L4T R36.5.0.
I would like to port the Telit WE310K6-P Wi-Fi/BT module.
While Wi-Fi is working properly, the Bluetooth initialization fails.
Please see the error messages below regarding the Bluetooth initialization.
p@p-desktop:~$ sudo /usr/sbin/rtk_hciattach -n -s 115200 /dev/ttyTHS3 rtk_h5
Realtek Bluetooth :rtk_hciattach BUILD Jun 10 2026 15:39:29
Realtek Bluetooth :Realtek Bluetooth init uart with init speed:115200, type:HCI UART H5
Realtek Bluetooth :Realtek hciattach version 3.1.4b4662d.20240527-172150
Realtek Bluetooth :Use epoll
Realtek Bluetooth :[SYNC] Get SYNC Resp Pkt
Realtek Bluetooth :[CONFIG] Get SYNC pkt
Realtek Bluetooth :[CONFIG] Get CONFG pkt
Realtek Bluetooth :[CONFIG] Get CONFG resp pkt
Realtek Bluetooth :dic is 1, cfg field 0x14
Realtek Bluetooth :H5 init finished
Realtek Bluetooth :Realtek H5 IC
Realtek Bluetooth :Receive cmd complete event of command: fc61
Realtek Bluetooth :LMP Subversion 0xbeef
Realtek Bluetooth :Receive cmd complete event of command: 1001
Realtek Bluetooth :HCI Version 0x0b
Realtek Bluetooth :HCI Revision 0x000b
Realtek Bluetooth :LMP Subversion 0x8852
Realtek Bluetooth :Receive cmd complete event of command: fc6d
Realtek Bluetooth :Read ROM version 01
Realtek Bluetooth :LMP Subversion 0x8852
Realtek Bluetooth :EVersion 1
Realtek Bluetooth :Receive cmd complete event of command: fc61
Realtek Bluetooth :Read chip type 00
Realtek Bluetooth :Read chip ver 00
Realtek Bluetooth :IC: RTL8852BS, chip_type 0x00
Realtek Bluetooth :Firmware/config: rtl8852bs_fw, rtl8852bs_config
Realtek Bluetooth :Couldnt open extra config /opt/rtk_btconfig.txt, No such file or directory
Realtek Bluetooth :Couldnt open BT MAC file /opt/bdaddr, No such file or directory
Realtek Bluetooth :Origin cfg len 42
Realtek Bluetooth :55 ab 23 87 24 00 0c 00 10 02 80 92 04 50 c5 ea
Realtek Bluetooth :19 e1 1b fd af 5f 01 a4 0b 8d 00 01 fa 8f 00 01
Realtek Bluetooth :bf 42 00 02 01 5f d8 00 01 80
Realtek Bluetooth :Config baudrate: 04928002
Realtek Bluetooth :uart flow ctrl: 1
Realtek Bluetooth :Vendor baud from Config file: 04928002
Realtek Bluetooth :New cfg len 42
Realtek Bluetooth :55 ab 23 87 24 00 0c 00 10 02 80 92 04 50 c5 ea
Realtek Bluetooth :19 e1 1b fd af 5f 01 a4 0b 8d 00 01 fa 8f 00 01
Realtek Bluetooth :bf 42 00 02 01 5f d8 00 01 80
Realtek Bluetooth :Load FW /lib/firmware/rtlbt/rtl8852bs_fw OK, size 117069
Realtek Bluetooth :rtb_get_fw_project_id: opcode 0, len 1, data 20
Realtek Bluetooth :Receive cmd complete event of command: fc61
Realtek Bluetooth :rtb_get_final_patch: key id 0
Realtek Bluetooth :FW version 0x8f,d8,34,01,21,0f,02,00
Realtek Bluetooth :opcode 0x0001
Realtek Bluetooth :number 0x0002
Realtek Bluetooth :eco 0x01, Eversion:01
Realtek Bluetooth :Patch length 0x1015d
Realtek Bluetooth :eco 0x02, Eversion:01
Realtek Bluetooth :Pri:15, Patch length 0xc7ad
Realtek Bluetooth :opcode 0x0008
Realtek Bluetooth :Unknown Opcode. Ignore
Realtek Bluetooth :len = 0xc7ad
Realtek Bluetooth :len = 0xc7ad
Realtek Bluetooth :FW exists, Config file exists
Realtek Bluetooth :Total len 51159 for fwc
Realtek Bluetooth :baudrate in change speed command: 0x02 0x80 0x92 0x04
Realtek Bluetooth :Receive cmd complete event of command: fc17
Realtek Bluetooth :Received cc of vendor change baud
Realtek Bluetooth :Final speed 1500000
Realtek Bluetooth :end_idx: 203, lp_len: 3, additional pkts: 5
Realtek Bluetooth :Start downloading...
Realtek Bluetooth :Send additional packet 77
Realtek Bluetooth :Send additional packet 78
Realtek Bluetooth :Send additional packet 79
Realtek Bluetooth :Send additional packet 80
Realtek Bluetooth :Last packet 209
Realtek Bluetooth :Send last pkt
Realtek Bluetooth :Enable host hw flow control
Realtek Bluetooth :h5_hci_reset: Issue hci reset cmd
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth WARN: OP_HCI_RESET Transmission timeout
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth ERROR: Out-of-order packet arrived, got(6)expected(7)
Realtek Bluetooth WARN: OP_HCI_RESET Transmission timeout
Realtek Bluetooth ERROR: Retransmission exhausts
p@p-desktop:~$
It seems like there is an issue with the UART0 flow control.
Bluetooth initialization succeeds if I disable flow control within the Bluetooth firmware; however, the Bluetooth audio becomes choppy and keeps cutting in and out. Therefore, disabling flow control is not a viable option.
Below are the changes I made:
diff --git a/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-b442+p3767-0005-nv.dts b/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-b442+p3767-0005-nv.dts
index e23a4b8da..046d55725 100644
--- a/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-b442+p3767-0005-nv.dts
+++ b/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-b442+p3767-0005-nv.dts
@@ -3,6 +3,8 @@
/dts-v1/;
+#include <dt-bindings/pinctrl/pinctrl-tegra.h>
+#include <dt-bindings/sound/rt5640.h>
#include "tegra234-p3768-0000+p3767-0005.dts"
#include "tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi"
@@ -220,6 +222,42 @@
nvidia,enable-input = <TEGRA_PIN_ENABLE>;
nvidia,lpdr = <TEGRA_PIN_DISABLE>;
};
+ uart2_tx_px4 {
+ nvidia,pins = "uart2_tx_px4";
+ nvidia,function = "uartb";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+ nvidia,lpdr = <TEGRA_PIN_DISABLE>;
+ };
+
+ uart2_rx_px5 {
+ nvidia,pins = "uart2_rx_px5";
+ nvidia,function = "uartb";
+ nvidia,pull = <TEGRA_PIN_PULL_UP>;
+ nvidia,tristate = <TEGRA_PIN_ENABLE>;
+ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ nvidia,lpdr = <TEGRA_PIN_DISABLE>;
+ };
+
+ uart2_rts_px6 {
+ nvidia,pins = "uart2_rts_px6";
+ nvidia,function = "uartb";
+ nvidia,pull = <TEGRA_PIN_PULL_NONE>;
+ nvidia,tristate = <TEGRA_PIN_DISABLE>;
+ nvidia,enable-input = <TEGRA_PIN_DISABLE>;
+ nvidia,lpdr = <TEGRA_PIN_DISABLE>;
+ };
+
+ uart2_cts_px7 {
+ nvidia,pins = "uart2_cts_px7";
+ nvidia,function = "uartb";
+ nvidia,pull = <TEGRA_PIN_PULL_UP>;
+ nvidia,tristate = <TEGRA_PIN_ENABLE>;
+ nvidia,enable-input = <TEGRA_PIN_ENABLE>;
+ nvidia,lpdr = <TEGRA_PIN_DISABLE>;
+ };
+
hdr40-pin19 {
nvidia,pins = "spi1_mosi_pz5";
nvidia,function = "spi1";
@@ -257,6 +295,10 @@
};
};
+ serial@3110000 {
+ status = "okay";
+ };
+
};
sp330_device {
diff --git a/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi b/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi
index cb76d5711..f877b8a06 100644
--- a/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi
+++ b/sources/hardware/nvidia/t23x/nv-public/nv-platform/tegra234-p3768-0000+p3767-xxxx-nv-common.dtsi
@@ -13,6 +13,7 @@
aliases {
serial1 = &uarta;
serial2 = &uarte;
+ serial3 = "/bus@0/serial@3110000";
};
bpmp {
@@ -322,6 +323,11 @@
pcie@14100000 {
nvidia,pex-wake-gpios = <&gpio TEGRA234_MAIN_GPIO(L, 2) GPIO_ACTIVE_LOW>;
};
+
+ serial@3110000 {
+ compatible = "nvidia,tegra194-hsuart";
+ reset-names = "serial";
+ };
};
cpus {
pcp@pcp-yen-linux:/media/pcp/YEN_P1/work/nvidia/R36.5/jetson-linux-r36-5_B442$
Is there anything else I might have missed?
dts.txt (323.0 KB)
dmesg.txt (65.1 KB)
Thx
Yen