espressif / esp-idf

Espressif IoT Development Framework. Official development framework for Espressif SoCs.
Apache License 2.0
13.28k stars 7.2k forks source link

ESP32-S3 in USB mode can't use FTP to save/create file to it's flash or SD Card (IDFGH-13254) #14188

Closed TransistorTun closed 5 days ago

TransistorTun commented 1 month ago

Answers checklist.

IDF version.

esp-idf v5.2.2

Espressif SoC revision.

ESP32 Revision 1

Operating System used.

Windows

How did you build your project?

Command line with idf.py

If you are using Windows, please specify command line type.

PowerShell

Development Kit.

ESP32-S3

Power Supply used.

USB

What is the expected behavior?

I use my computer as a master and create/save files to ESP32's flash/SD Card by FTP. And I can download this files to the secondary device or save these files on flash/ SD Card.

What is the actual behavior?

When I don't connect the ESP(USB mode) to the secondary, I can use FTP to save/create files on esp's flash/ SD Card. But when I connect the esp (USB mode) to the secondary device, I can't use FTP to save/create files on esp's flash/ SD Card anymore.

Steps to reproduce.

/*****

include

include

include

include <sys/unistd.h>

include <sys/stat.h>

include "freertos/FreeRTOS.h"

include "freertos/task.h"

include "freertos/event_groups.h"

include "esp_system.h"

include "esp_log.h"

include "esp_event.h"

include "esp_err.h"

include "esp_sntp.h"

include "esp_mac.h" // for MACSTR

include "esp_partition.h"

include "esp_check.h"

include "lwip/dns.h"

include "mdns.h"

include "tinyusb.h"

include "tusb_msc_storage.h"

// #include "usb_descriptors.h"

include "tusb.h"

include <sys/unistd.h>

include <sys/stat.h>

include "ftp.h"

include "wifi.h"

include "nvs_rw.h"

include "sd_card.h"

/*****

define esp_vfs_fat_spiflash_mount esp_vfs_fat_spiflash_mount_rw_wl

define esp_vfs_fat_spiflash_unmount esp_vfs_fat_spiflash_unmount_rw_wl

define sntp_setoperatingmode esp_sntp_setoperatingmode

define sntp_setservername esp_sntp_setservername

define sntp_init esp_sntp_init

define CONFIG_MDNS_HOSTNAME "ftp-server"

define CONFIG_NTP_SERVER "pool.ntp.org"

define CONFIG_FTP_USER "esp32"

define CONFIG_FTP_PASSWORD "esp32"

define TUSB_DESC_TOTAL_LEN (TUD_CONFIG_DESC_LEN + TUD_MSC_DESC_LEN)

define CONFIG_EXAMPLE_STORAGE_MEDIA_SPIFLASH 1

enum { ITF_NUM_MSC = 0, ITF_NUM_TOTAL };

enum { EDPT_CTRL_OUT = 0x00, EDPT_CTRL_IN = 0x80,

EDPT_MSC_OUT  = 0x01,
EDPT_MSC_IN   = 0x81,

};

/***

extern char ftp_user[FTP_USER_PASS_LEN_MAX + 1]; extern char ftp_pass[FTP_USER_PASS_LEN_MAX + 1];

/***

static EventGroupHandle_t xEventTask;

static volatile uint8_t ssid[32] = "ptn209b3"; static volatile uint8_t pass[32] = "ptn209b3@";

static tusb_desc_device_t descriptor_config = { .bLength = sizeof(descriptor_config), .bDescriptorType = TUSB_DESC_DEVICE, .bcdUSB = 0x0200, .bDeviceClass = TUSB_CLASS_MISC, .bDeviceSubClass = MISC_SUBCLASS_COMMON, .bDeviceProtocol = MISC_PROTOCOL_IAD, .bMaxPacketSize0 = CFG_TUD_ENDPOINT0_SIZE, .idVendor = 0x303A, // This is Espressif VID. This needs to be changed according to Users / Customers .idProduct = 0x4002, .bcdDevice = 0x100, .iManufacturer = 0x01, .iProduct = 0x02, .iSerialNumber = 0x03, .bNumConfigurations = 0x01 };

static char const *string_desc_arr[] = { (const char[]) { 0x09, 0x04 }, // 0: is supported language is English (0x0409) "TinyUSB", // 1: Manufacturer "TinyUSB Device", // 2: Product "123456", // 3: Serials "Example MSC", // 4. MSC };

static uint8_t const desc_configuration[] = { // Config number, interface count, string index, total length, attribute, power in mA TUD_CONFIG_DESCRIPTOR(1, ITF_NUM_TOTAL, 0, TUSB_DESC_TOTAL_LEN, TUSB_DESC_CONFIG_ATT_REMOTE_WAKEUP, 100),

// Interface number, string index, EP Out & EP In address, EP size
TUD_MSC_DESCRIPTOR(ITF_NUM_MSC, 0, EDPT_MSC_OUT, EDPT_MSC_IN, TUD_OPT_HIGH_SPEED ? 512 : 64),

};

/***

static uint64_t mp_hal_ticks_ms(); static void initialise_mDNS(void); static void initialize_sNTP(void); static esp_err_t obtain_time(void); static void time_sync_notification_cb(struct timeval *tv);

static void storage_mount_changed_cb(tinyusb_msc_event_t *event) { ESP_LOGI("[usb]", "Storage mounted to application: %s", event->mount_changed_data.is_mounted ? "Yes" : "No"); }

static void _mount(void) { ESP_LOGI(MAIN_TAG, "Mount storage..."); ESP_ERROR_CHECK(tinyusb_msc_storage_mount(MOUNT_POINT));

// List all the files in this directory
ESP_LOGI(MAIN_TAG, "\nls command output:");
struct dirent *d;
DIR *dh = opendir(MOUNT_POINT);
if (!dh) {
    if (errno == ENOENT) {
        //If the directory is not found
        ESP_LOGE(MAIN_TAG, "Directory doesn't exist %s", MOUNT_POINT);
    } else {
        //If the directory is not readable then throw error and exit
        ESP_LOGE(MAIN_TAG, "Unable to read directory %s", MOUNT_POINT);
    }
    return;
}
//While the next entry is not readable we will print directory files
while ((d = readdir(dh)) != NULL) {
    printf("%s\n", d->d_name);
}
return;

}

// #ifdef CONFIG_EXAMPLE_STORAGE_MEDIA_SPIFLASH static esp_err_t storage_init_spiflash(wl_handle_t *wl_handle) { ESP_LOGI(MAIN_TAG, "Initializing wear levelling");

const esp_partition_t *data_partition = esp_partition_find_first(ESP_PARTITION_TYPE_DATA, ESP_PARTITION_SUBTYPE_DATA_FAT, NULL);
if (data_partition == NULL) {
    ESP_LOGE(MAIN_TAG, "Failed to find FATFS partition. Check the partition table.");
    return ESP_ERR_NOT_FOUND;
}

return wl_mount(data_partition, wl_handle);

}

/**

void ftp_task(void *pvParameters) {

ESP_LOGI("[Ftp]", "ftp_task start");
strcpy(ftp_user, CONFIG_FTP_USER);
strcpy(ftp_pass, CONFIG_FTP_PASSWORD);
ESP_LOGI("[Ftp]", "ftp_user:[%s] ftp_pass:[%s]", ftp_user, ftp_pass);

uint64_t elapsed, time_ms = mp_hal_ticks_ms();
// Initialize ftp, create rx buffer and mutex
if (!ftp_init())
{
    ESP_LOGE("[Ftp]", "Init Error");
    xEventGroupSetBits(xEventTask, FTP_TASK_FINISH_BIT);
    vTaskDelete(NULL);
}

// We have network connection, enable ftp
ftp_enable();

time_ms = mp_hal_ticks_ms();
while (1)
{
    // Calculate time between two ftp_run() calls
    elapsed = mp_hal_ticks_ms() - time_ms;
    time_ms = mp_hal_ticks_ms();

    int res = ftp_run(elapsed);
    if (res < 0)
    {
        if (res == -1)
        {
            ESP_LOGE("[Ftp]", "\nRun Error");
        }
        // -2 is returned if Ftp stop was requested by user
        break;
    }

    vTaskDelay(1);
    ESP_LOGI("[Ftp]", "ftp_task in while 1");
} // end while

ESP_LOGW("[Ftp]", "\nTask terminated!");
xEventGroupSetBits(xEventTask, FTP_TASK_FINISH_BIT);
vTaskDelete(NULL);

}

void app_main(void) { esp_err_t ret;

NVS_Init();
WIFI_StaInit();
WIFI_Connect((uint8_t *)ssid, (uint8_t *)pass);

initialise_mDNS();

// obtain time over NTP
ESP_LOGI(MAIN_TAG, "Getting time over NTP.");
ret = obtain_time();
if (ret != ESP_OK)
{
    ESP_LOGE(MAIN_TAG, "Fail to getting time over NTP.");
    while (1)
    {
        vTaskDelay(10);
    }
}

// Show current date & time
time_t now;
struct tm timeinfo;
char strftime_buf[64];
time(&now);
now = now + (0 * 60 * 60);
localtime_r(&now, &timeinfo);
strftime(strftime_buf, sizeof(strftime_buf), "%c", &timeinfo);
ESP_LOGI(MAIN_TAG, "The local date/time is: %s", strftime_buf);
ESP_LOGW(MAIN_TAG, "This server manages file timestamps in GMT.");

// Mount FAT File System on SDCARD
static sdmmc_card_t *card = NULL;

// #ifdef CONFIG_EXAMPLE_STORAGE_MEDIA_SPIFLASH
static wl_handle_t wl_handle = WL_INVALID_HANDLE;
ESP_ERROR_CHECK(storage_init_spiflash(&wl_handle));

const tinyusb_msc_spiflash_config_t config_spi = {
    .wl_handle = wl_handle,
    .callback_mount_changed = storage_mount_changed_cb,  /* First way to register the callback. This is while initializing the storage. */
    .mount_config.max_files = 5,
};
ESP_ERROR_CHECK(tinyusb_msc_storage_init_spiflash(&config_spi));
ESP_ERROR_CHECK(tinyusb_msc_register_callback(TINYUSB_MSC_EVENT_MOUNT_CHANGED, storage_mount_changed_cb)); /* Other way to register the callback i.e. registering using separate API. If the callback had been already registered, it will be overwritten. */
_mount();

