Aktuell Updateprobleme mit der Firmware

Aktuell funktioniert mit Firmware version < 20 das Onlineupdate mit direktem download vom internet auf den OBS nicht, da Github seine Zertifikate geändert hat. Aufgrund des beschränkten Platzes auf dem ESP können wir dafür schwer vorsorgen.

Workaround:

Wir sind dran.

@gluap Danke, das mit dem manuellen upload des firmware.bin files klappt problemlos und man gewöhnt sich schnell daran. Ein Problem taucht bei mir bei einem OBS auf: hatte bisher v16 installiert, den wollte ich v19 upgraden. OBS meckert das die Flash app fehlt, die wollte ich online übers Menü nachladen sprich updaten auf 1.21. Funktioniert leider nicht.
Frage: kann man die Flash.bin auch nicht mehr direkt von Github laden sondern muß diese (wie Firmware.bin) auch manuell per upload in den OBS laden? Wenn ja wo finde ich die Datei flash.bin?
Oder muß ich wirklich den ESP32 wieder ausbauen und über Google chrome direkt laden?
Danke

Hi Norbert,
die flash app ist auch vom selben Problem betroffen. Ein Downloadlink wird auf der Update Seite angeboten („flash.bin“ ist ein Link) oder da: Release v0.1.22 · openbikesensor/OpenBikeSensorFlash · GitHub „flash.bin“.
Grüße, Andreas.

1 „Gefällt mir“

Danke Andreas für den Tipp, den Ordner Sensorflash hatte ich nicht erkannt. Damit hat alles aber sofort und einwandfrei funktioniert. Nur zur Info: die OBS werden alle verliehen und obwohl es mich schon gejuckt hat die neue Firmware auszuprobieren, habe die stabile v19 genommen um auf der sicheren Seite zu sein. Viele Grüße Norbert

Hallo @andreas

auch ich habe gerade Probleme mit der Installation von Updates auf dem OBS. Ggf. hast du einen Tipp für mich :slight_smile:

Zur Zeit ist die Firmware Version 0.19.877 mit der Flash App Version 0.1.22 installiert. Leider habe verbindet sich der OBS nicht mehr mit dem GPS, sodass der Erfassungsmodus kommt, obwohl GSP Okay angezeigt wird. Da in den zukünftigen Versionen ein Fix und Feature bezüglich der ALP- und GPS-Daten umgesetzt wurde, wollte ich auf eine neuere Firmwareversion (Pre-Release [v0.21.926]) updaten. Ich lade die Firmeware aus GitHub herunter und lade diese im File Upload hoch. Danach startet der Upload und es kommt die Meldung Updating… mit der Fehlermeldung Checksum mismatch.

@tvo checksum mismatch bedeutet, dass es einen Fehler bei der Übertragung gab. Bevor das Update eingespielt wird, wird geprüft, ob die Daten OK sind, wenn es irgendwo einen Fehler gab, wird das Update abgebrochen. Ich würde empfehlen, die Datei noch mal herunterzuladen. Achtung: Mittlerweile sollte es Pre-Release v0.21.928 geben.

Edit: PS: Ein weiterer Weg, den du versuchen könntest, wäre, zunächst die aktuellste pre-release der FlashApp zu installieren, und dann „normal“ zu updaten (also nicht über den Umweg mit dem herunter- und Hochladen).

Hallo @gluap

danke für die schnelle Antwort. Ich konnte per manuellem laden die neueste Flash Version v0.2.82 installieren. Davor habe ich es einmal noch ohne probiert und habe die Fehlermeldung „mkdir ‚sdflash‘ failed!“ bekommen - an sich ist zumindest dieser eine Punkt gelöst ggf. hilft es aber jemand anders.

Das noch bestehende Problem: Leider funktioniert ein Update der Firmware auch mit der neuen Firmware weder automatisch noch manuell mit dem Pre-Release v0.21.928. An sich läuft das Update jetzt durch und es kommt auch die Meldung „Sucess“ allerdings bootet der OBS mit der alten Version. Ich habe es jetzt mehrmals probiert. Hat jemand noch weitere Ideen?

@tvo diese Problematik hab ich schon mal bei einem OpenBikeSensor beobachtet - In dem Fall gab es ein Problem mit der SD-Karte. Weil die „FlashApp“ den wir verwenden einen anderen Treiber verwendet (es ist OpenSource, die wir nur für uns angepasst haben), gibt es in seltenen Fällen SD-Karten, die mit dem OpenBikeSensor funktionieren, mit dem Flasher aber nicht. Falls du ein paar (bevorzugt alte, langsame) Micro SD Karten zuhause hast könntest du versuchen, diese für den Flashvorgang übergangsweise zu nutzen.

7 Beiträge wurden in ein neues Thema verschoben: Error: ALP Data failed 7xxxx [behoben]

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)?

Wegen des Pullup Widerstands: Wir haben keinen expliziten Pullup in den Lines zum SD Board, aber auf dem SD Board sind Widerstände. Was die machen, weiß ich nicht genau.

Wenn die Pullups fehlen würden, dürfte es aber entweder mit allen oder mit gar keiner SD-Karte gehen, oder?

@jens

Ich hab mir die FlashApp mal genauer angeschaut - die ist doch homebrew by us - Ich hab jetzt versucht, sie aufs gleiche espressif32-sdk umzustellen, das wir auch für die Firmware verwenden. Dadurch bekommen wir auch eine neuere Version der spi-flash treiber.

Datei im Anhang. Meinen OBS konnte ich damit erfolgreich flashen (aber der hat das SD-Problem nicht, man sieht also dadurch nur dass das flashen prinzipiell funktioniert).FlashApp-newapi.zip (146,7 KB). Die Änderungen sind im Branch upgrade_toolchain

