Can't receive file via Bluetooth on Jetson AGX Orin with JetPack 6

Board : Jetson AGX Orin custom board
Wifi/BT Moudle : RTK 8852BE, Intel AX210
BSP : JetPack 6

Hi,

In JetPack 5, it can send and receive file via Bluetooth with the same board and wireless module. But JetPack 6 has some issues in Bluetooth. Orin can send file to another devices, but cannot receive file from another devices. I found that the Bluetooth controller has no OBEX UUID in bluetoothctl.
JetPack 5 :
image

JetPack 6 :
image

If I want to send file with my ubuntu laptop, it will appear Object Push error in bluetooth.service.

Are there any issue about Bluetooth in JetPack 6 ?
Please let us know if it’s not supported.

Thanks & Regards,

Derek Lin

Hi,
The possible cause is additional driver or config is required. You may check the posts and give it a try:
Jetpack 6.0 on orin nano no longer recognises my m2 key e wifi card - #4 by kayccc
Jetpack 6 WiFi does not work with Intel AC 9260

Hi DaneLLL,

Thanks for your reply, but my problem is Bluetooth not Wi-Fi.
Have you tried another module to send and receive file via Bluetooth?

Thanks & Regards,

Derek Lin

Hi,
The function is validated with default RTL8822CE module. So it looks like it is specific to the module you are using.

Hi DaneLLL,

According to distributor of Real Tech reply, they have tested other modules and found that can’t receive file via Bluetooth.
Are there any changes to Bluetooth in the new kernel version?

Thanks & Regards,

Derek Lin

Hi,
So you use AGX Orin developer kit + RTL8822CE module and it works well? Would like to make sure if you have tried the default setup and don’t hit the issue.

Hi DaneLLL,

We have no RTL8852CE, so we cannot test this module.

Have you tested Intel AX200?

Thanks & Regards,

Derek Lin

Hi,
We don’t have Intel AX210 and AX200. It looks like it may require to enable additional kernel config or kernel driver. This would need other users to share experience.

By default RTL8822CE module is with AGX Orin developer kit, so you should have it if you have the developer kit. Please check with your team and see if you can have the module for testing and as a reference module.

Hi DaneLLL,

About my previous reply, the Intel module is AX200 not AX210.
Intel AX200 have the same problem with RTL8852BE.

Thanks & Regards,
Derek Lin

Hi DaneLLL,

I have tested the default RTL8822CE with AGX Orin developer kit, it has the same problem with RTL8852BE’s Bluetooth issue. It can send file to other devices, but cannot receive file from another device. Please check it again.

Below are some informations about RTL8822CE module.

AGX Orin developer kit

$ lspci -v

$ lsusb -t
image

$ hciconfig -a
image

Bluetooth Controller Information :
There are no OBEX File Transfer and OBEX Object Push UUID.

Thanks & Regards,
Derek Lin

Hi,
Please apply the setup and try again:

Enabling Bluetooth Audio — NVIDIA Jetson Linux Developer Guide 1 documentation

Hi DaneLLL,

In early reply, I have applied the setup. This setup is only used to improve pairing and connection.

Thanks & Regards,

Derek Lin

Hi DaneLLL,

Have you encountered the same problem with AGX Orin Developer Kit and default module RTL8822CE?

Regards,

Derek Lin

Hi,
We can observe the issue on AGX Orin developer kit with Jetpack 6.0GA. It looks to be an issue in Ubuntu 22.04. Can send file to the other device but cannot receive file. Seems like the request is rejected by the system. The function works fine on 5.1.3 which is Ubuntu 20.04.

We think the kernel driver is good and the issue is in Ubuntu 22.04.

Hi DaneLLL,

Thanks for your reply. And I have few questions below.

  1. The Jetpack 5.1.3 should be Ubuntu 20.04 not 22.04, right?
  2. Have you tested another device in Ubuntu 22.04?
  3. Is it possible that this problem will be corrected in later versions?

