blob: e290ca47fbc7ada925d9f1cb4f04b7b25cc8174c [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
11
12# Used to disable USB when switching states
13on property:sys.usb.config=none
14 stop adbd
15 write /sys/class/android_usb/android0/enable 0
16 write /sys/class/android_usb/android0/bDeviceClass 0
17 setprop sys.usb.state ${sys.usb.config}
18
19# adb only USB configuration
Badhri Jagan Sridharan97b536f2014-09-05 11:10:09 -070020# This is the fallback configuration if the
21# USB manager fails to set a standard configuration
Mike Lockwood4f5d5172012-04-04 11:26:59 -070022on property:sys.usb.config=adb
23 write /sys/class/android_usb/android0/enable 0
24 write /sys/class/android_usb/android0/idVendor 18d1
Badhri Jagan Sridharan97b536f2014-09-05 11:10:09 -070025 write /sys/class/android_usb/android0/idProduct 4EE7
Mike Lockwood4f5d5172012-04-04 11:26:59 -070026 write /sys/class/android_usb/android0/functions ${sys.usb.config}
27 write /sys/class/android_usb/android0/enable 1
28 start adbd
29 setprop sys.usb.state ${sys.usb.config}
30
31# USB accessory configuration
32on property:sys.usb.config=accessory
33 write /sys/class/android_usb/android0/enable 0
34 write /sys/class/android_usb/android0/idVendor 18d1
35 write /sys/class/android_usb/android0/idProduct 2d00
36 write /sys/class/android_usb/android0/functions ${sys.usb.config}
37 write /sys/class/android_usb/android0/enable 1
38 setprop sys.usb.state ${sys.usb.config}
39
40# USB accessory configuration, with adb
41on property:sys.usb.config=accessory,adb
42 write /sys/class/android_usb/android0/enable 0
43 write /sys/class/android_usb/android0/idVendor 18d1
44 write /sys/class/android_usb/android0/idProduct 2d01
45 write /sys/class/android_usb/android0/functions ${sys.usb.config}
46 write /sys/class/android_usb/android0/enable 1
47 start adbd
48 setprop sys.usb.state ${sys.usb.config}
49
50# audio accessory configuration
51on property:sys.usb.config=audio_source
52 write /sys/class/android_usb/android0/enable 0
53 write /sys/class/android_usb/android0/idVendor 18d1
54 write /sys/class/android_usb/android0/idProduct 2d02
55 write /sys/class/android_usb/android0/functions ${sys.usb.config}
56 write /sys/class/android_usb/android0/enable 1
57 setprop sys.usb.state ${sys.usb.config}
58
59# audio accessory configuration, with adb
60on property:sys.usb.config=audio_source,adb
61 write /sys/class/android_usb/android0/enable 0
62 write /sys/class/android_usb/android0/idVendor 18d1
63 write /sys/class/android_usb/android0/idProduct 2d03
64 write /sys/class/android_usb/android0/functions ${sys.usb.config}
65 write /sys/class/android_usb/android0/enable 1
66 start adbd
67 setprop sys.usb.state ${sys.usb.config}
68
69# USB and audio accessory configuration
70on property:sys.usb.config=accessory,audio_source
71 write /sys/class/android_usb/android0/enable 0
72 write /sys/class/android_usb/android0/idVendor 18d1
73 write /sys/class/android_usb/android0/idProduct 2d04
74 write /sys/class/android_usb/android0/functions ${sys.usb.config}
75 write /sys/class/android_usb/android0/enable 1
76 setprop sys.usb.state ${sys.usb.config}
77
78# USB and audio accessory configuration, with adb
79on property:sys.usb.config=accessory,audio_source,adb
80 write /sys/class/android_usb/android0/enable 0
81 write /sys/class/android_usb/android0/idVendor 18d1
82 write /sys/class/android_usb/android0/idProduct 2d05
83 write /sys/class/android_usb/android0/functions ${sys.usb.config}
84 write /sys/class/android_usb/android0/enable 1
85 start adbd
86 setprop sys.usb.state ${sys.usb.config}
87
88# Used to set USB configuration at boot and to switch the configuration
89# when changing the default configuration
90on property:persist.sys.usb.config=*
Mike Lockwood4f5d5172012-04-04 11:26:59 -070091 setprop sys.usb.config ${persist.sys.usb.config}