text: # 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}
  