Please let me know if there is any progress.

Thanks & Regards,

Derek Lin

Hi,
You are right there was a typo. Jetpack 5.1.3 is with Ubuntu 20.04. I have corrected it.

We are checking it and also if you have further idea, please share it. The sample rootfs is Ubuntu 22.04.4. Please let us know if later version fixes it.

Hi DaneLLL,

The Bluetooth USB dongle can work on x86 in ubuntu 22.04, but cannot work on Jetson AGX Orin in JP5.1.3 and JP6. It can identify Bluetooth device in hciconfig, but I can not up the hci device. Is it not supported on Jetson AGX Orin?

Regards,

Derek Lin

Hi,
Please enable the configs to rebuild kernel and try again:

diff --git a/arch/arm64/configs/defconfig b/arch/arm64/configs/defconfig
index 57e2a364e309..ab90bc0b940a 100644
--- a/arch/arm64/configs/defconfig
+++ b/arch/arm64/configs/defconfig
@@ -213,7 +213,12 @@ CONFIG_CAN_VCAN=m
 CONFIG_CAN_FLEXCAN=m
 CONFIG_CAN_RCAR=m
 CONFIG_CAN_RCAR_CANFD=m
-CONFIG_BT=m
+CONFIG_BT=y
+CONFIG_BT_RFCOMM=y
+CONFIG_BT_RFCOMM_TTY=y
+CONFIG_BT_BNEP=m
+CONFIG_BT_BNEP_MC_FILTER=y
+CONFIG_BT_BNEP_PROTO_FILTER=y
 CONFIG_BT_HIDP=m
 # CONFIG_BT_LE is not set
 CONFIG_BT_LEDS=y
@@ -226,7 +231,7 @@ CONFIG_BT_HCIUART_QCA=y
 CONFIG_CFG80211=m
 CONFIG_MAC80211=m
 CONFIG_MAC80211_LEDS=y
-CONFIG_RFKILL=m
+CONFIG_RFKILL=y
 CONFIG_NET_9P=y
 CONFIG_NET_9P_VIRTIO=y
 CONFIG_NFC=m
@@ -1148,6 +1153,7 @@ CONFIG_EXTCON_USB_GPIO=y
 CONFIG_EXTCON_USBC_CROS_EC=y
 CONFIG_RENESAS_RPCIF=m
 CONFIG_IIO=y
+CONFIG_BMI088_ACCEL=m
 CONFIG_EXYNOS_ADC=y
 CONFIG_MAX9611=m
 CONFIG_QCOM_SPMI_VADC=m
@@ -1155,6 +1161,7 @@ CONFIG_QCOM_SPMI_ADC5=m
 CONFIG_ROCKCHIP_SARADC=m
 CONFIG_IIO_CROS_EC_SENSORS_CORE=m
 CONFIG_IIO_CROS_EC_SENSORS=m
+CONFIG_BMG160=m
 CONFIG_IIO_ST_LSM6DSX=m
 CONFIG_IIO_CROS_EC_LIGHT_PROX=m
 CONFIG_SENSORS_ISL29018=m
@@ -1324,7 +1331,6 @@ CONFIG_DEBUG_KERNEL=y
 CONFIG_PANIC_ON_OOPS=y
 # CONFIG_SCHED_DEBUG is not set
 CONFIG_SCHEDSTATS=y
-# CONFIG_DEBUG_PREEMPT is not set
 CONFIG_FUNCTION_TRACER=y
 # CONFIG_FUNCTION_GRAPH_TRACER is not set
 # CONFIG_DYNAMIC_FTRACE is not set

Hi DaneLLL,
I am Derek’s coworker,
We followed your instructions to modify the defconfig on AGX Orin developer kit and re-flashed the system, but we found that many drivers could not be successfully loaded. Below is the dmesg output regarding the errors.

