This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Linux/WL1837MOD: HCI initialization failure

Part Number: WL1837MOD

Tool/software: Linux

Hello

On my linux embedded platform, I'm trying to integrate bluez 5.x in order to get BLE support. I'm using linux-3.10.102.

When I try to initialize hci, at some point I get an error (DEVICE BUSY) and initialization fails...

This is the log obtained from hci_core.c in net/bluetooth.

hci_register_dev: c1068000 name hci0 bus 3
hci_power_on: hci0
hci_dev_get: 0
hci_dev_open: hci0 c1068000
__hci_req_sync: hci0 start
hci_init1_req: hci0 0
hci_reset_req: hci0 0
hci_req_add_ev: hci0 opcode 0x0c03 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x1003 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x1001 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x1009 plen 0
hci_prepare_cmd: skb len 3
hci_req_run: length 4
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 4
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c03 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c03
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 3
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x1003 status 0x00
hci_sent_cmd_data: hci0 opcode 0x1003
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 2
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x1001 status 0x00
hci_sent_cmd_data: hci0 opcode 0x1001
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 1
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x1009 status 0x00
hci_sent_cmd_data: hci0 opcode 0x1009
hci_req_sync_complete: hci0 result 0x00
__hci_req_sync: hci0 end: err 0
__hci_req_sync: hci0 start
hci_req_add_ev: hci0 opcode 0x1005 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c23 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c14 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c25 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c05 plen 1
hci_prepare_cmd: skb len 4
hci_req_add_ev: hci0 opcode 0x0c16 plen 2
hci_prepare_cmd: skb len 5
hci_req_add_ev: hci0 opcode 0x0c1b plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c46 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x2002 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x2003 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x2007 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x200f plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x201c plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c01 plen 8
hci_prepare_cmd: skb len 11
hci_req_add_ev: hci0 opcode 0x2001 plen 8
hci_prepare_cmd: skb len 11
hci_req_add_ev: hci0 opcode 0x1002 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x0c52 plen 241
hci_prepare_cmd: skb len 244
hci_req_add_ev: hci0 opcode 0x0c45 plen 1
hci_prepare_cmd: skb len 4
hci_req_add_ev: hci0 opcode 0x0c58 plen 0
hci_prepare_cmd: skb len 3
hci_req_add_ev: hci0 opcode 0x1004 plen 1
hci_prepare_cmd: skb len 4
hci_req_run: length 20
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 20
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x1005 status 0x00
hci_sent_cmd_data: hci0 opcode 0x1005
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 19
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c23 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c23
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 18
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c14 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c14
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 17
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c25 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c25
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 16
hci_send_frame: hci0 type 1 len 4
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c05 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c05
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 15
hci_send_frame: hci0 type 1 len 5
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c16 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c16
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 14
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c1b status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c1b
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 13
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x0c46 status 0x00
hci_sent_cmd_data: hci0 opcode 0x0c46
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 12
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x2002 status 0x00
hci_sent_cmd_data: hci0 opcode 0x2002
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 11
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x2003 status 0x00
hci_sent_cmd_data: hci0 opcode 0x2003
hci_cmd_work: hci0 cmd_cnt 1 cmd queued 10
hci_send_frame: hci0 type 1 len 3
hci_rx_work: hci0
hci_rx_work: hci0 Event packet
hci_req_cmd_complete: opcode 0x2007 status 0x0c
hci_sent_cmd_data: hci0 opcode 0x2007
hci_req_sync_complete: hci0 result 0x0c
__hci_req_sync: hci0 end: err -16
hci_dev_get: 0
hci_dev_get: 0
hci_dev_get: 0

Is it easy to understand where is the error? Maybe is an opcode that fails...