blob: 4e6f2a8c988f3c1cfca08147cd84ab9acdea185a [file] [log] [blame]
Mike Lockwood4f5d5172012-04-04 11:26:59 -07001# Copyright (C) 2012 The Android Open Source Project
2#
3# USB configuration common for all android devices
4#
5
6on post-fs-data
7 chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file
8 chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file
9 chown system system /sys/class/android_usb/android0/f_rndis/ethaddr
10 chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr
Tom Cherry2270dbb2015-09-03 16:14:51 -070011 mkdir /data/misc/adb 02750 system shell
12 mkdir /data/adb 0700 root root
13
14# adbd is controlled via property triggers in init.<platform>.usb.rc
15service adbd /sbin/adbd --root_seclabel=u:r:su:s0
16 class core
17 socket adbd stream 660 system system
18 disabled
19 seclabel u:r:adbd:s0
20
21# adbd on at boot in emulator
22on property:ro.kernel.qemu=1
23 start adbd
Mike Lockwood4f5d5172012-04-04 11:26:59 -070024
25# Used to disable USB when switching states
26on property:sys.usb.config=none
27 stop adbd
28 write /sys/class/android_usb/android0/enable 0
29 write /sys/class/android_usb/android0/bDeviceClass 0
30 setprop sys.usb.state ${sys.usb.config}
31
32# adb only USB configuration
Badhri Jagan Sridharan97b536f2014-09-05 11:10:09 -070033# This is the fallback configuration if the
34# USB manager fails to set a standard configuration
Mike Lockwood4f5d5172012-04-04 11:26:59 -070035on property:sys.usb.config=adb
36 write /sys/class/android_usb/android0/enable 0
37 write /sys/class/android_usb/android0/idVendor 18d1
Badhri Jagan Sridharan97b536f2014-09-05 11:10:09 -070038 write /sys/class/android_usb/android0/idProduct 4EE7
Mike Lockwood4f5d5172012-04-04 11:26:59 -070039 write /sys/class/android_usb/android0/functions ${sys.usb.config}
40 write /sys/class/android_usb/android0/enable 1
41 start adbd
42 setprop sys.usb.state ${sys.usb.config}
43
44# USB accessory configuration
45on property:sys.usb.config=accessory
46 write /sys/class/android_usb/android0/enable 0
47 write /sys/class/android_usb/android0/idVendor 18d1
48 write /sys/class/android_usb/android0/idProduct 2d00
49 write /sys/class/android_usb/android0/functions ${sys.usb.config}
50 write /sys/class/android_usb/android0/enable 1
51 setprop sys.usb.state ${sys.usb.config}
52
53# USB accessory configuration, with adb
54on property:sys.usb.config=accessory,adb
55 write /sys/class/android_usb/android0/enable 0
56 write /sys/class/android_usb/android0/idVendor 18d1
57 write /sys/class/android_usb/android0/idProduct 2d01
58 write /sys/class/android_usb/android0/functions ${sys.usb.config}
59 write /sys/class/android_usb/android0/enable 1
60 start adbd
61 setprop sys.usb.state ${sys.usb.config}
62
63# audio accessory configuration
64on property:sys.usb.config=audio_source
65 write /sys/class/android_usb/android0/enable 0
66 write /sys/class/android_usb/android0/idVendor 18d1
67 write /sys/class/android_usb/android0/idProduct 2d02
68 write /sys/class/android_usb/android0/functions ${sys.usb.config}
69 write /sys/class/android_usb/android0/enable 1
70 setprop sys.usb.state ${sys.usb.config}
71
72# audio accessory configuration, with adb
73on property:sys.usb.config=audio_source,adb
74 write /sys/class/android_usb/android0/enable 0
75 write /sys/class/android_usb/android0/idVendor 18d1
76 write /sys/class/android_usb/android0/idProduct 2d03
77 write /sys/class/android_usb/android0/functions ${sys.usb.config}
78 write /sys/class/android_usb/android0/enable 1
79 start adbd
80 setprop sys.usb.state ${sys.usb.config}
81
82# USB and audio accessory configuration
83on property:sys.usb.config=accessory,audio_source
84 write /sys/class/android_usb/android0/enable 0
85 write /sys/class/android_usb/android0/idVendor 18d1
86 write /sys/class/android_usb/android0/idProduct 2d04
87 write /sys/class/android_usb/android0/functions ${sys.usb.config}
88 write /sys/class/android_usb/android0/enable 1
89 setprop sys.usb.state ${sys.usb.config}
90
91# USB and audio accessory configuration, with adb
92on property:sys.usb.config=accessory,audio_source,adb
93 write /sys/class/android_usb/android0/enable 0
94 write /sys/class/android_usb/android0/idVendor 18d1
95 write /sys/class/android_usb/android0/idProduct 2d05
96 write /sys/class/android_usb/android0/functions ${sys.usb.config}
97 write /sys/class/android_usb/android0/enable 1
98 start adbd
99 setprop sys.usb.state ${sys.usb.config}
100
101# Used to set USB configuration at boot and to switch the configuration
102# when changing the default configuration
103on property:persist.sys.usb.config=*
Mike Lockwood4f5d5172012-04-04 11:26:59 -0700104 setprop sys.usb.config ${persist.sys.usb.config}