[    4.428717] mmcblk0: mmc0:0001 G1M15M 59.3 GiB 
[    4.433431]  mmcblk0: p1 p2 p3 p4 p5 p6 p7 p8 p9 p10 p11 p12 p13 p14 p15
[    4.433907] mmcblk0boot0: mmc0:0001 G1M15M 31.5 MiB 
[    4.434389] mmcblk0boot1: mmc0:0001 G1M15M 31.5 MiB 
[    4.434827] mmcblk0rpmb: mmc0:0001 G1M15M 4.00 MiB, chardev (511:0)
[    7.351291] pcie_tegra194: disagrees about version of symbol module_layout
[    7.364625] phy_tegra194_p2u: disagrees about version of symbol module_layout
[    7.379563] nvme_core: disagrees about version of symbol module_layout
[    7.393641] typec: disagrees about version of symbol module_layout
[    7.407776] typec: disagrees about version of symbol module_layout
[    7.421330] typec: disagrees about version of symbol module_layout
[    7.435569] tegra_xudc: disagrees about version of symbol module_layout
[    7.448900] tegra_bpmp_thermal: disagrees about version of symbol module_layout
[    7.463016] pwm_tegra: disagrees about version of symbol module_layout
[    7.476498] pwm_fan: disagrees about version of symbol module_layout
[    8.372856] EXT4-fs (mmcblk0p1): recovery complete
[    8.373723] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null). Quota mode: none.
[    8.397047] Rootfs mounted over PARTUUID=4c89453a-c6ad-4686-bd41-e987a50cbbfe
[    8.405673] Switching from initrd to actual rootfs
[    8.489570] systemd[1]: System time before build time, advancing clock.
--
[   15.426967] pci_bus 0005:01: busn_res: [bus 01-ff] is released
[   15.429095] pci 0005:00:00.0: Removing from iommu group 55
[   15.429167] pci_bus 0005:00: busn_res: [bus 00-ff] is released
[   15.436768] irq: IRQ289: trimming hierarchy from :bus@0:pmc@c360000
[   15.477109] tegra-xusb 3610000.usb: Adding to iommu group 56
[   15.479039] nvidia_modeset: disagrees about version of symbol module_layout
[   15.504190] tegra-xusb 3610000.usb: Firmware timestamp: 2023-02-10 03:48:10 UTC
[   15.504240] tegra-xusb 3610000.usb: xHCI Host Controller
[   15.504329] tegra-xusb 3610000.usb: new USB bus registered, assigned bus number 1
[   15.505273] tegra-xusb 3610000.usb: hcc params 0x0180ff05 hci version 0x120 quirks 0x0000000000010810
[   15.505436] tegra-xusb 3610000.usb: irq 127, io mem 0x03610000
--
[   18.914636] l4tbr0: port 2(usb1) entered blocking state
[   18.914649] l4tbr0: port 2(usb1) entered forwarding state
[   18.914707] l4tbr0: port 1(usb0) entered blocking state
[   18.914710] l4tbr0: port 1(usb0) entered forwarding state
[   18.914896] IPv6: ADDRCONF(NETDEV_CHANGE): l4tbr0: link becomes ready
[   26.485523] nvidia_modeset: disagrees about version of symbol module_layout
[   26.677811] nvidia_modeset: disagrees about version of symbol module_layout
[   26.857137] nvidia_modeset: disagrees about version of symbol module_layout
[   27.043704] nvidia_modeset: disagrees about version of symbol module_layout
[   27.202755] nvidia_modeset: disagrees about version of symbol module_layout
[ 1646.824160] VIN_SYS_5V0: Underflow of regulator enable count
[ 1646.824467] tegra-xudc 3550000.usb: ep 3 disabled
[ 1646.824490] tegra-xudc 3550000.usb: ep 2 disabled
[ 1646.824505] tegra-xudc 3550000.usb: ep 5 disabled
[ 1646.824521] tegra-xudc 3550000.usb: ep 4 disabled

Regards,

Weixin Chen

Hi,
It seems like the kernel is partially updated. Do you rebuild NVIDIA oot modules?