ESP_LOGI("[usb]", "USB MSC initialization");
const tinyusb_config_t tusb_cfg = {
    .device_descriptor = &descriptor_config,
    .string_descriptor = string_desc_arr,
    .string_descriptor_count = sizeof(string_desc_arr) / sizeof(string_desc_arr[0]),
    .external_phy = false,
    .configuration_descriptor = desc_configuration,
};
ESP_ERROR_CHECK(tinyusb_driver_install(&tusb_cfg));

ESP_LOGI("[usb]", "USB MSC initialization DONE");

xEventTask = xEventGroupCreate();
xTaskCreate(ftp_task, "FTP", 1024*6, NULL, 6, NULL);
xEventGroupWaitBits( xEventTask,
    FTP_TASK_FINISH_BIT, /* The bits within the event group to wait for. */
    pdTRUE, /* BIT_0 should be cleared before returning. */
    pdFALSE, /* Don't wait for both bits, either bit will do. */
    portMAX_DELAY);/* Wait forever. */
ESP_LOGE(MAIN_TAG, "ftp_task finish");

// esp_vfs_fat_sdcard_unmount(MOUNT_POINT, &card);
// ESP_LOGI(MAIN_TAG, "SDCARD unmounted");

}

/***

static uint64_t mp_hal_ticks_ms() { uint64_t time_ms = xTaskGetTickCount() * portTICK_PERIOD_MS; return time_ms; }

static void initialise_mDNS(void) { // initialize mDNS ESP_ERROR_CHECK(mdns_init()); // set mDNS hostname (required if you want to advertise services) ESP_ERROR_CHECK(mdns_hostname_set(CONFIG_MDNS_HOSTNAME)); ESP_LOGI(MAIN_TAG, "mdns hostname set to: [%s]", CONFIG_MDNS_HOSTNAME);

}

static void initialize_sNTP(void) { ESP_LOGI(MAIN_TAG, "Initializing SNTP"); sntp_setoperatingmode(SNTP_OPMODE_POLL); // sntp_setservername(0, "pool.ntp.org"); ESP_LOGI(MAIN_TAG, "Your NTP Server is %s", CONFIG_NTP_SERVER); sntp_setservername(0, CONFIG_NTP_SERVER); sntp_set_time_sync_notification_cb(time_sync_notification_cb); sntp_init(); }

static esp_err_t obtain_time(void) { initialize_sNTP(); // wait for time to be set int retry = 0; const int retry_count = 10; while (sntp_get_sync_status() == SNTP_SYNC_STATUS_RESET && ++retry < retry_count) { ESP_LOGI(MAIN_TAG, "Waiting for system time to be set... (%d/%d)", retry, retry_count); vTaskDelay(2000 / portTICK_PERIOD_MS); }

if (retry == retry_count)
    return ESP_FAIL;
return ESP_OK;

}

static void time_sync_notification_cb(struct timeval *tv) { ESP_LOGI(MAIN_TAG, "Notification of a time synchronization event"); }

Debug Logs.

Build:Mar�ESP-ROM:esp32s3-20210327
Build:Mar 27 2021
rst:0x1 (POWERON),boot:0x8 (SPI_FAST_FLASH_BOOT)
SPIWP:0xee
mode:DIO, clock div:1
load:0x3fce3810,len:0x178c
load:0x403c9700,len:0x4
load:0x403c9704,len:0xcbc
load:0x403cc700,len:0x2d9c
entry 0x403c9914
I (27) boot: ESP-IDF v5.2.2-dirty 2nd stage bootloader
I (27) boot: compile time Jul 10 2024 10:19:35
I (27) boot: Multicore bootloader
I (30) boot: chip revision: v0.2
I (34) boot.esp32s3: Boot SPI Speed : 80MHz
I (39) boot.esp32s3: SPI Mode       : DIO
I (44) boot.esp32s3: SPI Flash Size : 4MB
I (48) boot: Enabling RNG early entropy source...
I (54) boot: Partition Table:
I (57) boot: ## Label            Usage          Type ST Offset   Length
I (65) boot:  0 nvs              WiFi data        01 02 00009000 00006000
I (72) boot:  1 phy_init         RF data          01 01 0000f000 00001000
I (80) boot:  2 factory          factory app      00 00 00010000 00100000
I (87) boot:  3 storage          Unknown data     01 81 00110000 00100000
I (95) boot: End of partition table
I (99) esp_image: segment 0: paddr=00010020 vaddr=3c0a0020 size=25234h (152116) map
I (134) esp_image: segment 1: paddr=0003525c vaddr=3fc98500 size=04798h ( 18328) load
I (139) esp_image: segment 2: paddr=000399fc vaddr=40374000 size=0661ch ( 26140) load
I (146) esp_image: segment 3: paddr=00040020 vaddr=42000020 size=9d5ech (644588) map
I (264) esp_image: segment 4: paddr=000dd614 vaddr=4037a61c size=0dde8h ( 56808) load
I (290) boot: Loaded app from partition at offset 0x10000
I (291) boot: Disabling RNG early entropy source...
I (302) cpu_start: Multicore app
I (312) cpu_start: Pro cpu start user code
I (312) cpu_start: cpu freq: 160000000 Hz
I (312) cpu_start: Application information:
I (315) cpu_start: Project name:     ESP32_WIFI_USB_Gateway
I (321) cpu_start: App version:      04f3f44-dirty
I (327) cpu_start: Compile time:     Jul 15 2024 13:35:40
I (333) cpu_start: ELF file SHA256:  93bc48f1f...
I (338) cpu_start: ESP-IDF:          v5.2.2-dirty
I (343) cpu_start: Min chip rev:     v0.0
I (348) cpu_start: Max chip rev:     v0.99
I (353) cpu_start: Chip rev:         v0.2
I (358) heap_init: Initializing. RAM available for dynamic allocation:
I (365) heap_init: At 3FCA19F8 len 00047D18 (287 KiB): RAM
I (371) heap_init: At 3FCE9710 len 00005724 (21 KiB): RAM
I (377) heap_init: At 3FCF0000 len 00008000 (32 KiB): DRAM
I (383) heap_init: At 600FE010 len 00001FD8 (7 KiB): RTCRAM
I (390) spi_flash: detected chip: gd
I (394) spi_flash: flash io: dio
W (398) spi_flash: Detected size(8192k) larger than the size in the binary image header(4096k). Using the size in the binary image header.
I (411) sleep: Configure to isolate all GPIO pins in sleep state
I (418) sleep: Enable automatic switching of GPIO sleep configuration
I (425) main_task: Started on CPU0
I (435) main_task: Calling app_main()
I (465) pp: pp rom version: e7ae62f
I (465) net80211: net80211 rom version: e7ae62f
I (475) wifi:wifi driver task: 3fcabc38, prio:23, stack:6656, core=0
I (485) wifi:wifi firmware version: 3e0076f
I (485) wifi:wifi certification version: v7.0
I (485) wifi:config NVS flash: enabled
I (485) wifi:config nano formating: disabled
I (485) wifi:Init data frame dynamic rx buffer num: 32
I (495) wifi:Init static rx mgmt buffer num: 5
I (495) wifi:Init management short buffer num: 32
I (505) wifi:Init dynamic tx buffer num: 32
I (505) wifi:Init static tx FG buffer num: 2
I (515) wifi:Init static rx buffer size: 1600
I (515) wifi:Init static rx buffer num: 10
I (515) wifi:Init dynamic rx buffer num: 32
I (525) wifi_init: rx ba win: 6
I (525) wifi_init: tcpip mbox: 32
I (535) wifi_init: udp mbox: 6
I (535) wifi_init: tcp mbox: 6
I (535) wifi_init: tcp tx win: 5760
I (545) wifi_init: tcp rx win: 5760
I (545) wifi_init: tcp mss: 1440
I (555) wifi_init: WiFi IRAM OP enabled
I (555) wifi_init: WiFi RX IRAM OP enabled
I (565) phy_init: phy_version 670,b7bc9b9,Apr 30 2024,10:54:13
I (605) wifi:mode : sta (48:27:e2:d4:d7:b4)
I (605) wifi:enable tsf
I (605) wifi:flush txq
I (605) wifi:stop sw txq
I (605) wifi:lmac stop hw txq
I (615) wifi:mode : sta (48:27:e2:d4:d7:b4)
I (615) wifi:enable tsf
I (615) [wifi]: Wifi_init_station finished.
I (625) wifi:new:<8,0>, old:<1,0>, ap:<255,255>, sta:<8,0>, prof:1
I (625) wifi:state: init -> auth (b0)
I (635) wifi:state: auth -> assoc (0)
I (635) wifi:state: assoc -> run (10)
I (745) wifi:connected with ptn209b3, aid = 9, channel 8, BW20, bssid = e0:19:54:e9:f8:a3
I (745) wifi:security: WPA2-PSK, phy: bgn, rssi: -59
I (755) wifi:pm start, type: 1

I (755) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us
I (765) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000
I (855) wifi:AP's beacon interval = 102400 us, DTIM period = 1
I (2975) wifi:<ba-add>idx:0 (ifx:0, e0:19:54:e9:f8:a3), tid:0, ssn:0, winSize:64
I (3775) esp_netif_handlers: sta ip: 192.168.1.21, mask: 255.255.255.0, gw: 192.168.1.1
I (3775) [wifi]: got ip:192.168.1.21
I (3775) [wifi]: Connected to ap SSID:ptn209b3 password:ptn209b3@
I (3785) MAIN: mdns hostname set to: [ftp-server]
I (3785) MAIN: Getting time over NTP.
I (3795) MAIN: Initializing SNTP
I (3795) MAIN: Your NTP Server is pool.ntp.org
I (3795) MAIN: Waiting for system time to be set... (1/10)
I (5255) wifi:<ba-add>idx:1 (ifx:0, e0:19:54:e9:f8:a3), tid:6, ssn:2, winSize:64
I (5575) MAIN: Notification of a time synchronization event
I (5805) MAIN: The local date/time is: Mon Jul 15 07:31:48 2024
W (5805) MAIN: This server manages file timestamps in GMT.
I (5805) MAIN: Initializing wear levelling
I (5805) MAIN: Mount storage...
I (5815) [usb]: Storage mounted to application: Yes
I (5815) MAIN:
ls command output:
System Volume Information
New folder
I (5825) [usb]: USB MSC initialization
I (5825) tusb_desc:
┌─────────────────────────────────┐
│  USB Device Descriptor Summary  │
├───────────────────┬─────────────┤
│bDeviceClass       │ 239         │
├───────────────────┼─────────────┤
│bDeviceSubClass    │ 2           │
├───────────────────┼─────────────┤
│bDeviceProtocol    │ 1           │
├───────────────────┼─────────────┤
│bMaxPacketSize0    │ 64          │
├───────────────────┼─────────────┤
│idVendor           │ 0x303a      │
├───────────────────┼─────────────┤
│idProduct          │ 0x4002      │
├───────────────────┼─────────────┤
│bcdDevice          │ 0x100       │
├───────────────────┼─────────────┤
│iManufacturer      │ 0x1         │
├───────────────────┼─────────────┤
│iProduct           │ 0x2         │
├───────────────────┼─────────────┤
│iSerialNumber      │ 0x3         │
├───────────────────┼─────────────┤
│bNumConfigurations │ 0x1         │
└───────────────────┴─────────────┘
I (5995) TinyUSB: TinyUSB Driver installed
I (6005) [usb]: USB MSC initialization DONE
I (6005) [Ftp]: ftp_task start
I (6015) [Ftp]: ftp_user:[esp32] ftp_pass:[esp32]
I (6785) [usb]: Storage mounted to application: No
I (26875) [Ftp]: Client IP: 0x0d01a8c0
I (26875) [Ftp]: Server IP: 0x1501a8c0
I (26875) [Ftp]: Connected.
I (26875) [Ftp]: Send reply: [220 ESP32 FTP Server]
I (26895) [Ftp]: Send reply: OK (22)
I (27095) [Ftp]: CMD: USER
I (27095) [Ftp]: Send reply: [331 ]
I (27115) [Ftp]: Send reply: OK (6)
I (33735) [Ftp]: CMD: PASS
I (33735) [Ftp]: Send reply: [230 ]
I (33755) [Ftp]: Send reply: OK (6)
I (33785) [Ftp]: CMD: SYST
I (33785) [Ftp]: Send reply: [215 UNIX Type: L8]
I (33805) [Ftp]: Send reply: OK (19)
I (33815) [Ftp]: CMD: FEAT
I (33815) [Ftp]: Send reply: [502 no-features]
I (33835) [Ftp]: Send reply: OK (17)
I (34155) [Ftp]: CMD: PWD
I (34155) [Ftp]: Send reply: [257 /]
I (34175) [Ftp]: Send reply: OK (7)
I (34205) [Ftp]: CMD: CWD
I (34205) [Ftp]: open_child: / + /
I (34205) [Ftp]: open_child, New pwd: /
I (34205) [Ftp]: Send reply: [250 ]
I (34225) [Ftp]: Send reply: OK (6)
I (34235) [Ftp]: CMD: PWD
I (34235) [Ftp]: Send reply: [257 /]
I (34255) [Ftp]: Send reply: OK (7)
I (34605) [Ftp]: CMD: TYPE
I (34605) [Ftp]: Send reply: [200 ]
I (34625) [Ftp]: Send reply: OK (6)
I (34635) [Ftp]: CMD: PASV
I (34635) [Ftp]: Data socket created
I (34635) [Ftp]: Send reply: [227 (192,168,1,21,7,232)]
I (34655) [Ftp]: Send reply: OK (26)
I (34685) [Ftp]: Data socket connected
I (34695) [Ftp]: CMD: LIST
I (34695) [Ftp]: open_child: / + -a
I (34695) [Ftp]: open_child, New pwd: /-a
I (34695) [Ftp]: ftp_open_dir_for_listing path=[/-a] MOUNT_POINT=[/data]
I (34695) [Ftp]: ftp_open_dir_for_listing: /data/-a
I (34705) [Ftp]: Send reply: [550 ]
I (34725) [Ftp]: Send reply: OK (6)
I (34725) [Ftp]: remove_fname_from_path: /-a - -a
I (34725) [Ftp]: remove_fname_from_path: New pwd: /
I (34735) [Ftp]: CMD: TYPE
I (34735) [Ftp]: Send reply: [200 ]
I (34755) [Ftp]: Send reply: OK (6)
I (34775) [Ftp]: CMD: PASV
I (34775) [Ftp]: Data socket created
I (34775) [Ftp]: Send reply: [227 (192,168,1,21,7,232)]
I (34795) [Ftp]: Send reply: OK (26)
I (34825) [Ftp]: Data socket connected
I (35425) [Ftp]: CMD: LIST
I (35425) [Ftp]: open_child: / +
I (35425) [Ftp]: open_child, New pwd: /
I (35425) [Ftp]: ftp_open_dir_for_listing path=[/] MOUNT_POINT=[/data]
I (35425) [Ftp]: ftp_open_dir_for_listing: /data/
I (35435) [Ftp]: Send reply: [550 ]
I (35455) [Ftp]: Send reply: OK (6)
I (35455) [Ftp]: remove_fname_from_path: / -

More Information.

No response

peter-marcisovsky commented 1 month ago

Hi @TransistorTun Thank you for reporting the issue.

I am trying to understand your setup. Which development board are you using? What is the "secondary" device in your setup?

You are using you PC as a host, from which you are sending files over FTP to an esp32s3, and the esp32s3 is receiving those data and saving them to it's flash memory, to the SD card. The esp32s3 has some sort of "secondary" device connected to it over USB. If the "secondary' device is not connected to you esp32s3, you are able to send and store some data, you have sent over FTP from you PC to the esp32s3's flash or SD card. But the problem occurs, once you connect your "secondary" device to the the esp32s3. Then you are not able to save the data, you have sent over FTP from your host PC to the esp32s3.

Did I get it it right?

TransistorTun commented 1 month ago

Yes, I am having this problem

peter-marcisovsky commented 1 month ago

Could you please answer to the questions I have stated? I would really help me determine the problem you are facing. Thank you.

TransistorTun commented 1 month ago
  1. I am using ESP32-S3 N8R2 Dual Type-C.
  2. I am using this like a USB MSC Wireless Disk. For example, I am connecting esp32-s3 (USB mode) in my CNC machine, and I want to send my file from my computer to this USB wireless by FTP. When I built this project, I had the problem that I described.
peter-marcisovsky commented 1 month ago

Thanks for the explanation. Regarding the output log you have provided: Is it the normally working case log? Or is it the log, when your setup is not working? Because I can't see neither Errors, nor even Warnings in the provided log. Which would be indicating that something went wrong.

Could you also please try running your example with Debug log level? You can enable it in menuconfig: idf.py menuconfig -> Component Config -> Log -> Log Level -> Default log verbosity -> Debug

TransistorTun commented 1 month ago

Here is the console when I dont't connect to the USB image Here is when I connect the USB to the device, I can see the disk E image But when I create new file by FTP, I have error image

D (707) esp_netif_objects: esp_netif_add_to_list_unsafe netif added successfully (total netifs: 1) D (717) esp_netif_lwip: call api in lwip: ret=0x0, give sem I (727) pp: pp rom version: e7ae62f I (727) net80211: net80211 rom version: e7ae62f D (737) nvs: nvs_open_from_partition misc 1 I (747) wifi:wifi driver task: 3fcabd24, prio:23, stack:6656, core=0 D (747) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 8 bit D (747) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 0 bit D (757) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 24 bit D (767) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 16 bit D (767) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 8 bit D (777) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 0 bit D (787) nvs: nvs_open_from_partition nvs.net80211 1 D (787) nvs: nvs_get opmode 1 D (797) nvs: nvs_get_str_or_blob sta.ssid D (797) nvs: nvs_get sta.authmode 1 D (797) nvs: nvs_get_str_or_blob sta.pswd D (807) nvs: nvs_get_str_or_blob sta.pmk D (807) nvs: nvs_get sta.chan 1 D (817) nvs: nvs_get auto.conn 1 D (817) nvs: nvs_get bssid.set 1 D (817) nvs: nvs_get_str_or_blob sta.bssid D (827) nvs: nvs_get sta.lis_intval 2 D (827) nvs: nvs_get sta.phym 1 D (827) nvs: nvs_get sta.phybw 1 D (837) nvs: nvs_get_str_or_blob sta.apsw D (837) nvs: nvs_get_str_or_blob sta.apinfo D (847) nvs: nvs_get sta.scan_method 1 D (847) nvs: nvs_get sta.sort_method 1 D (847) nvs: nvs_get sta.minrssi 1 D (857) nvs: nvs_get sta.minauth 1 D (857) nvs: nvs_get sta.pmf_e 1 D (857) nvs: nvs_get sta.pmf_r 1 D (867) nvs: nvs_get sta.btm_e 1 D (867) nvs: nvs_get sta.rrm_e 1 D (867) nvs: nvs_get sta.mbo_e 1 D (877) nvs: nvs_get_str_or_blob ap.ssid D (877) nvs: nvs_get_str_or_blob ap.passwd D (877) nvs: nvs_get_str_or_blob ap.pmk D (887) nvs: nvs_get ap.chan 1 D (887) nvs: nvs_get ap.authmode 1 D (887) nvs: nvs_get ap.hidden 1 D (897) nvs: nvs_get ap.max.conn 1 D (897) nvs: nvs_get bcn.interval 2 D (897) nvs: nvs_get ap.phym 1 D (907) nvs: nvs_get ap.phybw 1 D (907) nvs: nvs_get ap.sndchan 1 D (907) nvs: nvs_get ap.pmf_e 1 D (917) nvs: nvs_get ap.pmf_r 1 D (917) nvs: nvs_get ap.p_cipher 1 D (917) nvs: nvs_get lorate 1 D (927) nvs: nvs_get_str_or_blob country D (927) nvs: nvs_get ap.ftm_r 1 D (927) nvs: nvs_get sta.ft 1 D (937) nvs: nvs_get sta.owe 1 D (937) nvs: nvs_get sta.trans_d 1 D (937) nvs: nvs_get sta.sae_h2e 1 D (947) nvs: nvs_get sta.sae_pk_mode 1 D (947) nvs: nvs_get sta.bss_retry 1 D (957) nvs: nvs_get_str_or_blob sta.owe_data D (957) nvs: nvs_get sta.he_dcm 1 D (957) nvs: nvs_get sta.he_dcm_c_tx 1 D (967) nvs: nvs_get sta.he_dcm_c_rx 1 D (967) nvs: nvs_get sta.he_mcs9_d 1 D (967) nvs: nvs_get sta.he_su_b_d 1 D (977) nvs: nvs_get sta.he_su_b_f_d 1 D (977) nvs: nvs_get sta.he_mu_b_f_d 1 D (987) nvs: nvs_get sta.he_cqi_f_d 1 D (987) nvs: nvs_get_str_or_blob sta.sae_h2e_id D (987) nvs: nvs_get ap.sae_h2e 1 D (997) nvs: nvs_get_str_or_blob ap.pmk_info D (997) nvs: nvs_get nan.phym 1 D (997) nvs: nvs_set ap.sndchan 1 1 I (1007) wifi:wifi firmware version: 3e0076f I (1007) wifi:wifi certification version: v7.0 I (1017) wifi:config NVS flash: enabled I (1017) wifi:config nano formating: disabled I (1017) wifi:Init data frame dynamic rx buffer num: 32 I (1027) wifi:Init static rx mgmt buffer num: 5 I (1027) wifi:Init management short buffer num: 32 I (1037) wifi:Init dynamic tx buffer num: 32 I (1037) wifi:Init static tx FG buffer num: 2 I (1047) wifi:Init static rx buffer size: 1600 I (1047) wifi:Init static rx buffer num: 10 I (1047) wifi:Init dynamic rx buffer num: 32 I (1057) wifi_init: rx ba win: 6 I (1057) wifi_init: tcpip mbox: 32 I (1067) wifi_init: udp mbox: 6 I (1067) wifi_init: tcp mbox: 6 I (1067) wifi_init: tcp tx win: 5760 I (1077) wifi_init: tcp rx win: 5760 I (1077) wifi_init: tcp mss: 1440 I (1087) wifi_init: WiFi IRAM OP enabled I (1087) wifi_init: WiFi RX IRAM OP enabled D (1097) nvs: nvs_get opmode 1 I (1097) phy_init: phy_version 670,b7bc9b9,Apr 30 2024,10:54:13 D (1107) phy_init: loading PHY init data from application binary D (1107) nvs: nvs_open_from_partition phy 0 D (1117) nvs: nvs_get cal_version 4 D (1117) nvs: nvs_get_str_or_blob cal_mac D (1117) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 8 bit D (1127) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 0 bit D (1137) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 24 bit D (1137) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 16 bit D (1147) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 8 bit D (1157) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 0 bit D (1167) nvs: nvs_get_str_or_blob cal_data D (1177) nvs: nvs_close 3 D (1177) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 8 bit D (1177) efuse: In EFUSE_BLK1DATA1_REG is used 8 bits starting with 0 bit D (1187) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 24 bit D (1187) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 16 bit D (1197) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 8 bit D (1207) efuse: In EFUSE_BLK1DATA0_REG is used 8 bits starting with 0 bit D (1227) temperature_sensor: range changed, change to index 2 D (1237) wifi:filter: set rx policy=0 I (1247) wifi:mode : sta (48:27:e2:d4:d7:b4) I (1247) wifi:enable tsf D (1247) wifi:filter: set rx policy=1 D (1247) wifi:connect status 0 -> 0 D (1247) event: no handlers have been registered for event WIFI_EVENT:41 posted to loop 0x3fca8430 D (1257) event: running post WIFI_EVENT:2 with handler 0x4203e038 and context 0x3fca9554 on loop 0x3fca8430 0x4203e038: wifi_default_action_sta_start at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_default.c:71

D (1267) wifi_init_default: wifi_start esp-netif:0x3fca9358 event-id2 D (1277) wifi_init_default: WIFI mac address: 48 27 e2 d4 d7 b4 D (1277) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203b2f8 0x4203b2f8: esp_netif_set_mac_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:993

D (1287) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (1287) wifi:connect status 0 -> 0 D (1297) wifi:Start wifi disconnect D (1297) wifi:connect status 0 -> 0 D (1297) wifi:filter: set rx policy=8 D (1307) wifi:filter: set rx policy=2 D (1307) wifi:clear scan ap list D (1307) wifi:clear blacklist D (1317) wifi:clear rc list D (1317) esp_netif_handlers: esp_netif action has started with netif0x3fca9358 from event_id=2 D (1327) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203bbac 0x4203bbac: esp_netif_start_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:1068

D (1327) esp_netif_lwip: esp_netif_start_api 0x3fca9358 I (1327) wifi:D (1337) esp_netif_lwip: esp_netif_get_hostname esp_netif:0x3fca9358 flush txq D (1347) esp_netif_lwip: check: local, if=0x3fca9358 fn=0x4203c308 0x4203c308: esp_netif_update_default_netif_lwip at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:316

I (1347) wifi:D (1347) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca9358 stop sw txq D (1357) esp_netif_lwip: call api in lwip: ret=0x0, give sem I (1357) wifi:lmac stop hw txq D (1367) wifi:filter: set rx policy=0 D (1367) event: running post WIFI_EVENT:3 with handler 0x4203df04 and context 0x3fca9584 on loop 0x3fca8430 0x4203df04: wifi_default_action_sta_stop at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_default.c:78

D (1377) esp_netif_handlers: esp_netif action stopped with netif0x3fca9358 from event_id=3 D (1387) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203bd78 0x4203bd78: esp_netif_stop_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:1167

D (1397) nvs: nvs_open_from_partition Num_ssid_nvs 1 D (1397) esp_netif_lwip: call api in lwip: ret=0x5002, give sem D (1397) nvs: nvs_set Num_ssid_key 1 0 D (1407) nvs: nvs_get opmode 1 D (1417) wifi:clear blacklist D (1417) nvs: nvs_get_str_or_blob sta.ssid D (1417) nvs: nvs_get sta.pmf_e 1 D (1427) wifi:filter: set rx policy=0 I (1427) wifi:mode : sta (48:27:e2:d4:d7:b4) I (1427) wifi:enable tsf D (1437) wifi:filter: set rx policy=1 D (1437) wifi:connect status 0 -> 0 D (1437) event: running post WIFI_EVENT:2 with handler 0x4203e038 and context 0x3fca9554 on loop 0x3fca8430 0x4203e038: wifi_default_action_sta_start at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_default.c:71

D (1447) wifi_init_default: wifi_start esp-netif:0x3fca9358 event-id2 D (1457) wifi_init_default: WIFI mac address: 48 27 e2 d4 d7 b4 D (1467) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203b2f8 0x4203b2f8: esp_netif_set_mac_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:993

D (1467) esp_netif_lwip: call api in lwip: ret=0x0, give sem I (1467) [wifi]: Wifi_init_station finished. D (1477) esp_netif_handlers: esp_netif action has started with netif0x3fca9358 from event_id=2 D (1487) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203bbac 0x4203bbac: esp_netif_start_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:1068

D (1497) esp_netif_lwip: esp_netif_start_api 0x3fca9358 D (1497) esp_netif_lwip: esp_netif_get_hostname esp_netif:0x3fca9358 D (1507) esp_netif_lwip: check: local, if=0x3fca9358 fn=0x4203c308 0x4203c308: esp_netif_update_default_netif_lwip at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:316

D (1507) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca9358 D (1517) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (1527) event: running post WIFI_EVENT:2 with handler 0x4200c278 and context 0x3fcb20fc on loop 0x3fca8430 0x4200c278: event_handler at D:/My Project/ESP32/ESP32_WIFI_USB_Gateway/Drivers/wifi/connect.c:138

D (1537) wifi:Start wifi connect D (1537) wifi:connect status 0 -> 0 D (1537) wifi:connect chan=0 D (1547) wifi:first chan=8 D (1547) wifi:connect status 0 -> 1 D (1547) wifi:filter: set rx policy=3 D (1557) wifi:clear scan ap list D (1557) wifi:start scan: type=0x50f, priority=2, cb=0x42061e50, arg=0x0, ss_state=0x1, time=1561043, index=0 0x42061e50: cnx_start_handoff_cb at ??:?

D (1567) wifi:perform scan: ss_state=0x9, chan<8,0>, dur<0,120> D (1577) wifi:rsn valid: gcipher=3 ucipher=3 akm=5 mac=e0:19:54:e9:f8:a3 D (1577) wifi:profile match: ss_state=0x7 D (1577) wifi:rsn valid: gcipher=3 ucipher=3 akm=5 mac=e0:19:54:e9:f8:a3 D (1587) wifi:profile match: ss_state=0x7 D (1587) wifi:rsn valid: gcipher=3 ucipher=3 akm=5 mac=e0:19:54:e9:f8:a3 D (1597) wifi:profile match: ss_state=0x7 D (1597) wifi:scan end: arg=0x0, status=0, ss_state=0x7 D (1607) wifi:find first mathched ssid, scan done D (1607) wifi:filter: set rx policy=4 D (1617) wifi:first chan=1 D (1617) wifi:handoff_cb: status=0 D (1617) wifi:ap found, mac=e0:19:54:e9:f8:a3 D (1627) wifi:going for connection with bssid=e0:19:54:e9:f8:a3 D (1627) wifi:new_bss=0x3fc9ff70, cur_bss=0x0, new_chan=<8,0>, cur_chan=1 D (1637) wifi:filter: set rx policy=5 I (1637) wifi:new:<8,0>, old:<1,0>, ap:<255,255>, sta:<8,0>, prof:1 D (1647) wifi:connect_op: status=0, auth=5, cipher=3 D (1647) wifi:auth mode is not none D (1657) wifi:connect_bss: auth=1, reconnect=0 I (1657) wifi:state: init -> auth (b0) D (1657) wifi:start 1s AUTH timer D (1667) wifi:clear scan ap list D (1667) event: running post WIFI_EVENT:41 with handler 0x4200c278 and context 0x3fcb20fc on loop 0x3fca8430 0x4200c278: event_handler at D:/My Project/ESP32/ESP32_WIFI_USB_Gateway/Drivers/wifi/connect.c:138

D (1667) wifi:recv auth: seq=2, status=0 I (1677) wifi:state: auth -> assoc (0) D (1687) wifi:restart connect 1s timer for assoc D (1687) wifi:recv assoc: type=0x10 D (1697) wifi:filter: set rx policy=6 I (1697) wifi:state: assoc -> run (10) D (1697) wifi:start 10s connect timer for 4 way handshake W (1707) wifi:[ADDBA]rx delba, code:39, delete tid:0 W (1707) wifi:[ADDBA]rx delba, code:39, delete tid:0 W (1717) wifi:[ADDBA]rx delba, code:39, delete tid:6 D (1787) gdma: new group (0) at 0x3fcb324c D (1787) gdma: new pair (0,0) at 0x3fcb2688 D (1787) gdma: new tx channel (0,0) at 0x3fcb2544 D (1797) gdma: new rx channel (0,0) at 0x3fcb32d4 D (1797) gdma: tx channel (0,0), (1:16) bytes aligned, burst enabled D (1807) gdma: rx channel (0,0), (1:16) bytes aligned, burst disabled D (1817) intr_alloc: Connected src 77 to int 17 (cpu 0) I (1817) wifi:connected with ptn209b3, aid = 9, channel 8, BW20, bssid = e0:19:54:e9:f8:a3 I (1827) wifi:security: WPA2-PSK, phy: bgn, rssi: -55 D (1827) wifi:remove all except e0:19:54:e9:f8:a3 from rc list D (1837) wifi:clear blacklist D (1837) nvs: nvs_set sta.chan 1 8 D (1837) nvs: nvs_set_blob sta.apinfo 700 D (1847) wifi:filter: set rx policy=7 I (1847) wifi:pm start, type: 1

I (1847) wifi:dp: 1, bi: 102400, li: 3, scale listen interval from 307200 us to 307200 us I (1857) wifi:set rx beacon pti, rx_bcn_pti: 0, bcn_timeout: 25000, mt_pti: 0, mt_time: 10000 D (1867) wifi:Send sta connected event D (1867) wifi:connect status 1 -> 5 D (1877) wifi:obss scan is disabled D (1877) wifi:start obss scan: obss scan is stopped I (1877) wifi:AP's beacon interval = 102400 us, DTIM period = 1 D (1887) event: running post WIFI_EVENT:4 with handler 0x4203e068 and context 0x3fca95b4 on loop 0x3fca8430 0x4203e068: wifi_default_action_sta_connected at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_default.c:85

D (1897) esp_netif_handlers: esp_netif action connected with netif0x3fca9358 from event_id=4 D (1907) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203bf60 0x4203bf60: esp_netif_up_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:1647

D (1907) esp_netif_lwip: esp_netif_up_api esp_netif:0x3fca9358 D (1917) esp_netif_lwip: check: local, if=0x3fca9358 fn=0x4203c308 0x4203c308: esp_netif_update_default_netif_lwip at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:316

D (1927) esp_netif_lwip: esp_netif_update_default_netif_lwip 0x3fca9358 D (1927) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (1937) esp_netif_lwip: check: remote, if=0x3fca9358 fn=0x4203be20 0x4203be20: esp_netif_dhcpc_start_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:1439

D (1947) esp_netif_lwip: esp_netif_dhcpc_start_api esp_netif:0x3fca9358 D (1947) esp_netif_lwip: esp_netif_start_ip_lost_timer esp_netif:0x3fca9358 D (1957) esp_netif_lwip: if0x3fca9358 start ip lost tmr: interval=120 D (1967) esp_netif_lwip: starting dhcp client D (1967) wifi:D (1967) esp_netif_lwip: call api in lwip: ret=0x0, give sem eb is dhcp or dns sport = 68, dport = 67 D (1977) event: running post WIFI_EVENT:4 with handler 0x4200c278 and context 0x3fcb20fc on loop 0x3fca8430 0x4200c278: event_handler at D:/My Project/ESP32/ESP32_WIFI_USB_Gateway/Drivers/wifi/connect.c:138

I (2057) wifi:idx:0 (ifx:0, e0:19:54:e9:f8:a3), tid:0, ssn:1, winSize:64 I (2197) wifi:idx:1 (ifx:0, e0:19:54:e9:f8:a3), tid:6, ssn:2, winSize:64 D (2467) wifi:eb is dhcp or dns sport = 68, dport = 67 D (3467) wifi:eb is dhcp or dns sport = 68, dport = 67 D (4107) wifi:eb is dhcp or dns sport = 68, dport = 67 D (4967) esp_netif_lwip: esp_netif_internal_dhcpc_cb lwip-netif:0x3fca93dc D (4967) esp_netif_lwip: if0x3fca9358 ip changed=1 D (4967) event: running post IP_EVENT:0 with handler 0x4203de94 and context 0x3fca9688 on loop 0x3fca8430 0x4203de94: wifi_default_action_sta_got_ip at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_wifi/src/wifi_default.c:127

D (4977) wifi_init_default: Got IP wifi default handler entered D (4977) esp_netif_handlers: esp_netif action got_ip with netif0x3fca9358 from event_id=0 I (4987) esp_netif_handlers: sta ip: 192.168.1.21, mask: 255.255.255.0, gw: 192.168.1.1 D (4997) event: running post IP_EVENT:0 with handler 0x4200c278 and context 0x3fcb211c on loop 0x3fca8430 0x4200c278: event_handler at D:/My Project/ESP32/ESP32_WIFI_USB_Gateway/Drivers/wifi/connect.c:138

I (5007) [wifi]: got ip:192.168.1.21 I (5007) [wifi]: Connected to ap SSID:ptn209b3 password:ptn209b3@ D (5017) esp_netif_lwip: check: remote, if=0x3fca55b0 fn=0x4203b2e4 0x4203b2e4: get_handle_from_ifkey_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:794

D (5027) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (5027) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (5037) esp_netif_lwip: check: remote, if=0x3fca55b0 fn=0x4203b2e4 0x4203b2e4: get_handle_from_ifkey_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:794

D (5037) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (5047) esp_netif_lwip: check: remote, if=0x3fca55b0 fn=0x4203b2e4 0x4203b2e4: get_handle_from_ifkey_api at C:/Espressif/frameworks/esp-idf-v5.2.2/components/esp_netif/lwip/esp_netif_lwip.c:794

D (5057) esp_netif_lwip: call api in lwip: ret=0x0, give sem D (5057) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x0 D (5067) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x0 I (5067) MAIN: mdns hostname set to: [ftp-server] I (5077) MAIN: Getting time over NTP. I (5077) MAIN: Initializing SNTP I (5087) MAIN: Your NTP Server is pool.ntp.org I (5087) MAIN: Waiting for system time to be set... (1/10) D (5267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (5567) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (5867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (6167) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (7097) MAIN: Waiting for system time to be set... (2/10) D (7267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (7677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (7887) wifi:eb is dhcp or dns sport = 20540, dport = 53 I (7897) MAIN: Notification of a time synchronization event D (8097) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (8367) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (8737) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (8797) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (9097) MAIN: The local date/time is: Mon Jul 15 09:23:35 2024 W (9097) MAIN: This server manages file timestamps in GMT. I (9097) MAIN: Initializing wear levelling D (9097) wl_flash: config - config result: state_size=0x00002000, cfg_size=0x00001000, addr_cfg=0x000ff000, addr_state1=0x000fb000, addr_state2=0x000fd000, flash_size=0x000fa000 D (9117) wl_flash: init - config ID=2, stored ID=2, wl_sec_erase_cycle_count=0, wl_block_size=4096, wl_max_sec_erase_cycle_count=16, wl_dummy_sec_pos=0, wl_dummy_sec_move_count=0x00000000 D (9127) wl_flash: init starts: crc1= 0x37394bfb, crc2 = 0x37394bfb, this->state.crc= 0x37394bfb, state_copy->crc= 0x37394bfb, version=2, read_version=2 D (9147) wl_flash: init: crc1=0x37394bfb, crc2 = 0x37394bfb, result= 0x00000000 D (9157) wl_flash: recoverPos - this->state.wl_dummy_sec_pos= 0x00000006, position= 0x00000006, result= 0x00000000, wl_part_max_sec_pos= 0x000000fb D (9167) wl_flash: init - wl_dummy_sec_move_count= 0x00000000 I (9177) MAIN: Mount storage... D (9177) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (9187) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 I (9187) [usb]: Storage mounted to application: Yes I (9197) MAIN: ls command output: D (9197) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 System Volume Information New folder I (9207) [usb]: USB MSC initialization I (9207) tusb_desc: ┌─────────────────────────────────┐ │ USB Device Descriptor Summary │ ├───────────────────┬─────────────┤ │bDeviceClass │ 239 │ ├───────────────────┼─────────────┤ │bDeviceSubClass │ 2 │ ├───────────────────┼─────────────┤ │bDeviceProtocol │ 1 │ ├───────────────────┼─────────────┤ │bMaxPacketSize0 │ 64 │ ├───────────────────┼─────────────┤ │idVendor │ 0x303a │ ├───────────────────┼─────────────┤ │idProduct │ 0x4002 │ ├───────────────────┼─────────────┤ │bcdDevice │ 0x100 │ ├───────────────────┼─────────────┤ │iManufacturer │ 0x1 │ ├───────────────────┼─────────────┤ │iProduct │ 0x2 │ ├───────────────────┼─────────────┤ │iSerialNumber │ 0x3 │ ├───────────────────┼─────────────┤ │bNumConfigurations │ 0x1 │ └───────────────────┴─────────────┘ D (9237) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (9387) esp_netif_lwiD (9387) intr_alloc: Connected src 38 top: es int 18 (cpu 0) p_netif_get_ip_info esp_netif:0x3fca9358 D (9397) tusb_tsk: tinyusb task started D (9397) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (9407) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (9397) TinyUSB: TinyUSB Driver installed I (9417) [usb]: USB MSC initialization DONE I (9427) [Ftp]: ftp_task start I (9427) [Ftp]: ftp_user:[esp32] ftp_pass:[esp32] D (9877) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (10047) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (10457) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (10457) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (10457) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (10787) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11617) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11617) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11617) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (11777) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (12087) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (12497) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (12597) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (12717) [Ftp]: Client IP: 0x0d01a8c0 I (12717) [Ftp]: Server IP: 0x1501a8c0 I (12717) [Ftp]: Connected. I (12717) [Ftp]: Send reply: [220 ESP32 FTP Server] I (12737) [Ftp]: Send reply: OK (22) I (12747) [Ftp]: CMD: USER I (12747) [Ftp]: Send reply: [331 ] I (12767) [Ftp]: Send reply: OK (6) D (12767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (13517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (15567) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (17097) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (17097) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (17167) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (17267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (18267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (18277) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (18367) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (18467) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (19727) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (21627) [Ftp]: CMD: PASS I (21627) [Ftp]: Send reply: [230 ] I (21647) [Ftp]: Send reply: OK (6) I (21687) [Ftp]: CMD: SYST I (21687) [Ftp]: Send reply: [215 UNIX Type: L8] I (21707) [Ftp]: Send reply: OK (19) I (21727) [Ftp]: CMD: FEAT I (21727) [Ftp]: Send reply: [502 no-features] I (21747) [Ftp]: Send reply: OK (17) I (21867) [Ftp]: CMD: PWD I (21867) [Ftp]: Send reply: [257 /] I (21887) [Ftp]: Send reply: OK (7) I (21937) [Ftp]: CMD: CWD I (21937) [Ftp]: open_child: / + / I (21937) [Ftp]: open_child, New pwd: / I (21937) [Ftp]: Send reply: [250 ] I (21957) [Ftp]: Send reply: OK (6) I (22017) [Ftp]: CMD: PWD I (22017) [Ftp]: Send reply: [257 /] I (22037) [Ftp]: Send reply: OK (7) I (22177) [Ftp]: CMD: TYPE I (22177) [Ftp]: Send reply: [200 ] I (22197) [Ftp]: Send reply: OK (6) I (22547) [Ftp]: CMD: PASV I (22547) [Ftp]: Data socket created I (22547) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (22567) [Ftp]: Send reply: OK (26) I (22577) [Ftp]: Data socket connected I (22587) [Ftp]: CMD: LIST I (22587) [Ftp]: open_child: / + -a I (22587) [Ftp]: open_child, New pwd: /-a I (22587) [Ftp]: ftp_open_dir_for_listing path=[/-a] MOUNT_POINT=[/data] I (22587) [Ftp]: ftp_open_dir_for_listing: /data/-a D (22597) vfs_fat: vfs_fat_opendir: fresult=5 I (22597) [Ftp]: Send reply: [550 ] I (22627) [Ftp]: Send reply: OK (6) I (22627) [Ftp]: remove_fname_from_path: /-a - -a I (22627) [Ftp]: remove_fname_from_path: New pwd: / I (22637) [Ftp]: CMD: TYPE I (22637) [Ftp]: Send reply: [200 ] I (22657) [Ftp]: Send reply: OK (6) I (22667) [Ftp]: CMD: PASV I (22667) [Ftp]: Data socket created I (22667) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (22687) [Ftp]: Send reply: OK (26) I (22697) [Ftp]: Data socket connected I (22707) [Ftp]: CMD: LIST I (22707) [Ftp]: open_child: / + I (22707) [Ftp]: open_child, New pwd: / I (22707) [Ftp]: ftp_open_dir_for_listing path=[/] MOUNT_POINT=[/data] I (22707) [Ftp]: ftp_open_dir_for_listing: /data/ I (22717) [Ftp]: Send reply: [150 ] I (22737) [Ftp]: Send reply: OK (6) I (22737) [Ftp]: remove_fname_from_path: / - I (22747) [Ftp]: readdir de=0x3fcd4064 I (22747) [Ftp]: Add to dir list: System Volume Information I (22747) [Ftp]: ftp_get_eplf_item res=0 buf.st_size=0 I (22747) [Ftp]: readdir de=0x3fcd4064 I (22757) [Ftp]: Add to dir list: New folder I (22757) [Ftp]: ftp_get_eplf_item res=0 buf.st_size=0 I (22767) [Ftp]: readdir de=0x0 I (22767) [Ftp]: Send list data: (137) I (22787) [Ftp]: Send OK I (22787) [Ftp]: Send reply: [226 ] I (22807) [Ftp]: Send reply: OK (6) I (22817) [Ftp]: Data socket disconnected D (29587) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (36357) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (42897) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (42907) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (42907) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (42907) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (42967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (43067) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (43167) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (43267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (43937) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (44067) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (52737) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (52737) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (52787) [Ftp]: CMD: -1 I (52787) [Ftp]: Send reply: [502 ] I (52807) [Ftp]: Send reply: OK (6) I (54397) [Ftp]: CMD: TYPE I (54397) [Ftp]: Send reply: [200 ] I (54417) [Ftp]: Send reply: OK (6) I (54427) [Ftp]: CMD: PASV I (54427) [Ftp]: Data socket created I (54427) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (54447) [Ftp]: Send reply: OK (26) I (54457) [Ftp]: Data socket connected I (54467) [Ftp]: CMD: LIST I (54467) [Ftp]: open_child: / + I (54467) [Ftp]: open_child, New pwd: / I (54467) [Ftp]: ftp_open_dir_for_listing path=[/] MOUNT_POINT=[/data] I (54467) [Ftp]: ftp_open_dir_for_listing: /data/ I (54477) [Ftp]: Send reply: [150 ] I (54497) [Ftp]: Send reply: OK (6) I (54497) [Ftp]: remove_fname_from_path: / - I (54507) [Ftp]: readdir de=0x3fcd4138 I (54507) [Ftp]: Add to dir list: System Volume Information I (54507) [Ftp]: ftp_get_eplf_item res=0 buf.st_size=0 I (54507) [Ftp]: readdir de=0x3fcd4138 I (54517) [Ftp]: Add to dir list: New folder I (54517) [Ftp]: ftp_get_eplf_item res=0 buf.st_size=0 I (54527) [Ftp]: readdir de=0x0 I (54527) [Ftp]: Send list data: (137) I (54547) [Ftp]: Send OK I (54547) [Ftp]: Send reply: [226 ] I (54567) [Ftp]: Send reply: OK (6) I (54577) [Ftp]: Data socket disconnected D (60517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (60517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (64817) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (65837) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67577) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67587) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (67967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (71797) [Ftp]: CMD: CWD I (71797) [Ftp]: open_child: / + New folder I (71797) [Ftp]: open_child, New pwd: /New folder I (71797) [Ftp]: E_FTP_CMD_CWD fullname=[/data/New folder] I (71797) [Ftp]: Send reply: [250 ] I (71827) [Ftp]: Send reply: OK (6) I (71837) [Ftp]: CMD: PWD I (71837) [Ftp]: Send reply: [257 /New folder] I (71857) [Ftp]: Send reply: OK (17) I (71867) [Ftp]: CMD: TYPE I (71867) [Ftp]: Send reply: [200 ] I (71887) [Ftp]: Send reply: OK (6) I (72037) [Ftp]: CMD: PASV I (72037) [Ftp]: Data socket created I (72037) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (72057) [Ftp]: Send reply: OK (26) I (72367) [Ftp]: Data socket connected I (72377) [Ftp]: CMD: LIST I (72377) [Ftp]: open_child: /New folder + I (72377) [Ftp]: open_child, New pwd: /New folder I (72377) [Ftp]: ftp_open_dir_for_listing path=[/New folder] MOUNT_POINT=[/data] I (72387) [Ftp]: ftp_open_dir_for_listing: /data/New folder I (72387) [Ftp]: Send reply: [150 ] I (72417) [Ftp]: Send reply: OK (6) I (72417) [Ftp]: remove_fname_from_path: /New folder - D (72427) wl_flash: read - src_addr= 0x0000f200, size= 0x00000200 I (72427) [Ftp]: readdir de=0x0 I (72427) [Ftp]: Send reply: [226 ] I (72447) [Ftp]: Send reply: OK (6) I (72457) [Ftp]: Data socket disconnected I (81367) [Ftp]: CMD: TYPE I (81367) [Ftp]: Send reply: [200 ] I (81387) [Ftp]: Send reply: OK (6) I (81417) [Ftp]: CMD: PASV I (81417) [Ftp]: Data socket created I (81417) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (81437) [Ftp]: Send reply: OK (26) I (81467) [Ftp]: Data socket connected I (81477) [Ftp]: CMD: LIST I (81477) [Ftp]: open_child: /New folder + I (81477) [Ftp]: open_child, New pwd: /New folder I (81477) [Ftp]: ftp_open_dir_for_listing path=[/New folder] MOUNT_POINT=[/data] I (81487) [Ftp]: ftp_open_dir_for_listing: /data/New folder D (81487) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 I (81497) [Ftp]: Send reply: [150 ] I (81517) [Ftp]: Send reply: OK (6) I (81517) [Ftp]: remove_fname_from_path: /New folder - D (81527) wl_flash: read - src_addr= 0x0000f200, size= 0x00000200 I (81527) [Ftp]: readdir de=0x0 I (81527) [Ftp]: Send reply: [226 ] I (81547) [Ftp]: Send reply: OK (6) I (81557) [Ftp]: Data socket disconnected D (93687) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (93767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (95347) [Ftp]: CMD: TYPE I (95347) [Ftp]: Send reply: [200 ] I (95367) [Ftp]: Send reply: OK (6) I (95407) [Ftp]: CMD: PASV I (95407) [Ftp]: Data socket created I (95407) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (95427) [Ftp]: Send reply: OK (26) I (95437) [Ftp]: Data socket connected I (95447) [Ftp]: CMD: LIST I (95447) [Ftp]: open_child: /New folder + I (95447) [Ftp]: open_child, New pwd: /New folder I (95447) [Ftp]: ftp_open_dir_for_listing path=[/New folder] MOUNT_POINT=[/data] I (95457) [Ftp]: ftp_open_dir_for_listing: /data/New folder D (95457) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 I (95467) [Ftp]: Send reply: [150 ] I (95487) [Ftp]: Send reply: OK (6) I (95487) [Ftp]: remove_fname_from_path: /New folder - D (95497) wl_flash: read - src_addr= 0x0000f200, size= 0x00000200 I (95497) [Ftp]: readdir de=0x0 I (95497) [Ftp]: Send reply: [226 ] I (95517) [Ftp]: Send reply: OK (6) I (95527) [Ftp]: Data socket disconnected D (96557) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109157) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109157) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109257) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109267) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109367) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (109997) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (110277) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (110287) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (111107) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (112237) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (116227) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (121957) esp_netif_lwip: esp_netif_ip_lost_timer esp_netif:0x3fca9358 D (121957) esp_netif_lwip: if0x3fca9358 ip lost tmr: no need raise ip lost event D (122367) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (125157) [Ftp]: CMD: PWD I (125157) [Ftp]: Send reply: [257 /New folder] I (125177) [Ftp]: Send reply: OK (17) D (133017) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (134657) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (134657) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (134767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (134867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (137417) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (137517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (138547) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (143867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (146937) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (154007) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (154857) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (155137) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (155287) [Ftp]: CMD: TYPE I (155287) [Ftp]: Send reply: [200 ] I (155307) [Ftp]: Send reply: OK (6) D (155847) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (156057) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (156157) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (156357) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159637) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159647) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159647) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159647) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (159967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (160067) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (162717) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (163327) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (165677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (167007) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (167417) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (168397) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (168397) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (168907) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (169097) [usb]: Storage mounted to application: No D (169117) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169117) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169117) wl_flash: read - src_addr= 0x00000200, size= 0x00000200 D (169127) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169127) wl_flash: read - src_addr= 0x00000600, size= 0x00000200 D (169137) wl_flash: read - src_addr= 0x00000800, size= 0x00000200 D (169137) wl_flash: read - src_addr= 0x00000a00, size= 0x00000200 D (169147) wl_flash: read - src_addr= 0x00000c00, size= 0x00000200 D (169157) wl_flash: read - src_addr= 0x00000e00, size= 0x00000200 D (169157) wl_flash: read - src_addr= 0x00001000, size= 0x00000200 D (169167) wl_flash: read - src_addr= 0x00001200, size= 0x00000200 D (169177) wl_flash: read - src_addr= 0x00001400, size= 0x00000200 D (169177) wl_flash: read - src_addr= 0x00001600, size= 0x00000200 D (169187) wl_flash: read - src_addr= 0x00001800, size= 0x00000200 D (169187) wl_flash: read - src_addr= 0x00001a00, size= 0x00000200 D (169197) wl_flash: read - src_addr= 0x00001c00, size= 0x00000200 D (169207) wl_flash: read - src_addr= 0x00001e00, size= 0x00000200 D (169207) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169217) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169227) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169237) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169237) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169237) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169247) wl_flash: read - src_addr= 0x00008000, size= 0x00000200 D (169257) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 D (169257) wl_flash: read - src_addr= 0x00008400, size= 0x00000200 D (169267) wl_flash: read - src_addr= 0x00008600, size= 0x00000200 D (169277) wl_flash: read - src_addr= 0x00008800, size= 0x00000200 D (169277) wl_flash: read - src_addr= 0x00008a00, size= 0x00000200 D (169287) wl_flash: read - src_addr= 0x00008c00, size= 0x00000200 D (169287) wl_flash: read - src_addr= 0x00008e00, size= 0x00000200 D (169297) wl_flash: read - src_addr= 0x00009000, size= 0x00000200 D (169307) wl_flash: read - src_addr= 0x00009200, size= 0x00000200 D (169307) wl_flash: read - src_addr= 0x00009400, size= 0x00000200 D (169317) wl_flash: read - src_addr= 0x00009600, size= 0x00000200 D (169327) wl_flash: read - src_addr= 0x00009800, size= 0x00000200 D (169327) wl_flash: read - src_addr= 0x00009a00, size= 0x00000200 D (169337) wl_flash: read - src_addr= 0x00009c00, size= 0x00000200 D (169347) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169347) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169357) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169357) wl_flash: read - src_addr= 0x00008000, size= 0x00000200 D (169367) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (169367) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 D (169377) wl_flash: read - src_addr= 0x00008400, size= 0x00000200 D (169387) wl_flash: read - src_addr= 0x00008600, size= 0x00000200 D (169387) wl_flash: read - src_addr= 0x00008800, size= 0x00000200 D (169397) wl_flash: read - src_addr= 0x00008a00, size= 0x00000200 D (169407) wl_flash: read - src_addr= 0x00008c00, size= 0x00000200 D (169407) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 D (169417) wl_flash: read - src_addr= 0x00008400, size= 0x00000200 D (169427) wl_flash: read - src_addr= 0x00008600, size= 0x00000200 D (169427) wl_flash: read - src_addr= 0x00008800, size= 0x00000200 D (169437) wl_flash: read - src_addr= 0x00008a00, size= 0x00000200 D (169437) wl_flash: read - src_addr= 0x00008c00, size= 0x00000200 D (169447) wl_flash: read - src_addr= 0x00008e00, size= 0x00000200 D (169457) wl_flash: read - src_addr= 0x00009000, size= 0x00000200 D (169467) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169467) wl_flash: read - src_addr= 0x00008000, size= 0x00000200 D (169477) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 D (169477) wl_flash: read - src_addr= 0x00008400, size= 0x00000200 D (169487) wl_flash: read - src_addr= 0x00008600, size= 0x00000200 D (169487) wl_flash: read - src_addr= 0x00008800, size= 0x00000200 D (169497) wl_flash: read - src_addr= 0x00008a00, size= 0x00000200 D (169507) wl_flash: read - src_addr= 0x00008c00, size= 0x00000200 D (169507) wl_flash: read - src_addr= 0x00008e00, size= 0x00000200 D (169517) wl_flash: read - src_addr= 0x00009000, size= 0x00000200 D (169527) wl_flash: read - src_addr= 0x00009200, size= 0x00000200 D (169527) wl_flash: read - src_addr= 0x00009400, size= 0x00000200 D (169537) wl_flash: read - src_addr= 0x00009600, size= 0x00000200 D (169537) wl_flash: read - src_addr= 0x00009800, size= 0x00000200 D (169547) wl_flash: read - src_addr= 0x00009a00, size= 0x00000200 D (169557) wl_flash: read - src_addr= 0x00009c00, size= 0x00000200 D (169567) wl_flash: read - src_addr= 0x0000c200, size= 0x00000200 D (169567) wl_flash: read - src_addr= 0x0000c400, size= 0x00000200 D (169577) wl_flash: read - src_addr= 0x0000c600, size= 0x00000200 D (169577) wl_flash: read - src_addr= 0x0000c800, size= 0x00000200 D (169587) wl_flash: read - src_addr= 0x0000ca00, size= 0x00000200 D (169587) wl_flash: read - src_addr= 0x0000cc00, size= 0x00000200 D (169597) wl_flash: read - src_addr= 0x0000ce00, size= 0x00000200 D (169607) wl_flash: read - src_addr= 0x0000d000, size= 0x00000200 D (169607) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169617) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169627) wl_flash: read - src_addr= 0x00000200, size= 0x00000200 D (169627) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169637) wl_flash: read - src_addr= 0x00000600, size= 0x00000200 D (169637) wl_flash: read - src_addr= 0x00000800, size= 0x00000200 D (169647) wl_flash: read - src_addr= 0x00000a00, size= 0x00000200 D (169657) wl_flash: read - src_addr= 0x00000c00, size= 0x00000200 D (169657) wl_flash: read - src_addr= 0x00000e00, size= 0x00000200 D (169667) wl_flash: read - src_addr= 0x00001000, size= 0x00000200 D (169677) wl_flash: read - src_addr= 0x00001200, size= 0x00000200 D (169677) wl_flash: read - src_addr= 0x00001400, size= 0x00000200 D (169687) wl_flash: read - src_addr= 0x00001600, size= 0x00000200 D (169687) wl_flash: read - src_addr= 0x00001800, size= 0x00000200 D (169697) wl_flash: read - src_addr= 0x00001a00, size= 0x00000200 D (169707) wl_flash: read - src_addr= 0x00001c00, size= 0x00000200 D (169707) wl_flash: read - src_addr= 0x00001e00, size= 0x00000200 D (169727) wl_flash: read - src_addr= 0x00007e00, size= 0x00000200 D (169727) wl_flash: read - src_addr= 0x00008000, size= 0x00000200 D (169727) wl_flash: read - src_addr= 0x00008200, size= 0x00000200 D (169737) wl_flash: read - src_addr= 0x00008400, size= 0x00000200 D (169737) wl_flash: read - src_addr= 0x00008600, size= 0x00000200 D (169747) wl_flash: read - src_addr= 0x00008800, size= 0x00000200 D (169757) wl_flash: read - src_addr= 0x00008a00, size= 0x00000200 D (169757) wl_flash: read - src_addr= 0x00008c00, size= 0x00000200 D (169767) wl_flash: read - src_addr= 0x00008e00, size= 0x00000200 D (169777) wl_flash: read - src_addr= 0x00009000, size= 0x00000200 D (169777) wl_flash: read - src_addr= 0x00009200, size= 0x00000200 D (169787) wl_flash: read - src_addr= 0x00009400, size= 0x00000200 D (169787) wl_flash: read - src_addr= 0x00009600, size= 0x00000200 D (169797) wl_flash: read - src_addr= 0x00009800, size= 0x00000200 D (169807) wl_flash: read - src_addr= 0x00009a00, size= 0x00000200 D (169807) wl_flash: read - src_addr= 0x00009c00, size= 0x00000200 D (169817) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169827) wl_flash: read - src_addr= 0x00000200, size= 0x00000200 D (169827) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169837) wl_flash: read - src_addr= 0x00000600, size= 0x00000200 D (169837) wl_flash: read - src_addr= 0x00000800, size= 0x00000200 D (169847) wl_flash: read - src_addr= 0x00000a00, size= 0x00000200 D (169857) wl_flash: read - src_addr= 0x00000c00, size= 0x00000200 D (169857) wl_flash: read - src_addr= 0x00000e00, size= 0x00000200 D (169867) wl_flash: read - src_addr= 0x00001000, size= 0x00000200 D (169877) wl_flash: read - src_addr= 0x00001200, size= 0x00000200 D (169877) wl_flash: read - src_addr= 0x00001400, size= 0x00000200 D (169887) wl_flash: read - src_addr= 0x00001600, size= 0x00000200 D (169887) wl_flash: read - src_addr= 0x00001800, size= 0x00000200 D (169897) wl_flash: read - src_addr= 0x00001a00, size= 0x00000200 D (169907) wl_flash: read - src_addr= 0x00001c00, size= 0x00000200 D (169907) wl_flash: read - src_addr= 0x00001e00, size= 0x00000200 D (169937) wl_flash: read - src_addr= 0x0000e200, size= 0x00000200 D (169937) wl_flash: read - src_addr= 0x00000000, size= 0x00000200 D (169937) wl_flash: read - src_addr= 0x00000200, size= 0x00000200 D (169947) wl_flash: read - src_addr= 0x00000400, size= 0x00000200 D (169947) wl_flash: read - src_addr= 0x00000600, size= 0x00000200 D (169957) wl_flash: read - src_addr= 0x00000800, size= 0x00000200 D (169967) wl_flash: read - src_addr= 0x00000a00, size= 0x00000200 D (169967) wl_flash: read - src_addr= 0x00000c00, size= 0x00000200 D (169977) wl_flash: read - src_addr= 0x00000e00, size= 0x00000200 D (169977) wl_flash: read - src_addr= 0x00001000, size= 0x00000200 D (169987) wl_flash: read - src_addr= 0x00001200, size= 0x00000200 D (169997) wl_flash: read - src_addr= 0x00001400, size= 0x00000200 D (169997) wl_flash: read - src_addr= 0x00001600, size= 0x00000200 D (170007) wl_flash: read - src_addr= 0x00001800, size= 0x00000200 D (170017) wl_flash: read - src_addr= 0x00001a00, size= 0x00000200 D (170017) wl_flash: read - src_addr= 0x00001c00, size= 0x00000200 D (170027) wl_flash: read - src_addr= 0x00001e00, size= 0x00000200 D (170067) wl_flash: read - src_addr= 0x0000d200, size= 0x00000200 D (170387) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (170387) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (170507) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (170707) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (170937) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (171227) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (171427) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (171517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (172337) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (172337) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (174597) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (184627) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (184627) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (184767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (184867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (185567) [Ftp]: CMD: -1 I (185567) [Ftp]: Send reply: [502 ] I (185587) [Ftp]: Send reply: OK (6) D (185647) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (185767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (190667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (191377) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (191787) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (192917) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (194967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (195677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (195677) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (202647) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (208377) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (208797) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (209717) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (209717) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (209767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (209867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (215677) [Ftp]: CMD: PWD I (215677) [Ftp]: Send reply: [257 /New folder] I (215697) [Ftp]: Send reply: OK (17) D (226927) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (228147) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (228147) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (230087) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (231007) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (231217) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234607) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234607) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234617) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234617) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (234997) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (241477) [Ftp]: CMD: TYPE I (241477) [Ftp]: Send reply: [200 ] I (241497) [Ftp]: Send reply: OK (6) I (241567) [Ftp]: CMD: PASV I (241567) [Ftp]: Data socket created I (241567) [Ftp]: Send reply: [227 (192,168,1,21,7,232)] I (241587) [Ftp]: Send reply: OK (26) I (241817) [Ftp]: Data socket connected I (241827) [Ftp]: CMD: LIST I (241827) [Ftp]: open_child: /New folder + I (241827) [Ftp]: open_child, New pwd: /New folder I (241827) [Ftp]: ftp_open_dir_for_listing path=[/New folder] MOUNT_POINT=[/data] I (241837) [Ftp]: ftp_open_dir_for_listing: /data/New folder I (241837) [Ftp]: Send reply: [550 ] I (241867) [Ftp]: Send reply: OK (6) I (241867) [Ftp]: remove_fname_from_path: /New folder - I (250277) [Ftp]: CMD: CWD I (250277) [Ftp]: open_child: /New folder + /New I (250277) [Ftp]: open_child, New pwd: /New I (250277) [Ftp]: E_FTP_CMD_CWD fullname=[/data/New] I (250277) [Ftp]: close_child: /New I (250287) [Ftp]: close_child, New pwd: / I (250287) [Ftp]: Send reply: [550 ] I (250317) [Ftp]: Send reply: OK (6) I (250377) [Ftp]: CMD: CWD I (250377) [Ftp]: open_child: / + / I (250377) [Ftp]: open_child, New pwd: / I (250377) [Ftp]: Send reply: [250 ] I (250397) [Ftp]: Send reply: OK (6) I (250527) [Ftp]: CMD: MKD I (250527) [Ftp]: open_child: / + New I (250527) [Ftp]: open_child, New pwd: /New I (250527) [Ftp]: E_FTP_CMD_MKD ftp_path=[/New] I (250527) [Ftp]: E_FTP_CMD_MKD fullname=[/data/New] I (250537) [Ftp]: Send reply: [550 ] I (250557) [Ftp]: Send reply: OK (6) I (250557) [Ftp]: remove_fname_from_path: /New - New I (250557) [Ftp]: remove_fname_from_path: New pwd: / I (250567) [Ftp]: CMD: CWD I (250567) [Ftp]: open_child: / + /New I (250567) [Ftp]: open_child, New pwd: /New I (250567) [Ftp]: E_FTP_CMD_CWD fullname=[/data/New] I (250577) [Ftp]: close_child: /New I (250577) [Ftp]: close_child, New pwd: / I (250587) [Ftp]: Send reply: [550 ] I (250607) [Ftp]: Send reply: OK (6) W (251827) [Ftp]: Data connection timeout D (255077) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (255077) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (257837) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259787) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259787) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259787) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259797) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (259967) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (260067) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (260167) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (260717) [Ftp]: CMD: CWD I (260717) [Ftp]: open_child: / + /New I (260717) [Ftp]: open_child, New pwd: /New I (260717) [Ftp]: E_FTP_CMD_CWD fullname=[/data/New] I (260717) [Ftp]: close_child: /New I (260727) [Ftp]: close_child, New pwd: / I (260727) [Ftp]: Send reply: [550 ] I (260757) [Ftp]: Send reply: OK (6) D (262957) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (273917) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (273927) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (277497) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (277707) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (277707) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (277707) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (278007) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (279047) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (279457) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (281497) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284567) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284567) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284567) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (284867) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (285487) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (291177) [Ftp]: CMD: TYPE I (291177) [Ftp]: Send reply: [200 ] I (291197) [Ftp]: Send reply: OK (6) D (293477) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (295217) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (295517) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (307507) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (308447) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (309657) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (309767) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (310577) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (310667) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (313547) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 D (319507) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358 I (321387) [Ftp]: CMD: TYPE I (321387) [Ftp]: Send reply: [200 ] I (321407) [Ftp]: Send reply: OK (6) D (321427) esp_netif_lwip: esp_netif_get_ip_info esp_netif:0x3fca9358

peter-marcisovsky commented 1 month ago

From what you have provided, it looks like that your problem is related to a HW issue regarding the USB bus. Have you done any modification on the development board you are using?

TransistorTun commented 1 month ago

No, I haven't done any modification on my development board. I have just buy that board to build this project

peter-marcisovsky commented 1 month ago

Okay then, what is happening here is: There is a mutual exclusivity of owning the File System (FS) between the USB Host (your CNC machine) and the application (code running in your the esp32s3). Only one of them can have an access to the File system at the time.

With esp32s3 board NOT connected to the USB Host, the owner of the File System is your application, thus you can access the File system on the esp32s3 over the FTP.

Once you connect the esp32s3 board to the USB Host, the owner of the File System changes from your application, to the USB Host. Thus you (your code) are not allowed to access the File System on the esp32s3 over the FTP.

In your log, you can see the following lines: [usb]: Storage mounted to application: Yes - The FS is owned by the app [usb]: Storage mounted to application: No - The FS is owned by the USB Host Indicating, who owns the File system

To be able to monitor who owns the FS by hardware, one must implement a so called VBUS Monitor on the USB Device side (on your devkit) And update the tinyusb_config_t, according to the documentation. After that you will be able to determine who owns the FS.

You can check the functionality of the Vbus monitor by running the tusb_msc example (with the changes from the documentation) and simply plug and unplug the USB Device. You should see a following output:

I (9948) example_main: Storage mounted to application: Yes
I (12358) example_main: Storage mounted to application: No
I (14628) example_main: Storage mounted to application: Yes
I (16708) example_main: Storage mounted to application: No

Now, you will be able to determine who owns the FS. Based on this information, you can follow up and change the logic in your code accordingly. Thus you should access the FS (over the FTP) Only when the File System is owned by the App, not by the USB Host

TransistorTun commented 1 month ago

Thank you very much for helping and replying me. I'll try it and If it has problem, I would ask you later.

TransistorTun commented 1 month ago

Hi @peter-marcisovsky , after debugging and fixing, I realized that when I don't plug the USB (esp32), the SD Card is mounted at an address (example /data). But the address is changed when I plug the USB (my esp32) into the device (the address isn't /data anymore). I don't know how to fix it, but I know that when I plug in the USB, there is an interrupt that makes the USB unmount from esp32 and mount the USB to the device. So that, esp32 can't connect and make changes on the SD Card.

peter-marcisovsky commented 1 week ago

Hi @TransistorTun have you resolved your problem? Feel free to close the issue, if you don't have any other questions, or if the problem has been resolved. Thank you.