init.recovery.usb.rc 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. on init
  2. write /sys/class/android_usb/android0/f_midi/vendorID 18D1
  3. on boot
  4. write /sys/class/android_usb/android0/iSerial ${ro.serialno}
  5. mkdir /dev/usb-ffs 0770 shell shell
  6. mkdir /dev/usb-ffs/adb 0770 shell shell
  7. write /sys/class/android_usb/android0/idVendor 18D1
  8. write /sys/class/android_usb/android0/idProduct D001
  9. mount configfs none /config
  10. mkdir /config/usb_gadget/g1 0770 shell shell
  11. mkdir /config/usb_gadget/g1/strings/0x409 0770 shell shell
  12. write /config/usb_gadget/g1/bcdUSB 0x0200
  13. write /config/usb_gadget/g1/os_desc/use 1
  14. write /config/usb_gadget/g1/strings/0x409/serialnumber ${ro.serialno}
  15. write /config/usb_gadget/g1/strings/0x409/manufacturer ${ro.product.manufacturer}
  16. write /config/usb_gadget/g1/strings/0x409/product ${ro.product.model}
  17. mkdir /config/usb_gadget/g1/functions/mass_storage.0
  18. mkdir /config/usb_gadget/g1/functions/mtp.gs0
  19. mkdir /config/usb_gadget/g1/functions/ptp.gs1
  20. mkdir /config/usb_gadget/g1/functions/accessory.gs2
  21. mkdir /config/usb_gadget/g1/functions/audio_source.gs3
  22. mkdir /config/usb_gadget/g1/functions/midi.gs5
  23. mkdir /config/usb_gadget/g1/functions/ffs.adb
  24. mkdir /config/usb_gadget/g1/functions/diag.diag
  25. mkdir /config/usb_gadget/g1/functions/diag.diag_mdm
  26. mkdir /config/usb_gadget/g1/functions/cser.dun.0
  27. mkdir /config/usb_gadget/g1/functions/cser.nmea.1
  28. mkdir /config/usb_gadget/g1/functions/cser.dun.2
  29. mkdir /config/usb_gadget/g1/functions/gsi.rmnet
  30. mkdir /config/usb_gadget/g1/functions/gsi.rndis
  31. mkdir /config/usb_gadget/g1/functions/gsi.dpl
  32. mkdir /config/usb_gadget/g1/functions/qdss.qdss
  33. mkdir /config/usb_gadget/g1/functions/qdss.qdss_mdm
  34. mkdir /config/usb_gadget/g1/functions/rndis_bam.rndis
  35. mkdir /config/usb_gadget/g1/functions/rmnet_bam.rmnet
  36. mkdir /config/usb_gadget/g1/functions/rmnet_bam.dpl
  37. mkdir /config/usb_gadget/g1/functions/ncm.0
  38. mkdir /config/usb_gadget/g1/functions/ccid.ccid
  39. mkdir /config/usb_gadget/g1/functions/uac2.0
  40. mkdir /config/usb_gadget/g1/functions/uvc.0
  41. mkdir /config/usb_gadget/g1/configs/b.1 0770 shell shell
  42. mkdir /config/usb_gadget/g1/configs/b.1/strings/0x409 0770 shell shell
  43. write /config/usb_gadget/g1/os_desc/b_vendor_code 0x1
  44. write /config/usb_gadget/g1/os_desc/qw_sign "MSFT100"
  45. symlink /config/usb_gadget/g1/configs/b.1 /config/usb_gadget/g1/os_desc/b.1
  46. mount functionfs adb /dev/usb-ffs/adb uid=2000,gid=2000
  47. write /sys/class/android_usb/android0/f_ffs/aliases adb
  48. on property:sys.usb.config=none
  49. write /config/usb_gadget/g1/UDC "none"
  50. stop adbd
  51. setprop sys.usb.ffs.ready 0
  52. setprop sys.usb.ffs.mtp.ready 0
  53. write /config/usb_gadget/g1/bDeviceClass 0
  54. write /config/usb_gadget/g1/bDeviceSubClass 0
  55. write /config/usb_gadget/g1/bDeviceProtocol 0
  56. rm /config/usb_gadget/g1/configs/b.1/f1
  57. rm /config/usb_gadget/g1/configs/b.1/f2
  58. rm /config/usb_gadget/g1/configs/b.1/f3
  59. rm /config/usb_gadget/g1/configs/b.1/f4
  60. rm /config/usb_gadget/g1/configs/b.1/f5
  61. rmdir /config/usb_gadget/g1/functions/rndis.gs4
  62. setprop sys.usb.state ${sys.usb.config}
  63. on property:sys.usb.config=adb
  64. start adbd
  65. on property:sys.usb.ffs.ready=1 && property:sys.usb.config=adb
  66. write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "adb"
  67. rm /config/usb_gadget/g1/configs/b.1/f1
  68. rm /config/usb_gadget/g1/configs/b.1/f2
  69. rm /config/usb_gadget/g1/configs/b.1/f3
  70. rm /config/usb_gadget/g1/configs/b.1/f4
  71. rm /config/usb_gadget/g1/configs/b.1/f5
  72. write /config/usb_gadget/g1/idVendor 0x18d1
  73. write /config/usb_gadget/g1/idProduct 0xd001
  74. symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f1
  75. write /config/usb_gadget/g1/UDC ${sys.usb.controller}
  76. setprop sys.usb.state ${sys.usb.config}
  77. on property:sys.usb.config=mtp
  78. write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp"
  79. rm /config/usb_gadget/g1/configs/b.1/f1
  80. rm /config/usb_gadget/g1/configs/b.1/f2
  81. rm /config/usb_gadget/g1/configs/b.1/f3
  82. rm /config/usb_gadget/g1/configs/b.1/f4
  83. rm /config/usb_gadget/g1/configs/b.1/f5
  84. write /config/usb_gadget/g1/idVendor 0x18d1
  85. write /config/usb_gadget/g1/idProduct 0xd001
  86. symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
  87. write /config/usb_gadget/g1/UDC ${sys.usb.controller}
  88. setprop sys.usb.state ${sys.usb.config}
  89. on property:sys.usb.config=mtp,adb
  90. start adbd
  91. on property:sys.usb.ffs.ready=1 && property:sys.usb.config=mtp,adb
  92. write /config/usb_gadget/g1/configs/b.1/strings/0x409/configuration "mtp_adb"
  93. rm /config/usb_gadget/g1/configs/b.1/f1
  94. rm /config/usb_gadget/g1/configs/b.1/f2
  95. rm /config/usb_gadget/g1/configs/b.1/f3
  96. rm /config/usb_gadget/g1/configs/b.1/f4
  97. rm /config/usb_gadget/g1/configs/b.1/f5
  98. write /config/usb_gadget/g1/idVendor 0x18d1
  99. write /config/usb_gadget/g1/idProduct 0xd001
  100. symlink /config/usb_gadget/g1/functions/mtp.gs0 /config/usb_gadget/g1/configs/b.1/f1
  101. symlink /config/usb_gadget/g1/functions/ffs.adb /config/usb_gadget/g1/configs/b.1/f2
  102. write /config/usb_gadget/g1/UDC ${sys.usb.controller}
  103. setprop sys.usb.state ${sys.usb.config}
  104. on property:ro.boot.usbcontroller=*
  105. setprop sys.usb.controller ${ro.boot.usbcontroller}