More mumbling. The good thing about playing with this, is I ran into a Fault in the almost to be released ArduinoCore-zephyr in SocketWrapper, and yesterday we tracked it down and and a fix was merged in. 
And it was able to read the weather information over Wifi and display the data
on the USBCVideo monitor:
The layout could be cleaned up and lots more space. The layout here was setup
to display on the GIGA display...
Also good news: Arduino this morning released ArduinoCore-zephyr 1.1.0
Both the UNOs and the Arduino others boards... Which I have updated now on both
the IDE and Applab.
I am guessing that @ptillisch will be posting more about the new release soon.
So far I have only tried a few things.
Like this is the first time I tried using Ethernet on my H7 in the Mid Carrier and it worked to ping Google...
Still wondering about:
The OTA examples that were added in this release, run but don't appear to do anything except:
Full OTA update (loader + sketch) over Ethernet
Waiting for link...
IP: 192.168....
Downloading http://10.10.10.10:8000/UPDATE.bin
Connection failed
Download failed
I am guessing there is some other piece that needs to be installed?
The OTA examples and header file and readme don't give many clues:
Example header:
/*
* Copyright (c) Arduino s.r.l. and/or its affiliated companies
*
* SPDX-License-Identifier: Apache-2.0
*/
#pragma once
#ifdef __cplusplus
extern "C" {
#endif
/*
* This function is used to make a sketch ota file ready to be applied on the next reboot.
* Under the hood this function currently renames the ota file to what the loader is going to be
* looking for. This avoids unwanted ota starting when the ota file is not ready yet
*/
int ota_sketch_ready(void);
/*
* This function is used to trigger an ota procedure for the sketch. You need to mark the sketch as
* ready with `ota_sketch_ready` in order for it to be applied.
*/
int ota_sketch_start(void);
/*
* This function is used to make a loader ota file ready to be applied on the next reboot.
* Under the hood this function currently renames the ota file to what the bootloader is going to be
* looking for. This avoids unwanted ota starting when the ota file is not ready yet
*/
int ota_loader_ready(void);
/*
* This function is used to trigger an ota procedure for the loader. You need to mark the loader as
* ready with `ota_loader_ready` in order for it to be applied.
*/
int ota_loader_start(void);
#ifdef __cplusplus
}
#endif
The build maybe gives some hints:
File does not have an ELF header, adding empty space
File C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.bin saved as C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.bin-zsk.bin
"C:\\Users\\kurte\\AppData\\Local\\Arduino15\\packages\\arduino\\tools\\zephyr-sketch-tool\\0.4.2/zephyr-sketch-tool" -ota -ota-loader "C:\\Users\\kurte\\AppData\\Local\\Arduino15\\packages\\arduino\\hardware\\zephyr_main\\1.1.0/firmwares/zephyr-arduino_portenta_h7_stm32h747xx_m7.bin" -ota-sketch "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin" -ota-offset 0x000a0000 -ota-magic 0x2341025B -output "C:\\Users\\kurte\\AppData\\Local\\arduino\\sketches\\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino"
Inputs: loader 590304 bytes, sketch 55048 bytes, merged 710408 bytes
OTA: C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin.ota (55068 bytes, sketch)
OTA: C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin.lzss.ota (24183 bytes, sketch (LZSS))
OTA: C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin-bundle.bin (710408 bytes, loader+sketch)
OTA: C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin-bundle.ota (710428 bytes, loader+sketch)
OTA: C:\Users\kurte\AppData\Local\arduino\sketches\ECABD28210AEA959D6D57E1919FBB53D/OTAFullEthernet.ino.elf-zsk.bin-bundle.lzss.ota (498512 bytes, loader+sketch (LZSS))
Bootloader file specified but missing: C:\Users\kurte\AppData\Local\Arduino15\packages\arduino\hardware\zephyr_main\1.1.0\bootloaders\zephyr-arduino_portenta_h7_stm32h747xx_m7.bin
Using library SocketWrapper at version 1.0.0 in folder: C:\Users\kurte\AppData\Local\Arduino15\packages\arduino\hardware\zephyr_main\1.1.0\libraries\SocketWrapper
Using library Ethernet at version 0.1.0 in folder: C:\Users\kurte\AppData\Local\Arduino15\packages\arduino\hardware\zephyr_main\1.1.0\libraries\Ethernet
But for now back to other diversions.
One note: I am finding that after I download a new sketch, I may be losing some of the first several lines of output:
That is I ran the example twice. First time it ran after I uploaded, I ran it again by pressing the reset button:
IP: 192.168....
Downloading http://10.10.10.10:8000/UPDATE.bin
Connection failed
Download failed
Full OTA update (loader + sketch) over Ethernet
Waiting for link...
IP: 192.168....
Downloading http://10.10.10.10:8000/UPDATE.bin
Connection failed
Download failed
EDIT - I meant to mention that the sketch has in it:
void setup() {
Serial.begin(115200);
while (!Serial) {
delay(10);
}
Serial.println("Full OTA update (loader + sketch) over Ethernet");