zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.55k stars 6.46k forks source link

nRF52832: RTT vs. Bluetooth #10668

Closed chris-schra closed 5 years ago

chris-schra commented 5 years ago

I'm currently struggling with running a bluetooth peripheral while logging.

It seems to be very unstable as soon as logging (I'm logging to RTT) is enabled, even if there is actually no log activity during connection handling. Just for reference I've enabled the basic BLE logging.

The banner:

Booting Zephyr OS zephyr-v1.13.0-357-gd3ba2be68 [bt] [INF] hci_vs_init: HW Platform: Nordic Semiconductor (0x0002) [bt] [INF] hci_vs_init: HW Variant: nRF52x (0x0002) [bt] [INF] hci_vs_init: Firmware: Standard Bluetooth controller (0x00) Version 1.13 Build 99

Here's how it looks for failing connections:

[bt] [INF] hci_vs_init: HW Platform: Nordic Semiconductor (0x0002) [bt] [INF] hci_vs_init: HW Variant: nRF52x (0x0002) [bt] [INF] hci_vs_init: Firmware: Standard Bluetooth controller (0x00) Version 1.13 Build 99 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_co[bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_set_state: (0x20001e40) connected -> disconnected [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 1 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_unref: (0x20000850) handle 0 ref 0

and this for a successful connection:

[bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_set_state: (0x20001e40) disconnected -> connected [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 7 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 7 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 7 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 36 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 36 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002c14 len 27 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00000000 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 flags 0x01 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 9 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 13 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 13 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 13 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 9 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 9 final 5 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 9 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 10 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 9 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 9 final 5 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 9 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 5 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 5 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 5 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 27 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 27 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 27 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 13 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 13 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 13 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 20 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 20 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 20 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 9 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 9 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 9 final 5 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 9 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 10 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 6 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 6 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 6 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 9 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 9 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 6 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 6 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 6 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 9 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 9 final 5 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 9 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 10 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 10 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 18 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 18 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 18 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 17 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 17 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 17 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 7 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 7 final 3 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 7 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 7 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 7 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 7 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001e40) handle 0 ref 3 [bt] [DBG] bt_conn_recv: (0x20001e40) handle 0 len 11 flags 02 [bt] [DBG] bt_conn_recv: (0x20001e40) First, len 11 final 7 [bt] [DBG] bt_conn_recv: (0x20001e40) rx_len 0 [bt] [DBG] bt_conn_recv: (0x20001e40) Successfully parsed 11 byte L2CAP packet [bt] [DBG] bt_conn_send_cb: (0x20001e40) conn handle 0 buf len 31 cb 0x00006a25 [bt] [DBG] bt_conn_unref: (0x20001e40) handle 0 ref 2 [bt] [DBG] bt_conn_process_tx: (0x20000850) conn 0x200008dc [bt] [DBG] send_buf: (0x20000850) conn 0x200008dc buf 0x20002af0 len 31 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002c14 len 27 flags 0x00 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00000000 [bt] [DBG] send_frag: (0x20000850) conn 0x200008dc buf 0x20002af0 len 4 flags 0x01 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] add_pending_tx: (0x20000850) conn 0x200008dc cb 0x00006a25 [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list [bt] [DBG] bt_conn_ref: (0x20001eb0) handle 0 ref 3 [bt] [DBG] bt_conn_unref: (0x20001eb0) handle 0 ref 2 [bt] [DBG] bt_conn_notify_tx: (0x20000850) conn 0x200008dc [bt] [DBG] bt_conn_prepare_events: (0x20000850) [bt] [DBG] bt_conn_prepare_events: (0x20000850) Adding conn 0x200008dc to poll list

chris-schra commented 5 years ago

As discussed in IRC: As soon as I‘ve got it back working (RTT, Logging, Bluetooth - everything enabled) I wasn‘t able to reproduce the „fault“ state. I could imagine two causes:

carlescufi commented 5 years ago

@derchrismakaio if you haven't been able to reproduce this perhaps we could close it and create a new issue if you hit it again?

chris-schra commented 5 years ago

yes, sure