Message ID | 20210705232319.15149-1-andre.przywara@arm.com |
---|---|
State | Deferred |
Delegated to: | Jagannadha Sutradharudu Teki |
Headers | show |
Series | cmd: ums: Enable by default for sunxi | expand |
On Tue, Jul 6, 2021 at 4:53 AM Andre Przywara <andre.przywara@arm.com> wrote: > > The ums command (presenting a U-Boot block device as a USB mass storage > device) is very useful for accessing eMMC devices via USB-OTG. > > At the moment we enable USB fastboot by default for Allwinner devices, > so it makes sense to do the same with USB mass storage, which is > actually more versatile and can be accessed on any USB host easily. > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > --- > cmd/Kconfig | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/cmd/Kconfig b/cmd/Kconfig > index a9fb4eead29..7b1c96910a8 100644 > --- a/cmd/Kconfig > +++ b/cmd/Kconfig > @@ -1347,6 +1347,7 @@ config CMD_USB_MASS_STORAGE > bool "UMS usb mass storage" > select USB_FUNCTION_MASS_STORAGE > depends on BLK && USB_GADGET > + default y if ARCH_SUNXI && USB_MUSB_GADGET UMS or any secondary-emmc accessible are considered in production u-boot config instead of mainline u-boot since we have fastboot already available for this kind of purpose. This might be one of the reason not conisidered UMS by default till now, atleast on Allwinner. Thanks, Jagan.
On Tue, 6 Jul 2021 19:56:24 +0530 Jagan Teki <jagan@amarulasolutions.com> wrote: Hi Jagan, thanks for the response! > On Tue, Jul 6, 2021 at 4:53 AM Andre Przywara <andre.przywara@arm.com> wrote: > > > > The ums command (presenting a U-Boot block device as a USB mass storage > > device) is very useful for accessing eMMC devices via USB-OTG. > > > > At the moment we enable USB fastboot by default for Allwinner devices, > > so it makes sense to do the same with USB mass storage, which is > > actually more versatile and can be accessed on any USB host easily. > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > > --- > > cmd/Kconfig | 1 + > > 1 file changed, 1 insertion(+) > > > > diff --git a/cmd/Kconfig b/cmd/Kconfig > > index a9fb4eead29..7b1c96910a8 100644 > > --- a/cmd/Kconfig > > +++ b/cmd/Kconfig > > @@ -1347,6 +1347,7 @@ config CMD_USB_MASS_STORAGE > > bool "UMS usb mass storage" > > select USB_FUNCTION_MASS_STORAGE > > depends on BLK && USB_GADGET > > + default y if ARCH_SUNXI && USB_MUSB_GADGET > > UMS or any secondary-emmc accessible are considered in production > u-boot config instead of mainline u-boot since we have fastboot > already available for this kind of purpose. This might be one of the > reason not conisidered UMS by default till now, atleast on Allwinner. Well, I consider fastboot inferior to UMS. I understand that Android phone hackers use it all the time, but I think having a block device is far more versatile - you can partition it as you like, create and populate a filesystem, dd an image to it, extract or update firmware, etc. - most without extra software, even on Windows or Mac. I think fastboot offers a reboot command, but are there other killer reasons for it? And having the ums command in addition to fastboot does not hurt, both would still work. So are there any real arguments for not adding ums as well? I am not sure many people tweak their config, so I would like to offer a decent out-of-the-box experience, even for casual users. Thanks, Andre
On Tue, Jul 06, 2021 at 04:57:32PM +0100, Andre Przywara wrote: > On Tue, 6 Jul 2021 19:56:24 +0530 > Jagan Teki <jagan@amarulasolutions.com> wrote: > > Hi Jagan, > > thanks for the response! > > > On Tue, Jul 6, 2021 at 4:53 AM Andre Przywara <andre.przywara@arm.com> wrote: > > > > > > The ums command (presenting a U-Boot block device as a USB mass storage > > > device) is very useful for accessing eMMC devices via USB-OTG. > > > > > > At the moment we enable USB fastboot by default for Allwinner devices, > > > so it makes sense to do the same with USB mass storage, which is > > > actually more versatile and can be accessed on any USB host easily. > > > > > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> > > > --- > > > cmd/Kconfig | 1 + > > > 1 file changed, 1 insertion(+) > > > > > > diff --git a/cmd/Kconfig b/cmd/Kconfig > > > index a9fb4eead29..7b1c96910a8 100644 > > > --- a/cmd/Kconfig > > > +++ b/cmd/Kconfig > > > @@ -1347,6 +1347,7 @@ config CMD_USB_MASS_STORAGE > > > bool "UMS usb mass storage" > > > select USB_FUNCTION_MASS_STORAGE > > > depends on BLK && USB_GADGET > > > + default y if ARCH_SUNXI && USB_MUSB_GADGET > > > > UMS or any secondary-emmc accessible are considered in production > > u-boot config instead of mainline u-boot since we have fastboot > > already available for this kind of purpose. This might be one of the > > reason not conisidered UMS by default till now, atleast on Allwinner. > > Well, I consider fastboot inferior to UMS. I understand that > Android phone hackers use it all the time, but I think having a block > device is far more versatile - you can partition it as you like, create > and populate a filesystem, dd an image to it, extract or update > firmware, etc. - most without extra software, even on Windows or Mac. > I think fastboot offers a reboot command, but are there other killer > reasons for it? And having the ums command in addition to fastboot does > not hurt, both would still work. fastboot abstracts away the storage medium, whereas UMS doesn't. You cannot run UMS on a NAND or SPI-NOR, while this causes no issue at all to fastboot. Similarly, UMS exposes the whole partition to the host. You then need to have a driver for that FS on that machine, otherwise you just can't access it. Sure, it's convenient, but it's far from being ubiquitous and the silver bullet you claim it is. > So are there any real arguments for not adding ums as well? I am not > sure many people tweak their config, so I would like to offer a decent > out-of-the-box experience, even for casual users. As usual, we also have to balance that with the size limit, but I'm not sure it's an issue these days? Maxime
On 7/6/21 12:11 PM, Maxime Ripard wrote: > On Tue, Jul 06, 2021 at 04:57:32PM +0100, Andre Przywara wrote: >> On Tue, 6 Jul 2021 19:56:24 +0530 >> Jagan Teki <jagan@amarulasolutions.com> wrote: >> >> Hi Jagan, >> >> thanks for the response! >> >> > On Tue, Jul 6, 2021 at 4:53 AM Andre Przywara <andre.przywara@arm.com> wrote: >> > > >> > > The ums command (presenting a U-Boot block device as a USB mass storage >> > > device) is very useful for accessing eMMC devices via USB-OTG. >> > > >> > > At the moment we enable USB fastboot by default for Allwinner devices, >> > > so it makes sense to do the same with USB mass storage, which is >> > > actually more versatile and can be accessed on any USB host easily. >> > > >> > > Signed-off-by: Andre Przywara <andre.przywara@arm.com> >> > > --- >> > > cmd/Kconfig | 1 + >> > > 1 file changed, 1 insertion(+) >> > > >> > > diff --git a/cmd/Kconfig b/cmd/Kconfig >> > > index a9fb4eead29..7b1c96910a8 100644 >> > > --- a/cmd/Kconfig >> > > +++ b/cmd/Kconfig >> > > @@ -1347,6 +1347,7 @@ config CMD_USB_MASS_STORAGE >> > > bool "UMS usb mass storage" >> > > select USB_FUNCTION_MASS_STORAGE >> > > depends on BLK && USB_GADGET >> > > + default y if ARCH_SUNXI && USB_MUSB_GADGET >> > >> > UMS or any secondary-emmc accessible are considered in production >> > u-boot config instead of mainline u-boot since we have fastboot >> > already available for this kind of purpose. This might be one of the >> > reason not conisidered UMS by default till now, atleast on Allwinner. >> >> Well, I consider fastboot inferior to UMS. I understand that >> Android phone hackers use it all the time, but I think having a block >> device is far more versatile - you can partition it as you like, create >> and populate a filesystem, dd an image to it, extract or update >> firmware, etc. - most without extra software, even on Windows or Mac. >> I think fastboot offers a reboot command, but are there other killer >> reasons for it? During manufacturing it is very convenient to be able to run arbitrary commands with ACMD/UCMD, or particular commands like partconf. Fastboot also allows loading things directly to ram, which is nice for loading a ramdisk/kernel when you don't have network/mass storage. There is also no way to stop UMS other than by yanking the cord or by hitting Ctrl-C (though I am working on this). > And having the ums command in addition to fastboot does >> not hurt, both would still work. > > fastboot abstracts away the storage medium, whereas UMS doesn't. You > cannot run UMS on a NAND or SPI-NOR, while this causes no issue at all > to fastboot. > > Similarly, UMS exposes the whole partition to the host. You then need to > have a driver for that FS on that machine, otherwise you just can't > access it. You can expose just one partition like ums 0 mmc 0:2 you can also expose multiple partitions like ums 0 mmc 0:1,0:2,0.1,0.2 --Sean > Sure, it's convenient, but it's far from being ubiquitous and the silver > bullet you claim it is. > >> So are there any real arguments for not adding ums as well? I am not >> sure many people tweak their config, so I would like to offer a decent >> out-of-the-box experience, even for casual users. > > As usual, we also have to balance that with the size limit, but I'm not > sure it's an issue these days? > > Maxime >
diff --git a/cmd/Kconfig b/cmd/Kconfig index a9fb4eead29..7b1c96910a8 100644 --- a/cmd/Kconfig +++ b/cmd/Kconfig @@ -1347,6 +1347,7 @@ config CMD_USB_MASS_STORAGE bool "UMS usb mass storage" select USB_FUNCTION_MASS_STORAGE depends on BLK && USB_GADGET + default y if ARCH_SUNXI && USB_MUSB_GADGET help Enables the command "ums" and the USB mass storage support to the export a block device: U-Boot, the USB device, acts as a simple
The ums command (presenting a U-Boot block device as a USB mass storage device) is very useful for accessing eMMC devices via USB-OTG. At the moment we enable USB fastboot by default for Allwinner devices, so it makes sense to do the same with USB mass storage, which is actually more versatile and can be accessed on any USB host easily. Signed-off-by: Andre Przywara <andre.przywara@arm.com> --- cmd/Kconfig | 1 + 1 file changed, 1 insertion(+)