Open riegaz opened 7 months ago
Hi @riegaz ,
I checked the application against nrf connect and do i see it works as expected. Attached is console log for esp32 side and nrf snapshots for finding the device and able to connect it.
nrfconnect can find the device :
And is also able to connect .
So, functionality for examples is working ok.
In your log :
As seen here, advertising has been initiated.
at least I can't find it.
So, may i know
I have the exact same issue, using example from esp idf v5.1.2 for nimble nothing shows up on my phone NRF connect, verbose log.txt
The radio was working under arduino examples before.
Edit: also added images. the source code was NOT modified in any way, just got the example and built it with no success.
Tried with my two of my custom boards and two devkits to the same result! code says its started broadcasting but i do not see anything to connect to. I'm not sure but this may have messed up something in flash, as after flashing this code, im no longer able to correcly erase flash (it erases in 1.5s which is too low, usually takes 10+ seconds for 4mb chips and even more for 16mb chips),
This example works on my device and adversiting starts https://github.com/masuidrive/esp-nimble-nordic-uart/tree/main/components/nimble-nordic-uart
Hi @italocjs
I have the exact same issue, using example from esp idf v5.1.2 for nimble nothing shows up on my phone NRF connect, verbose log.txt
The radio was working under arduino examples before.
Edit: also added images. the source code was NOT modified in any way, just got the example and built it with no success.
The version i tested with was Android 13. The one mentioend here is Android 11.
I tested with Android 11 too at my end, and observing similar behaviour. So, android versions doesn't seem to be a problem either.
This example works on my device and adversiting starts https://github.com/masuidrive/esp-nimble-nordic-uart/tree/main/components/nimble-nordic-uart
So i checked the example and the only differences i could see is that the particular example uses 128 bit UUID ( instead of 16 bit ) and a name shortened to length 5. Rest , everything is logically same during advertising.
So a query here, does any other IDF example, (say bleprph ) work at your end ? Since all examples use the same parameter, if other examples work but ble_spp doesn't , then that can help us narrow down the issue further.
bleprph indeed works! here are info and verbose logs
i will study the difference in more detail later.
Hi @italocjs ,
bleprph and spp_server use the same advertising parameters ( apart from the 16 bit UUID information that is passed as data in the advertising report) .
I have one query though :
In the first log ( issue )
I (873) NimBLE: BLE Host Task Started I (873) main_task: Returned from app_main() I (913) NimBLE: Device Address: I (913) NimBLE: e8:9f:6d:a6:c9:52 I (913) NimBLE:
in second bleprph log ( success )
I (884) main_task: Returned from app_main() I (904) NimBLE: Device Address: I (904) NimBLE: 08:d1:f9:c4:a5:2a I (904) NimBLE:
Since bluetooth MAC address is different , are these 2 different chips ? If yes, can you confirm if running the spp server application on the second chip works ?
Hi @italocjs ,
bleprph and spp_server use the same advertising parameters ( apart from the 16 bit UUID information that is passed as data in the advertising report) .
I have one query though :
In the first log ( issue )
I (873) NimBLE: BLE Host Task Started I (873) main_task: Returned from app_main() I (913) NimBLE: Device Address: I (913) NimBLE: e8:9f:6d:a6:c9:52 I (913) NimBLE:
in second bleprph log ( success )
I (884) main_task: Returned from app_main() I (904) NimBLE: Device Address: I (904) NimBLE: 08:d1:f9:c4:a5:2a I (904) NimBLE:
Since bluetooth MAC address is different , are these 2 different chips ? If yes, can you confirm if running the spp server application on the second chip works ?
Hello!, is likely another chip, i have two devkits and 3 proprietary boards laying here (flashed all to no success, the devkits are ESP_WROOM-32E 4MB Flash and the proprietary are ESP-WROOM-32D 16mb flash). I did not investigate this further because i found another working example which already integrated NuS so i developed based on it. Not sure if its helpful but here is my current code: https://github.com/italocjs/ESP32Arduino_NimbleNUS_processor
I noticed that the verbose log for blephpr is not complete, i will flash it again and post the complete verbose later so we can compare in more detail.
As i mentioned previosly, another strange thing was happening, for some reason when using the esp-idf spp example i was not able to erase the flash correctly, i think something was being messed up in the nvs sector reserved for the RF data. When erasing flash with an standard code (ble_phpr or "hello world" for example) it would take ~14s to erase the 4MB flash, when using the ble spp example, it was only taking 1.5s. The issue may be related to this.
Closing this. Feel free to reopen if issue still observed.
Sorry @rahult-github , but was this fixed? someone tested it again? i dont agree on closing since there is no clear solution here. The espidf docs MUST work for everyone, not at random, without it no one can reliable develop based on it.
Reopening it.
bleprph indeed works! here are info and verbose logs
So, it was confirmed that IDF examples work ok.
i will flash it again and post the complete verbose later so we can compare in more detail.
Can you please share this .
for some reason when using the esp-idf spp example i was not able to erase the flash correctly,
Did you get a chance to check this ? Is issue seen on all chipsets or one particular chip ?
The espidf docs MUST work for everyone, not at random,
yes indeed, we do have a exhaustive internal QA cycle where this gets validated. But yes, we can debug more on what is happening at your end to narrow down this further.
Thank you for testing, i will test on a few board that i have here too after work, can you please share which version of idf you used?
So far, the only main difference i found was that my chips have 16mb flash, and for some very weird reason, after flashing the sample code, it seems that the erase_flash stopped working properly (it concluded in 1.5s instead of the usual 10s+). I also have some devkits that i will try.
can you please share which version of idf you used?
The same as reported in this issue . ESP32 chipset on v5.1.2
Answers checklist.
IDF version.
v5.1.2
Espressif SoC revision.
ESP32 v1.0
Operating System used.
macOS
How did you build your project?
VS Code IDE
If you are using Windows, please specify command line type.
None
Development Kit.
ESP32-WROOM-32D
Power Supply used.
External 5V
What is the expected behavior?
The SPP server example should advertise as a bluetooth device.
What is the actual behavior?
It doesn't advertise, at least I can't find it.
Steps to reproduce.
Debug Logs.
More Information.
I tried with ESP-IDF v5.1 and v5.2 and neither worked.