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
This commit is contained in:
j4nn 2025-10-11 12:43:07 +02:00
commit bb2e4da9d9

View file

@ -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"