[Ovmsdev] Bluetooth struggle

Chris van der Meijden chris at arachnon.de
Sat Mar 28 02:57:35 HKT 2020


Hi all

To make my question a bit more "transparent" I put templates of my
bluetooth Kconfig and sdkconfig here

https://github.com/devmarxx/Open-Vehicle-Monitoring-System-3/tree/maste
r/vehicle/OVMS.V3/support

in my github. The templates both end on .devmarxx

Good health to everyone and take care!

Greetinx

Chris

Am Donnerstag, den 26.03.2020, 20:46 +0100 schrieb Chris van der
Meijden:
> Dear all
> 
> I'm struggling with the activation of the bluetooth functionality
> with
> the recent code.
> 
> The sdkconfig.bluetooth.hw31 will not compile at all.
> 
> I found three major problems here.
> 
> 1. Mongoose SSL is needed
> 2. Support for the 8MB RAM version is needed (not included in
> sdkconfig.bluetooth.hw31!)
> 3. CONFIG_BTDM_CONTROLLER_BR_EDR_SCO_DATA_PATH_EFF is needed for our
> special esp-idf situation
> 
> By doing a simple diff I could solve 1, but overlooked Nr. 2. And
> that
> was lethal. It brought my OVMS in a boot loop after I installed the
> fresh compiled ovms3.bin. But I got here great help from Thomas
> (Thanx!), who pointed to the problem and helped me out on the
> sdkconfig
> settings.
> 
> For Nr. 3 I made a dirty workaround by adding
> 
> config BTDM_CONTROLLER_BR_EDR_SCO_DATA_PATH_EFF
>     int "Should be 0, can also be 1"
>     default 0
>     depends on OVMS
>     help
>         Workaround to make bluetooth compile with our special
>         esp-idf situation. 
> 
> to the KConfig.
> 
> But all efforts didn't bring a postive result. The image compiles and
> boots now, but we can't activate bluetooth. We get the Error
> 
> bt: init controller failed: ESP_ERR_NO_MEM
> 
> So I would like to ask, if anybody has a working, recent, bluetooth
> image and if so what does it need? Any help on this is highly
> welcome.
> 
> Here the diff of my bluetooth sdkconfig to the standard sdkconfig
> without bluetooth:
> 
> 137,146c137,138
> < CONFIG_BT_ENABLED=y
>> < #
> < # Bluetooth controller
> < #
> < CONFIG_BTDM_CONTROLLER_MODE_BLE_ONLY=y
> < CONFIG_BTDM_CONTROLLER_MODE_BR_EDR_ONLY=
> < CONFIG_BTDM_CONTROLLER_MODE_BTDM=
> < CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN=3
> < CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=3
> ---
> > CONFIG_BT_ENABLED=
> > CONFIG_BTDM_CONTROLLER_BLE_MAX_CONN_EFF=0
> 
> 149,150d140
> < CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_0=y
> < CONFIG_BTDM_CONTROLLER_PINNED_TO_CORE_1=
> 152,365c142
> < CONFIG_BTDM_CONTROLLER_HCI_MODE_VHCI=y
> < CONFIG_BTDM_CONTROLLER_HCI_MODE_UART_H4=
>> < #
> < # MODEM SLEEP Options
> < #
> < CONFIG_BTDM_CONTROLLER_MODEM_SLEEP=
> < CONFIG_BLE_SCAN_DUPLICATE=y
> < CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR=y
> < CONFIG_SCAN_DUPLICATE_BY_ADV_DATA=
> < CONFIG_SCAN_DUPLICATE_BY_ADV_DATA_AND_DEVICE_ADDR=
> < CONFIG_SCAN_DUPLICATE_TYPE=0
> < CONFIG_DUPLICATE_SCAN_CACHE_SIZE=20
> < CONFIG_BLE_MESH_SCAN_DUPLICATE_EN=
> < CONFIG_BTDM_CONTROLLER_FULL_SCAN_SUPPORTED=
> < CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_SUPPORTED=y
> < CONFIG_BLE_ADV_REPORT_FLOW_CONTROL_NUM=100
> < CONFIG_BLE_ADV_REPORT_DISCARD_THRSHOLD=20
> < CONFIG_BLUEDROID_ENABLED=y
> < CONFIG_BLUEDROID_PINNED_TO_CORE_0=y
> < CONFIG_BLUEDROID_PINNED_TO_CORE_1=
> < CONFIG_BLUEDROID_PINNED_TO_CORE=0
> < CONFIG_BTC_TASK_STACK_SIZE=6144
> < CONFIG_BTU_TASK_STACK_SIZE=4096
> < CONFIG_BLUEDROID_MEM_DEBUG=
> < CONFIG_CLASSIC_BT_ENABLED=
> < CONFIG_GATTS_ENABLE=y
> < CONFIG_GATTS_SEND_SERVICE_CHANGE_MANUAL=
> < CONFIG_GATTS_SEND_SERVICE_CHANGE_AUTO=y
> < CONFIG_GATTS_SEND_SERVICE_CHANGE_MODE=0
> < CONFIG_GATTC_ENABLE=
> < CONFIG_BLE_SMP_ENABLE=y
> < CONFIG_SMP_SLAVE_CON_PARAMS_UPD_ENABLE=
> < CONFIG_BT_STACK_NO_LOG=
>> < #
> < # BT DEBUG LOG LEVEL
> < #
> < CONFIG_HCI_TRACE_LEVEL_NONE=
> < CONFIG_HCI_TRACE_LEVEL_ERROR=
> < CONFIG_HCI_TRACE_LEVEL_WARNING=y
> < CONFIG_HCI_TRACE_LEVEL_API=
> < CONFIG_HCI_TRACE_LEVEL_EVENT=
> < CONFIG_HCI_TRACE_LEVEL_DEBUG=
> < CONFIG_HCI_TRACE_LEVEL_VERBOSE=
> < CONFIG_HCI_INITIAL_TRACE_LEVEL=2
> < CONFIG_BTM_TRACE_LEVEL_NONE=
> < CONFIG_BTM_TRACE_LEVEL_ERROR=
> < CONFIG_BTM_TRACE_LEVEL_WARNING=y
> < CONFIG_BTM_TRACE_LEVEL_API=
> < CONFIG_BTM_TRACE_LEVEL_EVENT=
> < CONFIG_BTM_TRACE_LEVEL_DEBUG=
> < CONFIG_BTM_TRACE_LEVEL_VERBOSE=
> < CONFIG_BTM_INITIAL_TRACE_LEVEL=2
> < CONFIG_L2CAP_TRACE_LEVEL_NONE=
> < CONFIG_L2CAP_TRACE_LEVEL_ERROR=
> < CONFIG_L2CAP_TRACE_LEVEL_WARNING=y
> < CONFIG_L2CAP_TRACE_LEVEL_API=
> < CONFIG_L2CAP_TRACE_LEVEL_EVENT=
> < CONFIG_L2CAP_TRACE_LEVEL_DEBUG=
> < CONFIG_L2CAP_TRACE_LEVEL_VERBOSE=
> < CONFIG_L2CAP_INITIAL_TRACE_LEVEL=2
> < CONFIG_RFCOMM_TRACE_LEVEL_NONE=
> < CONFIG_RFCOMM_TRACE_LEVEL_ERROR=
> < CONFIG_RFCOMM_TRACE_LEVEL_WARNING=y
> < CONFIG_RFCOMM_TRACE_LEVEL_API=
> < CONFIG_RFCOMM_TRACE_LEVEL_EVENT=
> < CONFIG_RFCOMM_TRACE_LEVEL_DEBUG=
> < CONFIG_RFCOMM_TRACE_LEVEL_VERBOSE=
> < CONFIG_RFCOMM_INITIAL_TRACE_LEVEL=2
> < CONFIG_SDP_TRACE_LEVEL_NONE=
> < CONFIG_SDP_TRACE_LEVEL_ERROR=
> < CONFIG_SDP_TRACE_LEVEL_WARNING=y
> < CONFIG_SDP_TRACE_LEVEL_API=
> < CONFIG_SDP_TRACE_LEVEL_EVENT=
> < CONFIG_SDP_TRACE_LEVEL_DEBUG=
> < CONFIG_SDP_TRACE_LEVEL_VERBOSE=
> < CONFIG_SDP_INITIAL_TRACE_LEVEL=2
> < CONFIG_GAP_TRACE_LEVEL_NONE=
> < CONFIG_GAP_TRACE_LEVEL_ERROR=
> < CONFIG_GAP_TRACE_LEVEL_WARNING=y
> < CONFIG_GAP_TRACE_LEVEL_API=
> < CONFIG_GAP_TRACE_LEVEL_EVENT=
> < CONFIG_GAP_TRACE_LEVEL_DEBUG=
> < CONFIG_GAP_TRACE_LEVEL_VERBOSE=
> < CONFIG_GAP_INITIAL_TRACE_LEVEL=2
> < CONFIG_BNEP_TRACE_LEVEL_NONE=
> < CONFIG_BNEP_TRACE_LEVEL_ERROR=
> < CONFIG_BNEP_TRACE_LEVEL_WARNING=y
> < CONFIG_BNEP_TRACE_LEVEL_API=
> < CONFIG_BNEP_TRACE_LEVEL_EVENT=
> < CONFIG_BNEP_TRACE_LEVEL_DEBUG=
> < CONFIG_BNEP_TRACE_LEVEL_VERBOSE=
> < CONFIG_BNEP_INITIAL_TRACE_LEVEL=2
> < CONFIG_PAN_TRACE_LEVEL_NONE=
> < CONFIG_PAN_TRACE_LEVEL_ERROR=
> < CONFIG_PAN_TRACE_LEVEL_WARNING=y
> < CONFIG_PAN_TRACE_LEVEL_API=
> < CONFIG_PAN_TRACE_LEVEL_EVENT=
> < CONFIG_PAN_TRACE_LEVEL_DEBUG=
> < CONFIG_PAN_TRACE_LEVEL_VERBOSE=
> < CONFIG_PAN_INITIAL_TRACE_LEVEL=2
> < CONFIG_A2D_TRACE_LEVEL_NONE=
> < CONFIG_A2D_TRACE_LEVEL_ERROR=
> < CONFIG_A2D_TRACE_LEVEL_WARNING=y
> < CONFIG_A2D_TRACE_LEVEL_API=
> < CONFIG_A2D_TRACE_LEVEL_EVENT=
> < CONFIG_A2D_TRACE_LEVEL_DEBUG=
> < CONFIG_A2D_TRACE_LEVEL_VERBOSE=
> < CONFIG_A2D_INITIAL_TRACE_LEVEL=2
> < CONFIG_AVDT_TRACE_LEVEL_NONE=
> < CONFIG_AVDT_TRACE_LEVEL_ERROR=
> < CONFIG_AVDT_TRACE_LEVEL_WARNING=y
> < CONFIG_AVDT_TRACE_LEVEL_API=
> < CONFIG_AVDT_TRACE_LEVEL_EVENT=
> < CONFIG_AVDT_TRACE_LEVEL_DEBUG=
> < CONFIG_AVDT_TRACE_LEVEL_VERBOSE=
> < CONFIG_AVDT_INITIAL_TRACE_LEVEL=2
> < CONFIG_AVCT_TRACE_LEVEL_NONE=
> < CONFIG_AVCT_TRACE_LEVEL_ERROR=
> < CONFIG_AVCT_TRACE_LEVEL_WARNING=y
> < CONFIG_AVCT_TRACE_LEVEL_API=
> < CONFIG_AVCT_TRACE_LEVEL_EVENT=
> < CONFIG_AVCT_TRACE_LEVEL_DEBUG=
> < CONFIG_AVCT_TRACE_LEVEL_VERBOSE=
> < CONFIG_AVCT_INITIAL_TRACE_LEVEL=2
> < CONFIG_AVRC_TRACE_LEVEL_NONE=
> < CONFIG_AVRC_TRACE_LEVEL_ERROR=
> < CONFIG_AVRC_TRACE_LEVEL_WARNING=y
> < CONFIG_AVRC_TRACE_LEVEL_API=
> < CONFIG_AVRC_TRACE_LEVEL_EVENT=
> < CONFIG_AVRC_TRACE_LEVEL_DEBUG=
> < CONFIG_AVRC_TRACE_LEVEL_VERBOSE=
> < CONFIG_AVRC_INITIAL_TRACE_LEVEL=2
> < CONFIG_MCA_TRACE_LEVEL_NONE=
> < CONFIG_MCA_TRACE_LEVEL_ERROR=
> < CONFIG_MCA_TRACE_LEVEL_WARNING=y
> < CONFIG_MCA_TRACE_LEVEL_API=
> < CONFIG_MCA_TRACE_LEVEL_EVENT=
> < CONFIG_MCA_TRACE_LEVEL_DEBUG=
> < CONFIG_MCA_TRACE_LEVEL_VERBOSE=
> < CONFIG_MCA_INITIAL_TRACE_LEVEL=2
> < CONFIG_HID_TRACE_LEVEL_NONE=
> < CONFIG_HID_TRACE_LEVEL_ERROR=
> < CONFIG_HID_TRACE_LEVEL_WARNING=y
> < CONFIG_HID_TRACE_LEVEL_API=
> < CONFIG_HID_TRACE_LEVEL_EVENT=
> < CONFIG_HID_TRACE_LEVEL_DEBUG=
> < CONFIG_HID_TRACE_LEVEL_VERBOSE=
> < CONFIG_HID_INITIAL_TRACE_LEVEL=2
> < CONFIG_APPL_TRACE_LEVEL_NONE=
> < CONFIG_APPL_TRACE_LEVEL_ERROR=
> < CONFIG_APPL_TRACE_LEVEL_WARNING=y
> < CONFIG_APPL_TRACE_LEVEL_API=
> < CONFIG_APPL_TRACE_LEVEL_EVENT=
> < CONFIG_APPL_TRACE_LEVEL_DEBUG=
> < CONFIG_APPL_TRACE_LEVEL_VERBOSE=
> < CONFIG_APPL_INITIAL_TRACE_LEVEL=2
> < CONFIG_GATT_TRACE_LEVEL_NONE=
> < CONFIG_GATT_TRACE_LEVEL_ERROR=
> < CONFIG_GATT_TRACE_LEVEL_WARNING=y
> < CONFIG_GATT_TRACE_LEVEL_API=
> < CONFIG_GATT_TRACE_LEVEL_EVENT=
> < CONFIG_GATT_TRACE_LEVEL_DEBUG=
> < CONFIG_GATT_TRACE_LEVEL_VERBOSE=
> < CONFIG_GATT_INITIAL_TRACE_LEVEL=2
> < CONFIG_SMP_TRACE_LEVEL_NONE=
> < CONFIG_SMP_TRACE_LEVEL_ERROR=
> < CONFIG_SMP_TRACE_LEVEL_WARNING=y
> < CONFIG_SMP_TRACE_LEVEL_API=
> < CONFIG_SMP_TRACE_LEVEL_EVENT=
> < CONFIG_SMP_TRACE_LEVEL_DEBUG=
> < CONFIG_SMP_TRACE_LEVEL_VERBOSE=
> < CONFIG_SMP_INITIAL_TRACE_LEVEL=2
> < CONFIG_BTIF_TRACE_LEVEL_NONE=
> < CONFIG_BTIF_TRACE_LEVEL_ERROR=
> < CONFIG_BTIF_TRACE_LEVEL_WARNING=y
> < CONFIG_BTIF_TRACE_LEVEL_API=
> < CONFIG_BTIF_TRACE_LEVEL_EVENT=
> < CONFIG_BTIF_TRACE_LEVEL_DEBUG=
> < CONFIG_BTIF_TRACE_LEVEL_VERBOSE=
> < CONFIG_BTIF_INITIAL_TRACE_LEVEL=2
> < CONFIG_BTC_TRACE_LEVEL_NONE=
> < CONFIG_BTC_TRACE_LEVEL_ERROR=
> < CONFIG_BTC_TRACE_LEVEL_WARNING=y
> < CONFIG_BTC_TRACE_LEVEL_API=
> < CONFIG_BTC_TRACE_LEVEL_EVENT=
> < CONFIG_BTC_TRACE_LEVEL_DEBUG=
> < CONFIG_BTC_TRACE_LEVEL_VERBOSE=
> < CONFIG_BTC_INITIAL_TRACE_LEVEL=2
> < CONFIG_OSI_TRACE_LEVEL_NONE=
> < CONFIG_OSI_TRACE_LEVEL_ERROR=
> < CONFIG_OSI_TRACE_LEVEL_WARNING=y
> < CONFIG_OSI_TRACE_LEVEL_API=
> < CONFIG_OSI_TRACE_LEVEL_EVENT=
> < CONFIG_OSI_TRACE_LEVEL_DEBUG=
> < CONFIG_OSI_TRACE_LEVEL_VERBOSE=
> < CONFIG_OSI_INITIAL_TRACE_LEVEL=2
> < CONFIG_BLUFI_TRACE_LEVEL_NONE=
> < CONFIG_BLUFI_TRACE_LEVEL_ERROR=
> < CONFIG_BLUFI_TRACE_LEVEL_WARNING=y
> < CONFIG_BLUFI_TRACE_LEVEL_API=
> < CONFIG_BLUFI_TRACE_LEVEL_EVENT=
> < CONFIG_BLUFI_TRACE_LEVEL_DEBUG=
> < CONFIG_BLUFI_TRACE_LEVEL_VERBOSE=
> < CONFIG_BLUFI_INITIAL_TRACE_LEVEL=2
> < CONFIG_BT_ACL_CONNECTIONS=2
> < CONFIG_BT_ALLOCATION_FROM_SPIRAM_FIRST=y
> < CONFIG_BT_BLE_DYNAMIC_ENV_MEMORY=y
> < CONFIG_BLE_HOST_QUEUE_CONGESTION_CHECK=
> < CONFIG_SMP_ENABLE=y
> < CONFIG_BLE_ACTIVE_SCAN_REPORT_ADV_SCAN_RSP_INDIVIDUALLY=
> < CONFIG_BLE_ESTABLISH_LINK_CONNECTION_TIMEOUT=30
> < CONFIG_BT_RESERVE_DRAM=0xdb5c
> ---
> > CONFIG_BT_RESERVE_DRAM=0
> 
> 506a284
> > CONFIG_NO_BLOBS=
> 
> 514d291
> < CONFIG_SW_COEXIST_ENABLE=
> 642c419
> < CONFIG_FATFS_ALLOC_PREFER_EXTRAM=y
> ---
> > CONFIG_FATFS_ALLOC_PREFER_EXTRAM=
> 
> 673c450
> < CONFIG_FREERTOS_INTERRUPT_BACKTRACE=y
> ---
> > CONFIG_FREERTOS_INTERRUPT_BACKTRACE=
> 
> 683c460
> < CONFIG_TIMER_TASK_PRIORITY=1
> ---
> > CONFIG_TIMER_TASK_PRIORITY=20
> 
> 688,689c465,469
> < CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=
> < CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=
> ---
> > CONFIG_FREERTOS_USE_STATS_FORMATTING_FUNCTIONS=y
> > CONFIG_FREERTOS_VTASKLIST_INCLUDE_COREID=
> > CONFIG_FREERTOS_GENERATE_RUN_TIME_STATS=y
> > CONFIG_FREERTOS_RUN_TIME_STATS_USING_ESP_TIMER=y
> > CONFIG_FREERTOS_RUN_TIME_STATS_USING_CPU_CLK=
> 
> 775c555
> < CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=y
> ---
> > CONFIG_TCPIP_TASK_AFFINITY_NO_AFFINITY=
> 
> 777,778c557,558
> < CONFIG_TCPIP_TASK_AFFINITY_CPU1=
> < CONFIG_TCPIP_TASK_AFFINITY=0x7FFFFFFF
> ---
> > CONFIG_TCPIP_TASK_AFFINITY_CPU1=y
> > CONFIG_TCPIP_TASK_AFFINITY=0x1
> 
> 810c590
> < CONFIG_OVMS_HW_CAN_RX_QUEUE_SIZE=30
> ---
> > CONFIG_OVMS_HW_CAN_RX_QUEUE_SIZE=60
> 
> 859,860c639,640
> < CONFIG_OVMS_VEHICLE_RXTASK_STACK=6144
> < CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=40
> ---
> > CONFIG_OVMS_VEHICLE_RXTASK_STACK=8192
> > CONFIG_OVMS_VEHICLE_CAN_RX_QUEUE_SIZE=60
> 
> 865d644
> < CONFIG_OVMS_COMP_BLUETOOTH=y
> 900d678
> < CONFIG_BTDM_CONTROLLER_BR_EDR_SCO_DATA_PATH_EFF=0
> 905,906c683,684
> < CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=y
> < CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=
> ---
> > CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC=
> > CONFIG_MBEDTLS_EXTERNAL_MEM_ALLOC=y
> 
> 909c687
> < CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=4096
> ---
> > CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN=16384
> 
> 929c707
> < CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=
> ---
> > CONFIG_MBEDTLS_KEY_EXCHANGE_PSK=y
> 
> 1104a883
> > #
> 
> Thanx in advance for your help.
> 
> Regards
> 
> Chris
> 
> _______________________________________________
> OvmsDev mailing list
> OvmsDev at lists.openvehicles.com
> http://lists.openvehicles.com/mailman/listinfo/ovmsdev



More information about the OvmsDev mailing list