diff --git a/esp8266/modesp.c b/esp8266/modesp.c index 3ca7f72715e46c640823a2e9ea8f3d90eac1d29f..c1591fea278382e7640361d54e4ce283986cb696 100644 --- a/esp8266/modesp.c +++ b/esp8266/modesp.c @@ -528,7 +528,10 @@ STATIC void esp_scan_cb(scaninfo *si, STATUS status) { STATIC mp_obj_t esp_scan(mp_obj_t cb_in) { MP_STATE_PORT(scan_cb_obj) = cb_in; - wifi_set_opmode(STATION_MODE); + if (wifi_get_opmode() == SOFTAP_MODE) { + nlr_raise(mp_obj_new_exception_msg(&mp_type_OSError, + "Scan not supported in AP mode")); + } wifi_station_scan(NULL, (scan_done_cb_t)esp_scan_cb); return mp_const_none; }