About Bluetooth(BT) connection in i.MX6DQ.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

About Bluetooth(BT) connection in i.MX6DQ.

1,557 Views
keitanagashima
Senior Contributor I

Dear Sir or Madam,

Hello. I have a question about Bluetooth(BT) connection in i.MX6DQ.

==================

[Overview]

- Phenomenon 1:

   When repeating Bluetooth connection & disconnection, i.MX6 isn't possible to connect BT.

- Phenomenon 2:

   When reconstructing Bluetooth continuously, a connection is disconnected within about 30 minutes.

- Frequency of Occurrence: Random

[Analysis Result]

- Both phenomenon displayed the log "Bluetooth: Frame Reassembly Failed"

- The problem occurred in L3.14.28. (din't occur in L3.10.53.)

  There is a lot of difference between Linux3.10 and Linux3.14. (/drivers/tty/serial/imx.c)

- The problem doesn't occur when disabling the SDMA of UART. 

  The error occurs in SDMA and recovery processing isn't done.

  So, I think that processing of "imx.c" or "tty_buffer" is doubtful.

[Question]

Could you gibe me the workaround about this issue?

[Related information]

https://community.freescale.com/message/355180#355180

==================

Best Regards,

Keita

Labels (5)
0 Kudos
5 Replies

842 Views
jimmychan
NXP TechSupport
NXP TechSupport

an expert reply:

It seems UART sdma issue. UART smda issue only happens in a heavy loading user model and it hard to reproduce in our lab.

Can you provide a log info when the UART encounters issue? We can analyze it.

0 Kudos

842 Views
keitanagashima
Senior Contributor I

Hi, Jimmychan

Thank you for your reply.

Please check the below log info!

[Display the log by below code]

drivers/bluetooth/hci_ath.c

/* Recv data */

static int ath_recv(struct hci_uart *hu, void *data, int count)

{

int ret;

ret = hci_recv_stream_fragment(hu->hdev, data, count);

if (ret < 0) {

BT_ERR("Frame Reassembly Failed");

return ret;

}

return count;

}

[Log Information]

[ 9.839943] Bluetooth: HCI UART driver ver 2.2

[ 9.843096] Bluetooth: HCIATH3K protocol initialized

[ 10.046343] Bluetooth: BNEP (Ethernet Emulation) ver 1.3

[ 10.050364] Bluetooth: BNEP filters: protocol multicast

[ 10.054455] Bluetooth: BNEP socket layer initialized

[ 11.364054] libphy: 2188000.ethernet:01 -  Link is Up -  100/Full

[ 11.368719] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

[ 12.758196] Bluetooth: RFCOMM TTY layer initialized

[ 12.761823] Bluetooth: RFCOMM socket layer initialized

[ 12.765858] Bluetooth: RFCOMM ver 1.11

[ 81.230049] Bluetooth: Frame Reassembly Failed

[ 81.233298] Bluetooth: Frame Reassembly Failed

[ 85.264022] Bluetooth: Frame Reassembly Failed

[ 90.245313] Bluetooth: Frame Reassembly Failed

[ 90.517595] Bluetooth: Frame Reassembly Failed

[ 121.234299] Bluetooth: Frame Reassembly Failed

[ 121.313208] Bluetooth: Frame Reassembly Failed

[ 121.316442] Bluetooth: Unexpected start frame (len 12)

[ 121.320741] Bluetooth: Frame Reassembly Failed

Best Regards,

Keita

0 Kudos

842 Views
oliver_chen
NXP Employee
NXP Employee

Hi Keita,

Do you enable kernel debug message? I want to see debug message from the UART driver.

By the way, do you enable RTS/CTS control in BT uart?

B.R

Oliver

842 Views
keitanagashima
Senior Contributor I

Hi Li Chen,

Do you have any update?

B.R

Keita

0 Kudos

842 Views
keitanagashima
Senior Contributor I

Dear Li Chen,

Sorry for my delay.

Please check my below comments.

> Do you enable kernel debug message? I want to see debug message from the UART driver.

I got the debug message. Please refer to attached files.

(teraterm_log.log & btdebug_log.txt)

The phenomenon seems to occur when the log of "We get 8 bytes" becomes "We get 1 bytes" or "We get 7 bytes".

>By the way, do you enable RTS/CTS control in BT uart?

Yes. RTS/CTS have already enabled.

Best Regards,

Keita

0 Kudos