| # Copyright (C) 2012 The Android Open Source Project |
| # |
| # USB configuration common for all android devices |
| # |
| |
| on post-fs-data |
| chown system system /sys/class/android_usb/android0/f_mass_storage/lun/file |
| chmod 0660 /sys/class/android_usb/android0/f_mass_storage/lun/file |
| chown system system /sys/class/android_usb/android0/f_rndis/ethaddr |
| chmod 0660 /sys/class/android_usb/android0/f_rndis/ethaddr |
| mkdir /data/misc/adb 02750 system shell |
| mkdir /data/adb 0700 root root |
| |
| # adbd is controlled via property triggers in init.<platform>.usb.rc |
| service adbd /sbin/adbd --root_seclabel=u:r:su:s0 |
| class core |
| socket adbd stream 660 system system |
| disabled |
| seclabel u:r:adbd:s0 |
| |
| # adbd on at boot in emulator |
| on property:ro.kernel.qemu=1 |
| start adbd |
| |
| # Used to disable USB when switching states |
| on property:sys.usb.config=none |
| stop adbd |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/bDeviceClass 0 |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # adb only USB configuration |
| # This is the fallback configuration if the |
| # USB manager fails to set a standard configuration |
| on property:sys.usb.config=adb |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 4EE7 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| start adbd |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # USB accessory configuration |
| on property:sys.usb.config=accessory |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d00 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # USB accessory configuration, with adb |
| on property:sys.usb.config=accessory,adb |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d01 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| start adbd |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # audio accessory configuration |
| on property:sys.usb.config=audio_source |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d02 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # audio accessory configuration, with adb |
| on property:sys.usb.config=audio_source,adb |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d03 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| start adbd |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # USB and audio accessory configuration |
| on property:sys.usb.config=accessory,audio_source |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d04 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # USB and audio accessory configuration, with adb |
| on property:sys.usb.config=accessory,audio_source,adb |
| write /sys/class/android_usb/android0/enable 0 |
| write /sys/class/android_usb/android0/idVendor 18d1 |
| write /sys/class/android_usb/android0/idProduct 2d05 |
| write /sys/class/android_usb/android0/functions ${sys.usb.config} |
| write /sys/class/android_usb/android0/enable 1 |
| start adbd |
| setprop sys.usb.state ${sys.usb.config} |
| |
| # Used to set USB configuration at boot and to switch the configuration |
| # when changing the default configuration |
| on property:persist.sys.usb.config=* |
| setprop sys.usb.config ${persist.sys.usb.config} |