diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.41/ccimx6ul/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.41/ccimx6ul/bluetooth-init index 9e81c2b73..47c6bb40f 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.41/ccimx6ul/bluetooth-init +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.41/ccimx6ul/bluetooth-init @@ -73,9 +73,17 @@ bluetooth_init() { killproc hciattach powercycle_gpio "${BT_EN_QCA_GPIO_NR}" if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then - return + # hciattach performs a reset to load the new firmware and needs some time to be ready + sleep 1 + # Verify if firmware was loaded successfully + bdaddr >/dev/null 2>&1 && return fi sleep 1 + + if [ $RETRY -ge 3 ]; then + # Retry at default firmware baudrate + BT_RATE="115200" + fi done BT_ERROR="FAIL (hciattach)" } diff --git a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx6ul/bluetooth-init b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx6ul/bluetooth-init index 9e81c2b73..47c6bb40f 100644 --- a/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx6ul/bluetooth-init +++ b/meta-digi-dey/recipes-connectivity/bluez/bluez5-5.46/ccimx6ul/bluetooth-init @@ -73,9 +73,17 @@ bluetooth_init() { killproc hciattach powercycle_gpio "${BT_EN_QCA_GPIO_NR}" if hciattach ttyBt qca ${BT_RATE:-3000000} -t30 ${BT_FLOW:-flow} unused ${BT_MACADDR} >${HCIATTACH_LOG} 2>&1; then - return + # hciattach performs a reset to load the new firmware and needs some time to be ready + sleep 1 + # Verify if firmware was loaded successfully + bdaddr >/dev/null 2>&1 && return fi sleep 1 + + if [ $RETRY -ge 3 ]; then + # Retry at default firmware baudrate + BT_RATE="115200" + fi done BT_ERROR="FAIL (hciattach)" }