BLE support for SOC device ipq40x

Hi Team,

I'm trying to enable BLE and connect BLE tag to AP (Qualcom-ipq40x/80x series).I do NOT have bluetooth USB connected but BLE should be there SOC on these APs based on the Specs.

I tried enabling the relevant kmods and bluez utilities and I see that I could not do hci scan or anything despite all the modules are loaded.

root@OpenWrt:/sys/kernel/debug/bluetooth# ls
6lowpan_control       l2cap_le_default_mps  rfcomm_dlc
6lowpan_enable        l2cap_le_max_credits  sco
l2cap                 rfcomm
root@OpenWrt:/sys/kernel/debug/bluetooth#

root@OpenWrt:/sys/kernel/debug/bluetooth# lsmod | grep blu
6lowpan                24576  1 bluetooth_6lowpan
bluetooth             274432 15 rfcomm,hidp,hci_uart,btusb,btintel,bnep,bluetooth_6lowpan
bluetooth_6lowpan      20480  0
ecdh_generic           28672  1 bluetooth
kpp                    16384  2 bluetooth,ecdh_generic
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth# uname -a
Linux OpenWrt 4.14.125 #0 SMP Mon Jun 17 13:29:58 2019 armv7l GNU/Linux
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth# echo 1 > /sys/kernel/debug/bluetooth/6
lowpan_enable
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth# hciconfig hci0 reset
Can't get device info: No such device
root@OpenWrt:/sys/kernel/debug/bluetooth# hciconfig hci0 reset
Can't get device info: No such device
root@OpenWrt:/sys/kernel/debug/bluetooth# hciconfig
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth#
root@OpenWrt:/sys/kernel/debug/bluetooth# hcitool lescan
Could not open device: No such device

Does these modules are only supported for USB bluetooth? If yes what should be done for SOC BLE APs.

All I need to see is GAP/GATT transfers between BLE tag and my AP

You likely need to:

  • Determine which driver you have access to that supports that function (if any, without QSDK license)
  • Add the hardware definition and driver association to the DTS
  • Add the driver to the build

SoCs, in contrast to x86 boards, generally don't have "self-discovery" for hardware.

Edit: And hope that there's an antenna brought out from whatever pin under the SoC is used for in-built Bluetooth.

Also, qualcomm has a long track record of claiming features as part of their SoCs that are actually part of "highly recommended but not required" companion silicon.

Such as always marketing variations of Qualcomm Quick Charge as being an SoC feature when they aren't in their mobile devices, leading to people assuming that just because a device has a particular SoC it has functional QC x.0 present - even when it's not.

2 Likes

The EA8300, for example, has a Bluetooth chip on the board, even though it uses an IPQ4019.