| on boot |
| mount configfs none /config |
| mkdir /config/usb_gadget/g1 0770 shell shell |
| write /config/usb_gadget/g1/idVendor 0x0451 |
| write /config/usb_gadget/g1/idProduct 0xD101 |
| mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell |
| write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer} |
| write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model} |
| write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno} |
| mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell |
| mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell |
| write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "Conf 1" |
| write /config/usb_gadget/g1/configs/b.1/MaxPower 120 |
| |
| # Create adb+ffs gadget function |
| mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell |
| mkdir /dev/usb-ffs 0770 shell shell |
| mkdir /dev/usb-ffs/adb 0770 shell shell |
| mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000 |
| |
| # Create MTP and PTP functions |
| mkdir /config/usb_gadget/g1/functions/mtp.gs0 0770 shell shell |
| mkdir /config/usb_gadget/g1/functions/ptp.gs1 0770 shell shell |
| |
| setprop sys.usb.controller 48890000.usb |
| setprop sys.usb.configfs 1 |
| |
| on property:sys.usb.config=none && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/os_desc/use 0 |
| setprop sys.usb.ffs.ready 0 |
| |
| on property:init.svc.adbd=stopped |
| setprop sys.usb.ffs.ready 0 |
| |
| on property:sys.usb.config=mtp && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" |
| write /config/usb_gadget/g1/os_desc/use 1 |
| write /config/usb_gadget/g1/idProduct 0xD108 |
| |
| on property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id "MTP" |
| write /config/usb_gadget/g1/os_desc/use 1 |
| write /config/usb_gadget/g1/idProduct 0xD109 |
| |
| on property:sys.usb.config=ptp && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" |
| write /config/usb_gadget/g1/os_desc/use 1 |
| write /config/usb_gadget/g1/idProduct 0xD10D |
| |
| on property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id "PTP" |
| write /config/usb_gadget/g1/os_desc/use 1 |
| write /config/usb_gadget/g1/idProduct 0xD10E |
| |
| on property:sys.usb.config=adb && property:sys.usb.configfs=1 |
| write /config/usb_gadget/g1/idProduct 0xD101 |