An sich läuft das Update jetzt durch und es kommt auch die Meldung „Sucess“ allerdings bootet der OBS mit der alten Version.
Die Meldung „Sucess“ kommt vom configServer danach gibt es einen reboot und es wird von der anderen Partition (der FlashApp) gebootet. Dort gibt es dann den Fehler.
Es ist ziemlich ärgerlich, mit der SD Karte vom Kasseler Workshop tritt der Fehler auch auf.
Im Log sieht das bei mir so aus:
[HTTPS:I] Request: POST /updatesd (FID=50)
[308046][I][configServer.cpp:2178] handleFirmwareUpdateSdAction(): Skipping form data downloadUrl type text/plain filename
[308060][I][configServer.cpp:2178] handleFirmwareUpdateSdAction(): Skipping form data unsafe type text/plain filename
[308075][I][configServer.cpp:2182] handleFirmwareUpdateSdAction(): Got form data upload type application/octet-stream filename firmware.bin
[791267][I][configServer.cpp:2202] handleFirmwareUpdateSdAction(): Done reading
[797376][E][configServer.cpp:2214] handleFirmwareUpdateSdAction(): OK!
[798388][W][WiFiGeneric.cpp:1062] _eventCallback(): Reason: 8 - ASSOC_LEAVE
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13232
load:0x40080400,len:3028
entry 0x400805e4
I (138) cpu_start: Pro cpu up.
I (138) cpu_start: Starting app cpu, entry point is 0x40081f58
I (124) cpu_start: App cpu up.
I (152) cpu_start: Pro cpu start user code
I (152) cpu_start: cpu freq: 160000000
I (152) cpu_start: Application information:
I (157) cpu_start: Project name: OpenBikeSensorFlash
I (163) cpu_start: App version: v0.2.82
I (167) cpu_start: Compile time: Jan 10 2023 18:20:58
I (174) cpu_start: ELF file SHA256: 33464e1d6385c2e8...
I (180) cpu_start: ESP-IDF: 4.3.2
I (185) heap_init: Initializing. RAM available for dynamic allocation:
I (192) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (198) heap_init: At 3FFB2AB8 len 0002D548 (181 KiB): DRAM
I (204) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (210) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (217) heap_init: At 4008B908 len 000146F8 (81 KiB): IRAM
I (224) spi_flash: detected chip: generic
I (228) spi_flash: flash io: dio
I (232) cpu_start: Starting scheduler on PRO CPU.
I (0) cpu_start: Starting scheduler on APP CPU.
I (242) flash-sd: OpenBikeSensorFlash version v0.2.82.
I (252) flash-sd: Reset reason 0x3.
I (252) flash-sd: Running partition: flashApp
I (262) flash-sd: App 'OpenBikeSensorFlash', Version: 'v0.2.82'
I (262) flash-sd: IDF-Version: '4.3.2'
I (272) flash-sd: sha-256: 33464e1d6385c2e87117a62501a11eaf138d13f0431ba6e27be102eb09188aa6
I (282) flash-sd: date: 'Jan 10 2023', time: '18:20:58'
I (282) flash-sd: Initializing SD card
I (292) gpio: GPIO[5]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
I (302) sdspi_transaction: cmd=52, R1 response: command CRC error
E (302) sdmmc_io: sdmmc_io_reset: unexpected return: 0x109
E (312) vfs_fat_sdmmc: sdmmc_card_init failed (0x109).
I (312) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0
abort() was called at PC 0x400d1349 on core 0
Backtrace:0x4008236e:0x3ffb5620 0x40085f45:0x3ffb5640 0x4008a6ae:0x3ffb5660 0x400d1349:0x3ffb56d0 0x400f053a:0x3ffb57a0
ELF file SHA256: 33464e1d6385c2e8
Rebooting...
ets Jul 29 2019 12:21:46
rst:0xc (SW_CPU_RESET),boot:0x1b (SPI_FAST_FLASH_BOOT)
configsip: 0, SPIWP:0xee
clk_drv:0x00,q_drv:0x00,d_drv:0x00,cs0_drv:0x00,hd_drv:0x00,wp_drv:0x00
mode:DIO, clock div:2
load:0x3fff0030,len:1184
load:0x40078000,len:13232
load:0x40080400,len:3028
entry 0x400805e4
E (1028) esp_core_dump_flash: No core dump partition found!
E (1028) esp_core_dump_flash: No core dump partition found!
[ 62][I][OpenBikeSensorFirmware.cpp:298] setup(): openbikesensor.org - OBS/v0.21.926
Es handelt sich wohl um einen bekannten Bug, der sowohl in der OBS FlashApp als auch im esp-idf Projekt beschrieben wird.
In letzerem wird noch als mögliche Ursache genannt:
There is no pull-up resistor.
Haben wir einen pull-up Widerstand?
Wurde schonmal überlegt in der FlashApp auch das Arduino Framwork zu verwenden (und damit den gleichen SD Treiber wie in der OBS Firmware)?