2 „Gefällt mir“

Ja cool! jetzt tut’s:

[HTTPS:I] Request: POST /updatesd (FID=50)
[348057][I][configServer.cpp:2178] handleFirmwareUpdateSdAction(): Skipping form data downloadUrl type text/plain filename 
[348072][I][configServer.cpp:2178] handleFirmwareUpdateSdAction(): Skipping form data unsafe type text/plain filename 
[348087][I][configServer.cpp:2182] handleFirmwareUpdateSdAction(): Got form data upload type application/octet-stream filename firmware(3).bin
[817255][I][configServer.cpp:2202] handleFirmwareUpdateSdAction(): Done reading
[823370][E][configServer.cpp:2214] handleFirmwareUpdateSdAction(): OK!
[824382][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 (155) cpu_start: Multicore app
I (163) cpu_start: Pro cpu start user code
I (163) cpu_start: cpu freq: 160000000 Hz
I (163) app_init: Application information:
I (166) app_init: Project name:     OpenBikeSensorFlash
I (172) app_init: App version:      v0.2.82-4-ge7e2037
I (178) app_init: Compile time:     Dec 18 2024 13:03:10
I (184) app_init: ELF file SHA256:  c74a171f0e4c65e1...
I (190) app_init: ESP-IDF:          5.3.1
I (194) efuse_init: Min chip rev:     v0.0
I (199) efuse_init: Max chip rev:     v3.99 
I (204) efuse_init: Chip rev:         v3.1
I (209) heap_init: Initializing. RAM available for dynamic allocation:
I (216) heap_init: At 3FFAE6E0 len 00001920 (6 KiB): DRAM
I (222) heap_init: At 3FFB2878 len 0002D788 (181 KiB): DRAM
I (228) heap_init: At 3FFE0440 len 00003AE0 (14 KiB): D/IRAM
I (235) heap_init: At 3FFE4350 len 0001BCB0 (111 KiB): D/IRAM
I (241) heap_init: At 4008C730 len 000138D0 (78 KiB): IRAM
I (249) spi_flash: detected chip: generic
I (252) spi_flash: flash io: dio
I (257) main_task: Started on CPU0
I (267) main_task: Calling app_main()
I (267) flash-sd: OpenBikeSensorFlash version v0.2-dev.
I (267) flash-sd: Reset reason 0x3.
I (267) flash-sd: Running partition: flashApp
I (277) flash-sd: App 'OpenBikeSensorFlash', Version: 'v0.2.82-4-ge7e2037'
I (287) flash-sd: IDF-Version: '5.3.1'
I (287) flash-sd: sha-256: c74a171f0e4c65e123a6aee0814e8d574bddf639429234105c4c31c92950eb16
I (297) flash-sd: date: 'Dec 18 2024', time: '13:03:10'
I (297) flash-sd: Initializing SD card
I (307) gpio: GPIO[5]| InputEn: 0| OutputEn: 1| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
I (317) sdspi_transaction: cmd=52, R1 response: command not supported
I (367) sdspi_transaction: cmd=5, R1 response: command not supported
I (407) flash-sd: SD card mounted
I (407) flash-sd: Found '/sdflash/app.bin' size 25f860
I (407) flash-sd: Testing integrity.
I (3797) flash-sd: File check valid.
I (3837) flash-sd: Partition already there, size is 0x380000 bytes.
I (3837) flash-sd: Will flash from SD card.
I (16807) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=7b688h (505480) map
I (16977) esp_image: segment 1: paddr=0008b6b0 vaddr=3ffbdb60 size=04968h ( 18792) 
I (16987) esp_image: segment 2: paddr=00090020 vaddr=400d0020 size=1beed8h (1830616) map
I (17597) esp_image: segment 3: paddr=0024ef00 vaddr=3ffc24c8 size=027ech ( 10220) 
I (17597) esp_image: segment 4: paddr=002516f4 vaddr=40080000 size=1e148h (123208) 
I (17637) flash-sd: Flash from SD card done.
I (17647) flash-sd: App 'arduino-lib-builder', Version: 'esp-idf: v4.4.7 38eeba213a'
I (17647) flash-sd: IDF-Version: 'v4.4.7-dirty'
I (17647) flash-sd: sha-256: 3b124f1566d13f38e1944502b1e94736289f7ad07f9bf1e3ab7e43633022f1d7
I (17657) flash-sd: date: 'Mar  5 2024', time: '12:36:24'
I (17667) esp_image: segment 0: paddr=00010020 vaddr=3f400020 size=7b688h (505480) map
I (17837) esp_image: segment 1: paddr=0008b6b0 vaddr=3ffbdb60 size=04968h ( 18792) 
I (17847) esp_image: segment 2: paddr=00090020 vaddr=400d0020 size=1beed8h (1830616) map
I (18457) esp_image: segment 3: paddr=0024ef00 vaddr=3ffc24c8 size=027ech ( 10220) 
I (18467) esp_image: segment 4: paddr=002516f4 vaddr=40080000 size=1e148h (123208) 
I (18547) gpio: GPIO[5]| InputEn: 1| OutputEn: 0| OpenDrain: 0| Pullup: 0| Pulldown: 0| Intr:0 
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 (984) esp_core_dump_flash: No core dum��ѥѥ���found!
E (984) esp_core_dump_flash: No core dump partition found!
[    38][I][OpenBikeSensorFirmware.cpp:298] setup(): openbikesensor.org - OBS/v0.21.929

1 „Gefällt mir“