| # 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 | 
 |  | 
 | # 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 should only be used during device bringup | 
 | # and as a fallback 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 D002 | 
 |     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} |