I seem to be having a very similar issue to what is described here - PS4 gamepad will connect then disconnect consistently when running JP 4.5.1 on a Nano 4GB - Where every BT device that I connect to disconnects after 2 seconds, but I’m on the latest L4T. I’ve tried with 3 different USB BT adapters (Panda PBU40, Edimax BT-8500, and Kinivo BTD-400) with the same results. Plugging the adapters into the USB 3.0 port behaves the same as the USB 2.0 ports. I’ve tried pairing to my Pixel XL, Macbook, BT earbuds, and they all behave the same. Any ideas on what’s going on? Let me know what other debug / info I can get. Thanks!
$ uname -a
Linux developer-desktop 4.9.253-tegra #1 SMP PREEMPT Sat Oct 9 07:43:58 UTC 2021 aarch64 aarch64 aarch64 GNU/Linux
I initiated the original issue that you referenced in your post above.
I have JP 4.6 running on my Nano 4GB and both my PS4 and PS5 gamepads pair/connect without issue now.
Are you running JP 4.6 on your Nano 2GB?
Hi Carol, unfortunately I can’t use the ac8265 module on the 2GB Dev Kit as it doesn’t have the M.2 slot. I only can use USB WiFi/BT modules. Do you have any recommended BT USB modules I could try? I have a forth (Asus BT400) arriving Sunday that I can test with, but I haven’t come across any proven working USB BT modules noted for the Jetson platform.
Quick update - Fedora 34 on a VM seems to work with all three of the USB BT adapters I’ve tried. Will post further updates when the Asus adapter arrives.
Same behavior on 4.5.1 (before and after apt upgrade) with all four USB BT adapters I have (now also including the Asus BT400).
However, I did manage to connect to a bluetooth pulse oximeter without it disconnecting, so that’s promising. I don’t have any bluetooth mice/keyboards to test, but none of the devices that I actually need are working (Macbook + Pixel for serial comms). Here’s a log from my Macbook during the connect/disconnect - default 15:33:47.358330-0400 bluetoothd ***** Temporarily stopping all scans *** - Pastebin.com
Thanks a million, dustinkerstein! I had been experiencing the same issue (plugins/policy.c:disconnect_cb() reason 2… src/device.c:device_bonding_failed() status 14) after my last upgrade, only with an a2dp audio device. I had spent countless hours trying to figure out what had caused this regression. The video you linked to finally gave me the clue I needed! I managed to isolate the specific problem, so here it is for the record:
The configuration file which changed and caused this is /lib/systemd/system/bluetooth.service.d/nv-bluetooth-service.conf, owned by nvidia-l4t-firmware. Apparently the maintainer of this package decided that probably nobody would want to use high-fidelity bluetooth audio or an A/V remote control, so they added the argument --noplugin=audio,a2dp,avrcp to the end of the bluetoothd daemon command. 🙄
I don’t personally need avrcp, so I left that, but removing audio,a2dp from the blacklist, then running sudo systemctl daemon-reload; sudo systemctl restart bluetooth did the trick for me! I have never used a bluetooth gamepad before, but I suspect the avrcp plugin may have been the one you needed for that, as it is described by wikipedia as “provid[ing] a standard interface to control TVs, Hi-fi equipment, etc.” This page on the DualShock 4 controller mentions both a2dp and avrcp, though I don’t really understand the details of the context, so you may need both for that device.
Glad I could help. FYI, that suggestion is also in the Nvidia docs - https://developer.nvidia.com/embedded/learn/tutorials/connecting-bluetooth-audio - The thing that got it working for me was actually advertising a service that my other device was interested in. Though I still don’t know if my BT headphones would connect. I have since returned all the BT USD adapters and picked up a Adafruit Bluefruit LE Friend USB which provide a pure serial interface and solves my use-case (UART/Serial comms) perfectly.