1 # Copyright (C) 2012 The Android Open Source Project
3 # USB configuration common for all android devices
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
12 # Used to disable USB when switching states
13 on property:sys.usb.config=none
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}
19 # adb only USB configuration
20 # This is the fallback configuration if the
21 # USB manager fails to set a standard configuration
22 on property:sys.usb.config=adb
23 write /sys/class/android_usb/android0/enable 0
24 write /sys/class/android_usb/android0/idVendor 18d1
25 write /sys/class/android_usb/android0/idProduct 4EE7
26 write /sys/class/android_usb/android0/functions ${sys.usb.config}
27 write /sys/class/android_usb/android0/enable 1
29 setprop sys.usb.state ${sys.usb.config}
31 # USB accessory configuration
32 on 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}
40 # USB accessory configuration, with adb
41 on 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
48 setprop sys.usb.state ${sys.usb.config}
50 # audio accessory configuration
51 on 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}
59 # audio accessory configuration, with adb
60 on 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
67 setprop sys.usb.state ${sys.usb.config}
69 # USB and audio accessory configuration
70 on 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}
78 # USB and audio accessory configuration, with adb
79 on 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
86 setprop sys.usb.state ${sys.usb.config}
88 # Used to set USB configuration at boot and to switch the configuration
89 # when changing the default configuration
90 on property:persist.sys.usb.config=*
91 setprop sys.usb.config ${persist.sys.usb.config}