Interfacing BT module

Hi there ,

I am trying to bring up a BT (HCI interface) module using hciconfig but it fails with error no.99 .

Note : ttyUSB here is a cp210x (USB-UART bridge) connected via HSIC

Below are the logs

root@swi-mdm9x28-wp:~# hciattach -s 115200 /dev/ttyUSB2 any 115200 noflow nosleep
Device setup complete

root@swi-mdm9x28-wp:~# hciconfig -a
hci0: Type: Primary Bus: UART
** BD Address: 00:00:00:00:00:00 ACL MTU: 27:7 SCO MTU: 0:0**
** DOWN **
** RX bytes:205 acl:0 sco:0 events:14 errors:0**
** TX bytes:80 acl:0 sco:0 commands:14 errors:0**
** Features: 0x00 0x00 0x00 0x00 0x60 0x00 0x00 0x00**
** Packet type: DM1 DH1 HV1 **
** Link policy: **
** Link mode: MASTER**

root@swi-mdm9x28-wp:~# hciconfig hci0 up
Can’t init device hci0: Cannot assign requested address (99)
root@swi-mdm9x28-wp:~# hciconfig hci0 up
Can’t init device hci0: Cannot assign requested address (99)
root@swi-mdm9x28-wp:~# hciconfig hci0 up
Can’t init device hci0: Cannot assign requested address (99)
root@swi-mdm9x28-wp:~# hciconfig hci0 up
Can’t init device hci0: Cannot assign requested address (99)
root@swi-mdm9x28-wp:~# hciconfig hci0 up
Can’t init device hci0: Cannot assign requested address (99)

root@swi-mdm9x28-wp:~# dmesg
[ 279.364430] Bluetooth: cb613de8
[ 279.364460] Bluetooth: cb613de0Bluetooth: cb613de0
[ 279.364489] Bluetooth: cb613de0Bluetooth: cb613de0
[ 279.364509] Bluetooth: cb613de0

root@swi-mdm9x28-wp:~# lsmod
Not tainted
hci_uart 40947 1 - Live 0xbf099000
cp210x 14719 1 - Live 0xbf090000
usbserial 32675 3 cp210x, Live 0xbf082000
bnep 13580 2 - Live 0xbf07a000
bluetooth 387916 7 hci_uart,bnep, Live 0xbf000000
root@swi-mdm9x28-wp:~#

root@swi-mdm9x28-wp:/usr/libexec# ./bluetooth/bluetoothd -v
5.50
root@swi-mdm9x28-wp:~# bluetoothctl --v
bluetoothctl: 5.50

root@swi-mdm9x28-wp:~# uname -r
3.18.140
root@swi-mdm9x28-wp:~# cm info
Device: WP7608
IMEI: 352913090221431
IMEISV: E
FSN: XG910670081610
Firmware Version: SWI9X07Y_02.37.03.00 73df45 jenkins 2020/04/08 10:59:14
Bootloader Version: SWI9X07Y_02.37.03.00 73df45 jenkins 2020/04/08 10:59:14
MCU Version: 002.015
PRI Part Number (PN): 9908665
PRI Revision: 001.001
Carrier PRI Name: GENERIC
Carrier PRI Revision: 002.095_000
SKU: 1104194
Last Reset Cause: Reset, User Requested
Resets Count: Expected: 93 Unexpected: 0

Same BT module works fine with a raspberry pi B and the Laptop .

Did someone face this kind of error ? Any other configs need to be enabled on the kernel ?

you can see this document on what has been enabled in kernel for testing bluetooth WL18xx IOT card

Hi @jyijyi

I Have enabled all the configs mentioned in the doc . Still no luck

Did you try any other BT modules ? other than QC and Ti ? I am Trying to understand the difference

no, i only tried WL18xx IOT card before.
Did you follow the bluetoothUtil.rar\bluetoothUtil\scriptbt-init.sh?

Can you share me the file https://github.com/mangOH/Demos/tree/master/BluetoothUtil this link doesn’t seems to be working .

it is inside the document

Yes thanks got it . I am following the same initialisation sequence mentioned in the script . By any chance you can try with a BT module (like Nordic) ? Did any of sierra’s customers use BT modules other than Ti & QC ? I have a very limited support from BT module vendor as things are working on RPi and laptop .

you can see the bluetooth implementation on mangoh yellow (using WM-BN-CYW-48):

Hi @jyijyi ,

It seems that Kernel 3.18.140 is too old to support controllers without a public
address . As the BT module I am using has no public address embedded in the hardware memory . It fails to assign a random address which results in
Can’t init device hci0: Cannot assign requested address (99)

Source : devel@lists.zephyrproject.org | hciconfig tools error with nrf52832 running zephyr

Let me know if you have any points on this ? else we can close the topic .

One can request the vendor to add a public address in the BT module firmware in order to resolve the issue .

1 Like

No, i don’t have other point to add