1{ 2 "jobs" : [{ 3 "name" : "boot", 4 "cmds" : [ 5 "mkdir /config/usb_gadget/g1/functions/mass_storage.usb", 6 "mkdir /config/usb_gadget/g1/functions/fxfer.aoa" 7 ] 8 }, { 9 "name" : "param:sys.usb.config=none && param:sys.usb.configfs=1", 10 "condition" : "sys.usb.config=none && sys.usb.configfs=1", 11 "cmds" : [ 12 "stop adbd", 13 "write /config/usb_gadget/g1/os_desc/use 0", 14 "setparam sys.usb.ffs.ready 0", 15 "setparam sys.usb.state ${sys.usb.config}", 16 "write /config/usb_gadget/g1/UDC none", 17 "setparam persist.hdc.mode.usb disable", 18 "setparam sys.usb.ffs.ready 0", 19 "write /config/usb_gadget/g1/bDeviceClass 0", 20 "write /config/usb_gadget/g1/bDeviceSubClass 0", 21 "write /config/usb_gadget/g1/bDeviceProtocol 0", 22 "rm /config/usb_gadget/g1/configs/b.1/f1", 23 "rm /config/usb_gadget/g1/configs/b.1/rndis.rn0", 24 "rmdir /config/usb_gadget/g1/functions/rndis.rn0", 25 "rm /config/usb_gadget/g1/configs/b.1/mass_storage.usb", 26 "setparam sys.usb.state ${sys.usb.config}" 27 ] 28 }, { 29 "name" : "param:startup.service.ctl.hdcd=5", 30 "condition" : "startup.service.ctl.hdcd=5", 31 "cmds" : [ 32 "setparam sys.usb.ffs.ready 0" 33 ] 34 }, { 35 "name" : "param:sys.usb.config=hdc && param:sys.usb.configfs=1", 36 "condition" : "sys.usb.config=hdc && sys.usb.configfs=1", 37 "cmds" : [ 38 "setparam sys.usb.ffs.ready.hdc 1", 39 "write /dev/hdc_usb_debug_mode device", 40 "write /config/usb_gadget/g1/idProduct 0x5000", 41 "write /config/usb_gadget/g1/os_desc/use 1", 42 "setparam persist.hdc.mode.usb enable" 43 ] 44 }, { 45 "name" : "param:sys.usb.ffs.ready=1 && param:sys.usb.config=hdc && param:sys.usb.configfs=1 && param:sys.usb.ffs.ready.hdc=1", 46 "condition" : "sys.usb.ffs.ready=1 && sys.usb.config=hdc && sys.usb.configfs=1 && sys.usb.ffs.ready.hdc=1", 47 "cmds" : [ 48 "setparam sys.usb.ffs.ready.hdc 0", 49 "setparam persist.sys.usb.config ${sys.usb.config}", 50 "setparam sys.usb.ffs.ready.hdc 0", 51 "write /config/usb_gadget/g1/UDC none", 52 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration hdc", 53 "rm /config/usb_gadget/g1/configs/b.1/f1", 54 "rm /config/usb_gadget/g1/configs/b.1/f2", 55 "rm /config/usb_gadget/g1/configs/b.1/f3", 56 "rm /config/usb_gadget/g1/configs/b.1/f4", 57 "rm /config/usb_gadget/g1/configs/b.1/f5", 58 "rm /config/usb_gadget/g1/configs/b.1/f6", 59 "rm /config/usb_gadget/g1/configs/b.1/f7", 60 "rm /config/usb_gadget/g1/configs/b.1/f8", 61 "rm /config/usb_gadget/g1/configs/b.1/f9", 62 "rm /config/usb_gadget/g1/configs/b.1/f10", 63 "rm /config/usb_gadget/g1/configs/b.1/f11", 64 "symlink /config/usb_gadget/g1/functions/ffs.hdc /config/usb_gadget/g1/configs/b.1/f1", 65 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 66 "setparam sys.usb.state ${sys.usb.config}" 67 ] 68 }, { 69 "name" : "param:sys.usb.config=hdc_debug && param:sys.usb.configfs=1", 70 "condition" : "sys.usb.config=hdc_debug && sys.usb.configfs=1", 71 "cmds" : [ 72 "write /dev/hdc_usb_debug_mode device", 73 "setparam persist.hdc.mode.usb enable", 74 "write /config/usb_gadget/g1/idProduct 0x5000", 75 "write /config/usb_gadget/g1/os_desc/use 1" 76 ] 77 }, { 78 "name" : "param:sys.usb.ffs.ready=1 && param:sys.usb.config=hdc_debug && param:sys.usb.configfs=1", 79 "condition" : "sys.usb.ffs.ready=1 && sys.usb.config=hdc_debug && sys.usb.configfs=1", 80 "cmds" : [ 81 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration hdc", 82 "rm /config/usb_gadget/g1/configs/b.1/f1", 83 "rm /config/usb_gadget/g1/configs/b.1/f2", 84 "rm /config/usb_gadget/g1/configs/b.1/f3", 85 "rm /config/usb_gadget/g1/configs/b.1/f4", 86 "rm /config/usb_gadget/g1/configs/b.1/f5", 87 "rm /config/usb_gadget/g1/configs/b.1/f6", 88 "rm /config/usb_gadget/g1/configs/b.1/f7", 89 "rm /config/usb_gadget/g1/configs/b.1/f8", 90 "rm /config/usb_gadget/g1/configs/b.1/f9", 91 "rm /config/usb_gadget/g1/configs/b.1/f10", 92 "rm /config/usb_gadget/g1/configs/b.1/f11", 93 "symlink /config/usb_gadget/g1/functions/ffs.hdc /config/usb_gadget/g1/configs/b.1/f1", 94 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 95 "setparam sys.usb.state ${sys.usb.config}" 96 ] 97 }, { 98 "name" : "param:sys.usb.config=rndis && param:sys.usb.configfs=1", 99 "condition" : "sys.usb.config=rndis && sys.usb.configfs=1", 100 "cmds" : [ 101 "mkdir /config/usb_gadget/g1/functions/rndis.rn0", 102 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration rndis", 103 "symlink /config/usb_gadget/g1/functions/rndis.rn0 /config/usb_gadget/g1/configs/b.1/rndis.rn0", 104 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 105 "setparam sys.usb.state ${sys.usb.config}" 106 ] 107 }, { 108 "name" : "param:sys.usb.config=rndis_hdc && param:sys.usb.configfs=1", 109 "condition" : "sys.usb.config=rndis_hdc && sys.usb.configfs=1", 110 "cmds" : [ 111 "mkdir /config/usb_gadget/g1/functions/rndis.rn0", 112 "symlink /config/usb_gadget/g1/functions/rndis.rn0 /config/usb_gadget/g1/configs/b.1/rndis.rn0", 113 "setparam persist.hdc.mode.usb enable" 114 ] 115 }, { 116 "name" : "param:sys.usb.ffs.ready=1 && param:sys.usb.config=rndis_hdc && param:sys.usb.configfs=1", 117 "condition" : "sys.usb.ffs.ready=1 && sys.usb.config=rndis_hdc && sys.usb.configfs=1", 118 "cmds" : [ 119 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration rndis_hdc", 120 "symlink /config/usb_gadget/g1/functions/ffs.hdc /config/usb_gadget/g1/configs/b.1/f1", 121 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 122 "setparam sys.usb.state ${sys.usb.config}" 123 ] 124 }, { 125 "name" : "param:sys.usb.config=storage && param:sys.usb.configfs=1", 126 "condition" : "sys.usb.config=storage && sys.usb.configfs=1", 127 "cmds" : [ 128 "write /config/usb_gadget/g1/UDC none", 129 "setparam persist.hdc.mode.usb disable", 130 "setparam sys.usb.ffs.ready 0", 131 "write /config/usb_gadget/g1/functions/mass_storage.usb/lun.0/file null", 132 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration mass_storage", 133 "write /config/usb_gadget/g1/functions/mass_storage.usb/lun.0/cdrom 1", 134 "symlink /config/usb_gadget/g1/functions/mass_storage.usb /config/usb_gadget/g1/configs/b.1/mass_storage.usb", 135 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 136 "setparam sys.usb.state ${sys.usb.config}" 137 ] 138 }, { 139 "name" : "param:sys.usb.config=storage_hdc && param:sys.usb.configfs=1", 140 "condition" : "sys.usb.config=storage_hdc && sys.usb.configfs=1", 141 "cmds" : [ 142 "write /config/usb_gadget/g1/functions/mass_storage.usb/lun.0/file null", 143 "write /config/usb_gadget/g1/functions/mass_storage.usb/lun.0/cdrom 1", 144 "symlink /config/usb_gadget/g1/functions/mass_storage.usb /config/usb_gadget/g1/configs/b.1/mass_storage.usb", 145 "setparam persist.hdc.mode.usb enable" 146 ] 147 }, { 148 "name" : "param:sys.usb.ffs.ready=1 && param:sys.usb.config=storage_hdc && param:sys.usb.configfs=1", 149 "condition" : "sys.usb.ffs.ready=1 && sys.usb.config=storage_hdc && sys.usb.configfs=1", 150 "cmds" : [ 151 "write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration storage_hdc", 152 "symlink /config/usb_gadget/g1/functions/ffs.hdc /config/usb_gadget/g1/configs/b.1/f1", 153 "write /config/usb_gadget/g1/UDC ${sys.usb.controller}", 154 "setparam sys.usb.state ${sys.usb.config}" 155 ] 156 } 157 ] 158} 159