intel / edison-u-boot

DISCONTINUATION OF PROJECT. This project will no longer be maintained by Intel. Intel will not provide or guarantee development of or support for this project, including but not limited to, maintenance, bug fixes, new releases or updates. Patches to this project are no longer accepted by Intel. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the community, please create your own fork of the project.
34 stars 24 forks source link

DFU issues #3

Closed agherzan closed 8 years ago

agherzan commented 8 years ago

U-Boot 2015.10

When trying to open a dfu connection I get:

=> dfu 0 mmc 0
ERROR: Memory layout (mmc) not supported!

at drivers/dfu/dfu_mmc.c:389/dfu_fill_entity_mmc()
ERROR: DFU entities configuration failed!

at drivers/dfu/dfu.c:81/dfu_init_env_entities()
dfu - Device Firmware Upgrade

Usage:
dfu <USB_controller> <interface> <dev> [list|timeout]
  - device firmware upgrade via <USB_controller>
    on device <dev>, attached to interface
    <interface>
    [list] - list available alt settings
    [timeout] - specify inactivity timeout in sec, doesn't work whit list

Any hints on how to fix this?

agherzan commented 8 years ago

This is because there is no such type as mmc anymore in this uboot version. It was changed to raw in http://lists.denx.de/pipermail/u-boot/2014-January/170563.html .

PieterGit commented 7 years ago

with 2017rc1 I get the same error with dfu 0 mmc 0. With dfu 0 raw 0 i also get errors:

=> dfu 0 raw 0
dfu_fill_entity: Device raw not (yet) supported!
ERROR: DFU entities configuration failed!

at drivers/dfu/dfu.c:70/dfu_init_env_entities()
dfu - Device Firmware Upgrade

Usage:
dfu <USB_controller> <interface> <dev> [list]
  - device firmware upgrade via <USB_controller>
    on device <dev>, attached to interface
    <interface>
    [list] - list available alt settings

I can't reflash my edison with another u-boot or image, because dfu-utils timeouts

Now waiting for dfu device 8087:0a99
Please plug and reboot the board
Timed out while waiting for dfu device 8087:0a99

Can somebody help me how to get this dfu stuff resolved? Thanks in advance

andy-shev commented 7 years ago

@PieterGit

You need to change mmc word (note that mmcpart word is left untouched) to raw word in description of partitions. It's done, for example, in do_dfu_alt_info_mmc environment variable.

Command is kept the same: dfu 0 mmc 0

bradjc commented 7 years ago

To change mmc to raw, I ran:

setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 rawpart 1;ifwib${hardware_id} raw 0 8192 rawpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0 7;initrd fat 0 7"
setenv do_dfu_alt_info_ifwi 'setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 rawpart 1;ifwib${hardware_id} raw 0 8192 rawpart 2"'
setenv do_dfu_alt_info_mmc 'setenv dfu_alt_info "ifwi${hardware_id} raw 0 8192 rawpart 1;ifwib${hardware_id} raw 0 8192 rawpart 2;u-boot0 part 0 1;u-boot-env0 part 0 2;u-boot1 part 0 3;u-boot-env1 part 0 4;boot part 0 7;rootfs part 0 8;update part 0 9;home part 0 10;vmlinuz fat 0 7;initrd fat 0 7"'

after stopping autoboot in u-boot. Then

saveenv

stores them so they persist.

andy-shev commented 7 years ago

@bradjc There is no rawpart keyword in DFU if I remember correctly. You need to use mmcpart instead. I have updated above comment to accent on this.