Hi Tom, > > > >>>>> Cannot find a device with path /ocp/usb@47400000/usb@47401000 > > > >>>>> => unbind /ocp/usb@47400000/usb@47401000 > > > >>>>> => dm tree > > > >>>>> misc 0 [ + ] ti-musb-wrapper | |-- > > > >>>>> usb@47400000 > > > >>>>> usb 0 [ ] ti-musb-host | | `-- > > > >>>>> usb@47401800 > > > >>>>> => fastboot usb 0 > > > >>>>> => bind /ocp/usb@47400000/usb@47401000 ti-musb-peripheral > > > >>>>> => dm tree > > > >>>>> misc 0 [ + ] ti-musb-wrapper | |-- > > > >>>>> usb@47400000 > > > >>>>> usb 0 [ ] ti-musb-host | | |-- > > > >>>>> usb@47401800 > > > >>>>> usb 0 [ ] ti-musb-peripheral | | `-- > > > >>>>> usb@47401000 > > > >>>>> => fastboot usb 0 > > > >>>>> musb-hdrc: peripheral reset irq lost! > > > >>>>> # works! (the irq-related line above as always been there) > > > >>>>> > > > >>>>> So now, how do we make this process easy/understandable? > > > >>>> > > > >>>> What would be your proposal ? > > > > > > > > At least I would appreciate: > > > > - to select CMD_BIND "by default" when relevant > > > > - to make the fastboot error more readable for the regular user > > > > > > Since with this 'unbind ethernet 0' this is orthogonal to this series, > > > send separate patches, thanks. > > > > This is not orthogonal, I am sorry. > > > > version X: > > - tftp works "out of the box" > > - fastboot works "out of the box" > > version X+1: > > - tftp works "out of the box" > > - fastboot returns an obscure error > > > > 1/ If we now *need* the bind/unbind commands, the series must take care > > of it. > > 2/ Without proper error message you just break fastboot for most > > regular users (basically everyone but few U-Boot devs). > > You're missing the class of users that will be impacted here. In order > for there to be a change here, you have to already be in the case where > you have CONFIG_USB_ETHER=y and gadget ethernet device isn't just > enabled but also initialized by default by calling usb_ether_init(). > That's a very small list. It's basically am33xx, two mediatek reference > platforms and xilinx_zynqmp_virt. Given that am33xx defconfigs also > setup DFU, I'm not really sure just how many people use gadget ethernet. > The normal flow on modern devices is to be calling bind/unbind here > already.
Can we make this behavior explicit to the user? I am sorry, maybe it is the normal flow for you, but I am a regular U-Boot user and I totally missed that requirement. Typical situation: one needs to use <whatever-gadget> but none is bound to the UDC (or another is bound), could we make the error messages more explicit if we decide not to unbind/bind the right one automatically because it is too "costly"? Thanks, Miquèl