From bb2e4da9d97c6294d307dfe1123895ec9f2feefb Mon Sep 17 00:00:00 2001 From: j4nn <531585+j4nn@users.noreply.github.com> Date: Sat, 11 Oct 2025 12:43:07 +0200 Subject: [PATCH] add support for usb mass storage mode for micro SD card be sure to configure usb mass storage gadget parameters in advance in order to avoid not working defaults with cdrom limitations --- recovery/root/init.recovery.usb.rc | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/recovery/root/init.recovery.usb.rc b/recovery/root/init.recovery.usb.rc index b9a29fd..1b1e36f 100644 --- a/recovery/root/init.recovery.usb.rc +++ b/recovery/root/init.recovery.usb.rc @@ -38,6 +38,11 @@ on fs write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} + mkdir /config/usb_gadget/g1/functions/mass_storage.0 + mkdir /config/usb_gadget/g1/functions/mass_storage.0/lun.0 + write /config/usb_gadget/g1/functions/mass_storage.0/lun.0/removable 1 + write /config/usb_gadget/g1/functions/mass_storage.0/lun.0/cdrom 0 + write /config/usb_gadget/g1/functions/mass_storage.0/lun.0/ro 0 mkdir /config/usb_gadget/g1/functions/ffs.adb mkdir /config/usb_gadget/g1/functions/ffs.fastboot mkdir /config/usb_gadget/g1/functions/ffs.mtp @@ -46,6 +51,7 @@ on fs write /config/usb_gadget/g1/configs/b.1/MaxPower 900 write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1 write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100" + symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1 mkdir /dev/usb-ffs 0775 shell system mkdir /dev/usb-ffs/adb 0770 shell system mkdir /dev/usb-ffs/mtp 0770 mtp mtp @@ -62,6 +68,9 @@ on property:sys.usb.config=adb on property:sys.usb.config=mtp,adb start adbd +on property:sys.usb.config=mass_storage,adb + start adbd + on property:sys.usb.config=fastboot start fastbootd @@ -71,6 +80,7 @@ on property:sys.usb.config=none stop fastbootd setprop sys.usb.ffs.ready 0 rm /config/usb_gadget/g1/configs/b.1/f1 + rm /config/usb_gadget/g1/configs/b.1/f2 rm /config/usb_gadget/g1/configs/b.1/ffs.mtp setprop sys.usb.state ${sys.usb.config} @@ -96,6 +106,14 @@ on property:sys.usb.config=mtp,adb && property:sys.usb.ffs.ready=1 write /config/usb_gadget/g1/UDC ${sys.usb.controller} setprop sys.usb.state ${sys.usb.config} +on property:sys.usb.config=mass_storage,adb && property:sys.usb.ffs.ready=1 + write /config/usb_gadget/g1/idProduct 0x685E + write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "msc,adb" + symlink /config/usb_gadget/g1/functions/mass_storage.0 /config/usb_gadget/g1/configs/b.1/f1 + symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2 + write /config/usb_gadget/g1/UDC ${sys.usb.controller} + setprop sys.usb.state ${sys.usb.config} + on property:sys.usb.config=fastboot && property:sys.usb.ffs.ready=1 write /config/usb_gadget/g1/idProduct 0xD001 write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "fastboot"