The UVC gadget requires some setup in configfs before it can be used by the gadget HAL. This CL adds that setup to usb specific init.rc file. Currently, UVC is setup to advertise mjpeg streams at 720p and 1080p at 60, 30, 24, and 15 fps each. Bug: 242344221 Test: Manually tested that UVC is correctly set up on boot. Change-Id: Ic597e5a1ec1bd31d73899e5a885f8cb0d0753bd5
331 lines
21 KiB
Text
331 lines
21 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
|
|
|
|
# acm function for uwb
|
|
mkdir /config/usb_gadget/g1/functions/acm.uwb0
|
|
|
|
# uvc function
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0
|
|
write /config/usb_gadget/g1/functions/uvc.0/function_name "Android Webcam"
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket 3072
|
|
# write /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst 5
|
|
# write /config/usb_gadget/g1/functions/uvc.0/streaming_interval 2
|
|
# setup control params
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0/control/header/h
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/control/header/h /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
|
|
# advertise 720p resolution for webcam encoded as mjpeg
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight 720
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth 1280
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize 1843200
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval 333333
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval "166666
|
|
333333
|
|
416666
|
|
666666"
|
|
# advertise 1080p resolution for webcam encoded as mjpeg
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight 1080
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth 1920
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize 4147200
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval 333333
|
|
write /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval "166666
|
|
333333
|
|
416666
|
|
666666"
|
|
# TODO: Add uncompressed streams
|
|
# setup streaming params
|
|
mkdir /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
|
|
symlink /config/usb_gadget/g1/functions/uvc.0/streaming/header/h /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
|
|
|
|
# chown file/folder permission
|
|
chown system system /config/usb_gadget/
|
|
chown system system /config/usb_gadget/g1
|
|
chown system system /config/usb_gadget/g1/UDC
|
|
chown system system /config/usb_gadget/g1/bDeviceClass
|
|
chown system system /config/usb_gadget/g1/bDeviceProtocol
|
|
chown system system /config/usb_gadget/g1/bDeviceSubClass
|
|
chown system system /config/usb_gadget/g1/bMaxPacketSize0
|
|
chown system system /config/usb_gadget/g1/bcdDevice
|
|
chown system system /config/usb_gadget/g1/bcdUSB
|
|
chown system system /config/usb_gadget/g1/configs
|
|
chown system system /config/usb_gadget/g1/configs/b.1
|
|
chown system system /config/usb_gadget/g1/configs/b.1/MaxPower
|
|
chown system system /config/usb_gadget/g1/configs/b.1/bmAttributes
|
|
chown system system /config/usb_gadget/g1/configs/b.1/strings
|
|
chown system system /config/usb_gadget/g1/functions
|
|
chown system system /config/usb_gadget/g1/functions/accessory.gs2
|
|
chown system system /config/usb_gadget/g1/functions/acm.gs6
|
|
chown system system /config/usb_gadget/g1/functions/acm.gs6/port_num
|
|
chown system system /config/usb_gadget/g1/functions/acm.uwb0
|
|
chown system system /config/usb_gadget/g1/functions/acm.uwb0/port_num
|
|
chown system system /config/usb_gadget/g1/functions/audio_source.gs3
|
|
chown system system /config/usb_gadget/g1/functions/dm.gs7
|
|
chown system system /config/usb_gadget/g1/functions/ffs.adb
|
|
chown system system /config/usb_gadget/g1/functions/ffs.mtp
|
|
chown system system /config/usb_gadget/g1/functions/ffs.ptp
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/buflen
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/id
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/in_ports
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/index
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/out_ports
|
|
chown system system /config/usb_gadget/g1/functions/midi.gs5/qlen
|
|
chown system system /config/usb_gadget/g1/functions/mtp.gs0
|
|
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc
|
|
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP
|
|
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/mtp.gs0/os_desc/interface.MTP/sub_compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/dev_addr
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/host_addr
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/ifname
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/os_desc/interface.ncm/sub_compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/ncm.gs9/qmult
|
|
chown system system /config/usb_gadget/g1/functions/ptp.gs1
|
|
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc
|
|
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP
|
|
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/ptp.gs1/os_desc/interface.MTP/sub_compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/class
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/dev_addr
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/host_addr
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/ifname
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/os_desc/interface.rndis/sub_compatible_id
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/protocol
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/qmult
|
|
chown system system /config/usb_gadget/g1/functions/rndis.gs4/subclass
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/bInterfaceNumber
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/fs/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/class/ss/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/bcdUVC
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/header/h/dwClockFrequency
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bmControls
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bSourceID
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/bUnitID
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/iProcessing
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/processing/default/wMaxMultiplier
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bAssocTerminal
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bmControls
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/bTerminalID
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/iTerminal
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMax
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wObjectiveFocalLengthMin
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wOcularFocalLength
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/camera/default/wTerminalType
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bAssocTerminal
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bSourceID
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/bTerminalID
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/iTerminal
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/control/terminal/output/default/wTerminalType
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/function_name
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_interval
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxburst
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming_maxpacket
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/bInterfaceNumber
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/fs/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/hs/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/class/ss/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bColorPrimaries
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bMatrixCoefficients
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/color_matching/default/bTransferCharacteristics
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bmInfo
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bStillCaptureMethod
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTerminalLink
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerSupport
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/bTriggerUsage
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/header/h/m
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bFrameIndex
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/bmCapabilities
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwDefaultFrameInterval
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwFrameInterval
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxBitRate
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMaxVideoFrameBufferSize
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/dwMinBitRate
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wHeight
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/1080p/wWidth
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bFrameIndex
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/bmCapabilities
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwDefaultFrameInterval
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwFrameInterval
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxBitRate
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMaxVideoFrameBufferSize
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/dwMinBitRate
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wHeight
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/720p/wWidth
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioX
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bAspectRatioY
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bDefaultFrameIndex
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bFormatIndex
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmaControls
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmFlags
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/mjpeg/m/bmInterlaceFlags
|
|
chown system system /config/usb_gadget/g1/functions/uvc.0/streaming/uncompressed
|
|
chown system system /config/usb_gadget/g1/idProduct
|
|
chown system system /config/usb_gadget/g1/idVendor
|
|
chown system system /config/usb_gadget/g1/max_speed
|
|
chown system system /config/usb_gadget/g1/os_desc
|
|
chown system system /config/usb_gadget/g1/os_desc/b.1
|
|
chown system system /config/usb_gadget/g1/os_desc/b_vendor_code
|
|
chown system system /config/usb_gadget/g1/os_desc/qw_sign
|
|
chown system system /config/usb_gadget/g1/os_desc/use
|
|
chown system system /config/usb_gadget/g1/strings
|
|
chown system system /config/usb_gadget/g1/strings/0x409
|
|
chown system system /config/usb_gadget/g1/strings/0x409/manufacturer
|
|
chown system system /config/usb_gadget/g1/strings/0x409/product
|
|
chown system system /config/usb_gadget/g1/strings/0x409/serialnumber
|
|
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.ffs.ready=1 && property:sys.usb.config=adb && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/idProduct 0x4EE7
|
|
write /config/usb_gadget/g1/idVendor 0x18D1
|
|
|
|
on property:vendor.usb.config=*
|
|
start usbd
|
|
|
|
on property:persist.vendor.usb.usbradio.config=*
|
|
start usbd
|
|
|
|
on charger
|
|
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/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"
|
|
write /config/usb_gadget/g1/bcdDevice 0x0510
|
|
mkdir /config/usb_gadget/g1/functions/midi.gs5
|
|
symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
|
|
setprop sys.usb.controller "11110000.dwc3"
|
|
setprop sys.usb.configfs 1
|
|
|
|
on property:ro.bootmode=charger
|
|
setprop sys.usb.config charger
|
|
|
|
on property:sys.usb.config=charger && property:sys.usb.configfs=1
|
|
write /config/usb_gadget/g1/idVendor 0x18d1
|
|
write /config/usb_gadget/g1/idProduct 0x4eea
|
|
write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "midi"
|
|
symlink /config/usb_gadget/g1/functions/midi.gs5 /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:vendor.usb.contaminantdisable=true
|
|
exec /vendor/bin/hw/disable_contaminant_detection.sh
|
|
|
|
on property:ro.bootmode=usbuwb
|
|
setprop persist.vendor.usb.usbradio.config uwb_acm
|