diff --git a/src/logmessages.h b/src/logmessages.h
index a36ad6f..dd066e0 100644
--- a/src/logmessages.h
+++ b/src/logmessages.h
@@ -173,4 +173,5 @@ static const char tryStaticIpConfig[] PROGMEM = "Statische IP-Konfiguration wird
static const char staticIPConfigFailed[] PROGMEM = "Statische IP-Konfiguration fehlgeschlagen";
static const char wakeUpRfidNoIso14443[] PROGMEM = "ESP32 wurde vom Kartenleser aus dem Deepsleep aufgeweckt. Allerdings wurde keine ISO-14443-Karte gefunden. Gehe zurück in den Deepsleep...";
static const char lowPowerCardSuccess[] PROGMEM = "Kartenerkennung via 'low power' erfolgreich durchgeführt";
-static const char rememberLastVolume[] PROGMEM = "Lautstärke vor dem letzten Shutdown wird wiederhergestellt. Dies überschreibt die Einstellung der initialen Lautstärke aus der GUI.";
\ No newline at end of file
+static const char rememberLastVolume[] PROGMEM = "Lautstärke vor dem letzten Shutdown wird wiederhergestellt. Dies überschreibt die Einstellung der initialen Lautstärke aus der GUI.";
+static const char unableToStartFtpServer[] PROGMEM = "Der FTP-Server konnte nicht gestartet werden. Entweder weil er ist bereits gestartet oder kein WLAN verfügbar ist.";
\ No newline at end of file
diff --git a/src/logmessages_EN.h b/src/logmessages_EN.h
index 1ecc66a..3e38611 100644
--- a/src/logmessages_EN.h
+++ b/src/logmessages_EN.h
@@ -160,8 +160,7 @@ static const char failedToOpenFileForAppending[] PROGMEM = "Failed to open file
static const char listingDirectory[] PROGMEM = "Listing directory";
static const char failedToOpenDirectory[] PROGMEM = "Failed to open directory";
static const char notADirectory[] PROGMEM = "Not a directory";
-static const char sdMountedMmc1Bit[] PROGMEM = "SD-card in SD_MMC 1 Bit-mode configured...";
-static const char sdMountedSpiMode[] PROGMEM = "SD card mounted in SPI-mode configured...";
+static const char sdMountedMmc1BitMode[] PROGMEM = "SD card mounted in SPI-mode configured...";
static const char backupRecoveryWebsite[] PROGMEM = "
Backup-file is being applied...
Back to last page.
";
static const char restartWebsite[] PROGMEM = "ESPuino is being restarted...
Back to last page.
";
static const char mqttMsgReceived[] PROGMEM = "MQTT-message received";
@@ -173,4 +172,5 @@ static const char tryStaticIpConfig[] PROGMEM = "Performing static IP-configurat
static const char staticIPConfigFailed[] PROGMEM = "Static IP-configuration failed";
static const char wakeUpRfidNoIso14443[] PROGMEM = "Wakeup caused by low power card-detection. RF-field changed but no ISO-14443 card on reader was found. So I'll return back to sleep now...";
static const char lowPowerCardSuccess[] PROGMEM = "Switch to low power card-detection: success";
-static const char rememberLastVolume[] PROGMEM = "Restored volume used before last shutdown. This overwrites the initial volume configured via webgui.";
\ No newline at end of file
+static const char rememberLastVolume[] PROGMEM = "Restored volume used before last shutdown. This overwrites the initial volume configured via webgui.";
+static const char unableToStartFtpServer[] PROGMEM = "FTP-server cannot be started. This is because FTP-service is already active of because WiFi is unavailable.";
\ No newline at end of file
diff --git a/src/main.cpp b/src/main.cpp
index 4ae80ef..94d72ff 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -584,6 +584,13 @@ void doButtonActions(void) {
if (buttons[0].isPressed && buttons[2].isPressed) {
buttons[0].isPressed = false;
buttons[2].isPressed = false;
+ if (wifiManager() != WL_CONNECTED) {
+ #ifdef NEOPIXEL_ENABLE
+ showLedError = true;
+ loggerNl(serialDebug, (char *) FPSTR(unableToStartFtpServer), LOGLEVEL_ERROR);
+ #endif
+ return;
+ }
ftpEnableLastStatus = true;
#ifdef NEOPIXEL_ENABLE
showLedOk = true;
@@ -2932,7 +2939,7 @@ void doRfidCardModifications(const uint32_t mod) {
break;
#endif
case ENABLE_FTP_SERVER:
- if (!ftpEnableLastStatus && !ftpEnableCurrentStatus) {
+ if (wifiManager() == WL_CONNECTED && !ftpEnableLastStatus && !ftpEnableCurrentStatus) {
ftpEnableLastStatus = true;
#ifdef NEOPIXEL_ENABLE
showLedOk = true;
@@ -2940,6 +2947,7 @@ void doRfidCardModifications(const uint32_t mod) {
} else {
#ifdef NEOPIXEL_ENABLE
showLedError = true;
+ loggerNl(serialDebug, (char *) FPSTR(unableToStartFtpServer), LOGLEVEL_ERROR);
#endif
}