device_google_gs201/conf/init.gs201.usb.rc
Ray Chi 707dbbc43f usb: set sys.usb.mtp.batchcancel to true
The cancelling behavior in MTP has two behaviors.
1. cancel requests one by one
2. batch cancel all requests

This patch will set the property to true to enable
batch cancel all requests.

Bug: 181729410
Test: build pass
Change-Id: I546dad88e5e0c72c9bafdaded8e9026deccfbb88
2021-12-08 06:16:46 +00:00

254 lines
12 KiB
Text

on early-boot
mkdir /config/usb_gadget/g1
mkdir /config/usb_gadget/g1/strings/0x409
mkdir /config/usb_gadget/g1/configs/b.1
write /config/usb_gadget/g1/idVendor 0x18d1
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}
write /config/usb_gadget/g1/configs/b.1/MaxPower 0x384
write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
# ffs function
mkdir /config/usb_gadget/g1/functions/ffs.adb 0770 shell shell
mkdir /config/usb_gadget/g1/functions/ffs.mtp
mkdir /config/usb_gadget/g1/functions/ffs.ptp
mkdir /dev/usb-ffs 0775 shell shell
mkdir /dev/usb-ffs/adb 0770 shell shell
mkdir /dev/usb-ffs/mtp 0770 mtp mtp
mkdir /dev/usb-ffs/ptp 0770 mtp mtp
mount functionfs adb /dev/usb-ffs/adb rmode=0770,fmode=0660,uid=2000,gid=2000,no_disconnect=1
mount functionfs mtp /dev/usb-ffs/mtp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
mount functionfs ptp /dev/usb-ffs/ptp rmode=0770,fmode=0660,uid=1024,gid=1024,no_disconnect=1
setprop sys.usb.mtp.device_type 3
setprop sys.usb.mtp.batchcancel true
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
# mtp function
mkdir /config/usb_gadget/g1/functions/mtp.gs0
# ptp function
mkdir /config/usb_gadget/g1/functions/ptp.gs1
# accessory function
mkdir /config/usb_gadget/g1/functions/accessory.gs2
# audio_source function
mkdir /config/usb_gadget/g1/functions/audio_source.gs3
# rndis function
mkdir /config/usb_gadget/g1/functions/rndis.gs4
# Modify class/subclass/protocol for rndis.gs4
# Remote NDIS: Class: Wireless Controller (0xe0), Subclass: 0x1, Protocol: 0x3
write /config/usb_gadget/g1/functions/rndis.gs4/class e0
write /config/usb_gadget/g1/functions/rndis.gs4/subclass 01
write /config/usb_gadget/g1/functions/rndis.gs4/protocol 03
write /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.ncm/compatible_id RNDIS
write /config/usb_gadget/g1/functions/rndis.gs4/ifname rndis%d
setprop vendor.usb.rndis.config rndis.gs4
# midi function
mkdir /config/usb_gadget/g1/functions/midi.gs5
# acm function
mkdir /config/usb_gadget/g1/functions/acm.gs6
# dm function
mkdir /config/usb_gadget/g1/functions/dm.gs7
# uts function
mkdir /config/usb_gadget/g1/functions/uts.gs8
# ncm function
mkdir /config/usb_gadget/g1/functions/ncm.gs9
write /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id WINNCM
write /config/usb_gadget/g1/functions/ncm.gs9/ifname ncm%d
# etr_miu function
mkdir /config/usb_gadget/g1/functions/etr_miu.gs11
# disable permission change. TODO (b/206902205): add back later
# setprop vendor.usb.functions.ready 1
on boot
write /config/usb_gadget/g1/bcdDevice 0x0510
# Use USB Gadget HAL
setprop sys.usb.configfs 2
on property:sys.usb.config=accessory && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x2D00
write /config/usb_gadget/g1/idVendor 0x18D1
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=accessory,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x2D01
write /config/usb_gadget/g1/idVendor 0x18D1
on property:sys.usb.config=none && property:sys.usb.configfs=1
rm /config/usb_gadget/g1/configs/b.1/f4
on property:sys.usb.config=mtp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6860
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6860
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6860
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6860
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.config=rndis && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6863
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=rndis,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6864
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.config=ptp && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6865
write /config/usb_gadget/g1/idVendor 0x04E8
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=ptp,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x6866
write /config/usb_gadget/g1/idVendor 0x04E8
# Enable dm,acm,adb functions once in factory build
on property:ro.vendor.factory=1 && property:sys.usb.configfs=1 && property:sys.boot_completed=1
setprop sys.usb.config dm,acm,adb
# We introduce lsi mode to call sys.usb.config none
on property:sys.usb.config=rndis,acm,dm,adb && property:sys.usb.configfs=1
setprop sys.usb.config "none"
setprop sys.usb.config "lsi-rndis,acm,dm,adb"
on property:sys.usb.config=lsi-rndis,acm,dm,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=lsi-rndis,acm,dm,adb && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/idProduct 0x6862
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_acm_dm_adb"
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/dm.gs7 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=dm,acm,adb && property:sys.usb.configfs=1
setprop sys.usb.config "none"
setprop sys.usb.config "lsi-dm,acm,adb"
on property:sys.usb.config=lsi-dm,acm,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=lsi-dm,acm,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x685D
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "dm_acm_adb"
symlink /config/usb_gadget/g1/functions/dm.gs7 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=dm,acm,uts,adb && property:sys.usb.configfs=1
setprop sys.usb.config "none"
setprop sys.usb.config "lsi-dm,acm,uts,adb"
on property:sys.usb.config=lsi-dm,acm,uts,adb && property:sys.usb.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=lsi-dm,acm,uts,adb && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/idProduct 0x6862
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "dm_acm_uts_adb"
symlink /config/usb_gadget/g1/functions/dm.gs7 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/uts.gs8 /config/usb_gadget/g1/configs/b.1/f3
symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f4
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=mass_storage && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x685B
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mass_storage"
symlink /config/usb_gadget/g1/functions/mass_storage.gs9 /config/usb_gadget/g1/configs/b.1/f1
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.configfs=1
start adbd
on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mass_storage,adb && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x685E
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mass_storage_adb"
symlink /config/usb_gadget/g1/functions/mass_storage.gs9 /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=mass_storage,acm && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x685E
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mass_storage_acm"
symlink /config/usb_gadget/g1/functions/mass_storage.gs9 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /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=rndis,diag && property:sys.usb.configfs=1
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 04e8
write /sys/class/android_usb/android0/idProduct 6862
write /sys/class/android_usb/android0/f_diag/clients diag_mdm
write /sys/class/android_usb/android0/functions ${sys.usb.config}
write /sys/class/android_usb/android0/enable 1
setprop sys.usb.state ${sys.usb.config}
on property:sys.usb.config=rndis,diag && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/idProduct 0x6862
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_diag"
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/diag.gs10 /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=diag,acm && property:sys.usb.configfs=1
write /config/usb_gadget/g1/idProduct 0x685d
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "diag_acm"
symlink /config/usb_gadget/g1/functions/diag.gs10 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /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=rndis,acm,diag && property:sys.usb.configfs=1
mkdir /config/usb_gadget/g1/functions/rndis.gs4
write /config/usb_gadget/g1/idProduct 0x6864
write /config/usb_gadget/g1/idVendor 0x04E8
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "rndis_acm_diag"
symlink /config/usb_gadget/g1/functions/rndis.gs4 /config/usb_gadget/g1/configs/b.1/f1
symlink /config/usb_gadget/g1/functions/acm.gs6 /config/usb_gadget/g1/configs/b.1/f2
symlink /config/usb_gadget/g1/functions/diag.gs10 /config/usb_gadget/g1/configs/b.1/f3
write /config/usb_gadget/g1/UDC ${sys.usb.controller}
setprop sys.usb.state ${sys.usb.config}
on property:vendor.usb.config=*
start usbd
on property:persist.vendor.usb.usbradio.config=*
start usbd