Chapter 4. Software framework
4.1.69 What is the maximum length of data in a BLE advertising packet supported by
ESP32-C3 with the BLE5.0 feature?
• The maximum length is 1650 bytes, which can be set via the esp_ble_gap_cong_ext_adv_data_raw() API.
4.1.70 Does ESP32 have any API to check whether BLE advertising has started or
stopped?
• For bluedroid stack, there is no such API currently.
• For Nimble stack (and using non-extended advertising of BLE 4.2), you can use the ble_gap_adv_active API.
4.2 Ethernet
4.2.1 When building an example on ESP32 Ethernet development board, an error oc-
curred as “emac: Reset EMAC Timeout”. What could be the reasons?
This is because the EMAC initialization is timeout, and is possibly related to the RMII clock. It is
recommended to check your hardware, e.g., see if the PHY crystal oscillator is a cold joint.
4.2.2 When ESP32 connected to LAN8720 externally, with GPIO0 providing CLK, the
initialization of Ethernet example failed. How to resolve such issue?
I (229) cpu_start: App cpu up.
I (247) heap_init: Initializing. RAM available for dynamic allocation:
I (254) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (260) heap_init: At 3FFB40A8 len 0002BF58 (175 KiB): DRAM
I (266) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (273) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (279) heap_init: At 400885D0 len 00017A30 (94 KiB): IRAM
I (285) cpu_start: Pro cpu start user code
I (303) cpu_start: Chip Revision: 1
W (303) cpu_start: Chip revision is higher than the one configured in␣
,→menuconfig. Suggest to upgrade it.
I (307) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (319) system_api: Base MAC address is not set, read default base MAC␣
,→address from BLK0 of EFUSE
E (1329) emac: Timed out waiting for PHY register 0x2 to have value␣
,→0x0007(mask 0xffff). Current value 0xffff
E (2329) emac: Timed out waiting for PHY register 0x3 to have value␣
,→0xc0f0(mask 0xfff0). Current value 0xffff
E (2329) emac: Initialise PHY device Timeout
ESP_ERROR_CHECK failed: esp_err_t 0xffffffff (ESP_FAIL) at 0x40084140
0x40084140: _esp_error_check_failed at /mnt/hgfs/workspace/esp32/IDF/esp-
,→idf-v3.3/components/esp32/panic.c:720
file: "/mnt/hgfs/workspace/esp32/project/ethernet/main/ethernet_example_
,→main.c" line 153
(continues on next page)
Espressif Systems 57
Submit Document Feedback
Release master