On boot the Edison environment opens a brief DFU window (do_probe_dfu) so a host can reflash U-Boot over USB before the board continues booting. The length of that window is governed by dfu_to_sec, which is 3 seconds.
Three seconds is not enough, but not because the transfer is slow. The window is a hard deadline measured from when do_probe_dfu starts: the dfu command records its start time once and never resets it on activity, despite the 'inactivity timeout' wording in the command's help. Sending U-Boot through the lab uses most of the window before the transfer even begins -- the gadget must enumerate, labgrid must detect the resource, sync the image and launch dfu-util over SSH, about 3 seconds of setup. The 700KB transfer itself takes only about 1.3 seconds (including the eMMC write), so the real window usage is roughly 4.4 seconds; a 3-second window expires during the setup, before the write can finish. Raise dfu_to_sec to 8 to cover the setup and transfer with margin. The board waits out this timeout on every boot where no host connects, so there is no benefit in making it longer than necessary. Signed-off-by: Simon Glass <[email protected]> --- board/intel/edison/edison-environment.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/board/intel/edison/edison-environment.txt b/board/intel/edison/edison-environment.txt index afe00920461..caa5d773740 100644 --- a/board/intel/edison/edison-environment.txt +++ b/board/intel/edison/edison-environment.txt @@ -43,6 +43,6 @@ bootdelay=1 do_flash_os_done=1 bootargs_target=multi-user bootargs_ethconfig=cdc -dfu_to_sec=3 +dfu_to_sec=8 do_probe_dfu=run do_dfu_alt_info_mmc ; dfu 0 mmc 0 $dfu_to_sec boot_target_cmd=run do_flash_os;run do_probe_dfu;run do_compute_target;run mmc-bootargs;run load_kernel;zboot ${loadaddr} -- 2.43.0

