@@ -308,7 +308,7 @@ bool wifiLowLevelInit(bool persistent) {
308
308
309
309
esp_err_t err = esp_wifi_init (&cfg);
310
310
if (err) {
311
- log_e (" esp_wifi_init %d " , err);
311
+ log_e (" esp_wifi_init 0x%x: %s " , err, esp_err_to_name (err) );
312
312
lowLevelInitDone = false ;
313
313
return lowLevelInitDone;
314
314
}
@@ -375,7 +375,7 @@ static bool espWiFiStart() {
375
375
esp_err_t err = esp_wifi_start ();
376
376
if (err != ESP_OK) {
377
377
_esp_wifi_started = false ;
378
- log_e (" esp_wifi_start %d " , err);
378
+ log_e (" esp_wifi_start 0x%x: %s " , err, esp_err_to_name (err) );
379
379
return _esp_wifi_started;
380
380
}
381
381
return _esp_wifi_started;
@@ -389,7 +389,7 @@ static bool espWiFiStop() {
389
389
_esp_wifi_started = false ;
390
390
err = esp_wifi_stop ();
391
391
if (err) {
392
- log_e (" Could not stop WiFi! %d " , err);
392
+ log_e (" Could not stop WiFi! 0x%x: %s " , err, esp_err_to_name (err) );
393
393
_esp_wifi_started = true ;
394
394
return false ;
395
395
}
@@ -478,7 +478,7 @@ int WiFiGenericClass::setChannel(uint8_t primary, wifi_second_chan_t secondary)
478
478
479
479
ret = esp_wifi_get_country (&country);
480
480
if (ret != ESP_OK) {
481
- log_e (" Failed to get country info" );
481
+ log_e (" Failed to get country info 0x%x: %s " , ret, esp_err_to_name (ret) );
482
482
return ret;
483
483
}
484
484
@@ -492,7 +492,7 @@ int WiFiGenericClass::setChannel(uint8_t primary, wifi_second_chan_t secondary)
492
492
493
493
ret = esp_wifi_set_channel (primary, secondary);
494
494
if (ret != ESP_OK) {
495
- log_e (" Failed to set channel" );
495
+ log_e (" Failed to set channel 0x%x: %s " , ret, esp_err_to_name (ret) );
496
496
return ret;
497
497
}
498
498
@@ -562,13 +562,13 @@ bool WiFiGenericClass::mode(wifi_mode_t m) {
562
562
if (((m & WIFI_MODE_STA) != 0 ) && ((cm & WIFI_MODE_STA) == 0 )) {
563
563
err = esp_netif_set_hostname (esp_netifs[ESP_IF_WIFI_STA], NetworkManager::getHostname ());
564
564
if (err) {
565
- log_e (" Could not set hostname! %d " , err);
565
+ log_e (" Could not set hostname! 0x%x: %s " , err, esp_err_to_name (err) );
566
566
return false ;
567
567
}
568
568
}
569
569
err = esp_wifi_set_mode (m);
570
570
if (err) {
571
- log_e (" Could not set mode! %d " , err);
571
+ log_e (" Could not set mode! 0x%x: %s " , err, esp_err_to_name (err) );
572
572
return false ;
573
573
}
574
574
@@ -585,17 +585,44 @@ bool WiFiGenericClass::mode(wifi_mode_t m) {
585
585
if (m & WIFI_MODE_STA) {
586
586
err = esp_wifi_set_protocol (WIFI_IF_STA, WIFI_PROTOCOL_LR);
587
587
if (err != ESP_OK) {
588
- log_e (" Could not enable long range on STA! %d " , err);
588
+ log_e (" Could not enable long range on STA! 0x%x: %s " , err, esp_err_to_name (err) );
589
589
return false ;
590
590
}
591
591
}
592
592
if (m & WIFI_MODE_AP) {
593
593
err = esp_wifi_set_protocol (WIFI_IF_AP, WIFI_PROTOCOL_LR);
594
594
if (err != ESP_OK) {
595
- log_e (" Could not enable long range on AP! %d " , err);
595
+ log_e (" Could not enable long range on AP! 0x%x: %s " , err, esp_err_to_name (err) );
596
596
return false ;
597
597
}
598
598
}
599
+ } else {
600
+ #if CONFIG_SOC_WIFI_HE_SUPPORT
601
+ #define WIFI_PROTOCOL_DEFAULT (WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N | WIFI_PROTOCOL_11AX)
602
+ #else
603
+ #define WIFI_PROTOCOL_DEFAULT (WIFI_PROTOCOL_11B | WIFI_PROTOCOL_11G | WIFI_PROTOCOL_11N)
604
+ #endif
605
+ uint8_t current_protocol = 0 ;
606
+ if (m & WIFI_MODE_STA) {
607
+ err = esp_wifi_get_protocol (WIFI_IF_STA, ¤t_protocol);
608
+ if (err == ESP_OK && current_protocol == WIFI_PROTOCOL_LR) {
609
+ log_v (" Disabling long range on STA" );
610
+ err = esp_wifi_set_protocol (WIFI_IF_STA, WIFI_PROTOCOL_DEFAULT);
611
+ if (err != ESP_OK) {
612
+ log_e (" Could not disable long range on STA! 0x%x: %s" , err, esp_err_to_name (err));
613
+ }
614
+ }
615
+ }
616
+ if (m & WIFI_MODE_AP) {
617
+ err = esp_wifi_get_protocol (WIFI_IF_AP, ¤t_protocol);
618
+ if (err == ESP_OK && current_protocol == WIFI_PROTOCOL_LR) {
619
+ log_v (" Disabling long range on AP" );
620
+ err = esp_wifi_set_protocol (WIFI_IF_AP, WIFI_PROTOCOL_DEFAULT);
621
+ if (err != ESP_OK) {
622
+ log_e (" Could not disable long range on AP! 0x%x: %s" , err, esp_err_to_name (err));
623
+ }
624
+ }
625
+ }
599
626
}
600
627
if (!espWiFiStart ()) {
601
628
return false ;
@@ -683,8 +710,9 @@ bool WiFiGenericClass::setSleep(wifi_ps_type_t sleepType) {
683
710
if (sleepType != _sleepEnabled) {
684
711
_sleepEnabled = sleepType;
685
712
if (WiFi.STA .started ()) {
686
- if (esp_wifi_set_ps (_sleepEnabled) != ESP_OK) {
687
- log_e (" esp_wifi_set_ps failed!" );
713
+ esp_err_t err = esp_wifi_set_ps (_sleepEnabled);
714
+ if (err != ESP_OK) {
715
+ log_e (" esp_wifi_set_ps failed!: 0x%x: %s" , err, esp_err_to_name (err));
688
716
return false ;
689
717
}
690
718
}
@@ -748,8 +776,9 @@ bool WiFiGenericClass::initiateFTM(uint8_t frm_count, uint16_t burst_period, uin
748
776
memcpy (ftmi_cfg.resp_mac , mac, 6 );
749
777
}
750
778
// Request FTM session with the Responder
751
- if (ESP_OK != esp_wifi_ftm_initiate_session (&ftmi_cfg)) {
752
- log_e (" Failed to initiate FTM session" );
779
+ esp_err_t err = esp_wifi_ftm_initiate_session (&ftmi_cfg);
780
+ if (ESP_OK != err) {
781
+ log_e (" Failed to initiate FTM session: 0x%x: %s" , err, esp_err_to_name (err));
753
782
return false ;
754
783
}
755
784
return true ;
@@ -768,8 +797,9 @@ bool WiFiGenericClass::setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2
768
797
769
798
esp_phy_ant_gpio_config_t wifi_ant_io;
770
799
771
- if (ESP_OK != esp_phy_get_ant_gpio (&wifi_ant_io)) {
772
- log_e (" Failed to get antenna configuration" );
800
+ esp_err_t err = esp_phy_get_ant_gpio (&wifi_ant_io);
801
+ if (ESP_OK != err) {
802
+ log_e (" Failed to get antenna configuration: 0x%x: %s" , err, esp_err_to_name (err));
773
803
return false ;
774
804
}
775
805
@@ -778,8 +808,9 @@ bool WiFiGenericClass::setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2
778
808
wifi_ant_io.gpio_cfg [1 ].gpio_num = gpio_ant2;
779
809
wifi_ant_io.gpio_cfg [1 ].gpio_select = 1 ;
780
810
781
- if (ESP_OK != esp_phy_set_ant_gpio (&wifi_ant_io)) {
782
- log_e (" Failed to set antenna GPIO configuration" );
811
+ err = esp_phy_set_ant_gpio (&wifi_ant_io);
812
+ if (ESP_OK != err) {
813
+ log_e (" Failed to set antenna GPIO configuration: 0x%x: %s" , err, esp_err_to_name (err));
783
814
return false ;
784
815
}
785
816
@@ -827,8 +858,9 @@ bool WiFiGenericClass::setDualAntennaConfig(uint8_t gpio_ant1, uint8_t gpio_ant2
827
858
}
828
859
829
860
set_ant:
830
- if (ESP_OK != esp_phy_set_ant (&ant_config)) {
831
- log_e (" Failed to set antenna configuration" );
861
+ err = esp_phy_set_ant (&ant_config);
862
+ if (ESP_OK != err) {
863
+ log_e (" Failed to set antenna configuration: 0x%x: %s" , err, esp_err_to_name (err));
832
864
return false ;
833
865
}
834
866
#endif
0 commit comments