uboot-test-hooks: dfu-util

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jul 15 20:14:07 CEST 2020


On 15.07.20 19:38, Heinrich Schuchardt wrote:
> On 15.07.20 17:57, Stephen Warren wrote:
>> On 7/15/20 4:34 AM, Heinrich Schuchardt wrote:
>>> Hello Stephen,
>>>
>>> I have just looked into dfu testing.
>>>
>>> Do we still need a custom dfu-util? At least the dfu-util provided by
>>> Ubuntu bionic/universe in our Docker image provides the -p parameter.
>>
>> Yes, it looks like the -p option is supported by the dfu-util in Xenial
>> too (I need to run Xenial due to other dependencies...)
>>
>> However, this binary has one more patch in it which I need locally at least:
>>> https://github.com/swarren/dfu-util/commit/23561bd0ca4f5f62488451826d4a03683ad70e8a

You are not alone with your problem:

https://github.com/motive-ai/dfu-util/commit/c7e3c3c0cae977b6c4638b3af44968f50ec1447a

I saw this explanation in
https://github.com/zephyrproject-rtos/zephyr/issues/8734:

"As I explained in the pull request, the problem is not that the timeout
in dfu-util is too small (the device should always respond immediately
to the DFU request USB transaction) but that the device is not correctly
implementing the DFU standard and the bwPollTimeout in the DFU_GETSTATUS
response." Cf.
https://github.com/zephyrproject-rtos/zephyr/pull/15330/commits

Could it be that we have a similar problem with our U-Boot
implementation (drivers/usb/gadget/f_dfu.c)?

The value of DFU_MANIFEST_POLL_TIMEOUT and DFU_MANIFEST_POLL_TIMEOUT
varies a lot between the boards:

include/dfu.h:111:
#ifndef DFU_MANIFEST_POLL_TIMEOUT
#define DFU_MANIFEST_POLL_TIMEOUT     DFU_DEFAULT_POLL_TIMEOUT
#endif

include/configs/odroid_xu3.h
#define DFU_DEFAULT_POLL_TIMEOUT    300

include/configs/corvus.h
#define DFU_MANIFEST_POLL_TIMEOUT   25000

Does increasing this value in include/configs/jetson-tk1.h help with
your Jetson TK1 board?

Cc: Lukasz, Marek

Best regards

Heinrich


>
> I would suggest that you send a patch upstream to make the timeout a
> command line option.
>
> You can fork the project within Sourceforge.
> https://sourceforge.net/p/dfu-util/dfu-util/ci/master/tree/
>
> Best regards
>
> Heinrich
>
>>
>> Maybe I can move this binary somewhere else, since not everyone needs that.
>>
>>> dfu-util is licensed under GPL. Could you, please, add the missing
>>> license information to the uboot-test-hooks repository.
>>
>> Ah yes, I'll check in the license file in a second. FYI, the commit
>> descriptions for the binary do mention the source of the binary:
>> https://github.com/swarren/dfu-util, although yes that's not enough.
>>
>



More information about the U-Boot mailing list