aboutsummaryrefslogtreecommitdiff
path: root/rootdir/etc/init.qcom.usb.rc
diff options
context:
space:
mode:
Diffstat (limited to 'rootdir/etc/init.qcom.usb.rc')
-rwxr-xr-xrootdir/etc/init.qcom.usb.rc163
1 files changed, 115 insertions, 48 deletions
diff --git a/rootdir/etc/init.qcom.usb.rc b/rootdir/etc/init.qcom.usb.rc
index 9fe0e25..ee1cc63 100755
--- a/rootdir/etc/init.qcom.usb.rc
+++ b/rootdir/etc/init.qcom.usb.rc
@@ -28,6 +28,10 @@
on init
write /sys/class/android_usb/android0/f_rndis/wceis 1
write /sys/class/android_usb/android0/iSerial ${ro.serialno}
+ write /sys/class/android_usb/android0/iManufacturer ShenQi Inc.
+ write /sys/class/android_usb/android0/iProduct Z2-PLUS
+ write /sys/class/android_usb/android0/f_mass_storage/inquiry_string "ShenQi Z2-PLUS 0100"
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
on fs
mkdir /dev/usb-ffs 0770 shell shell
@@ -40,55 +44,118 @@ service qcom-usb-sh /system/bin/sh /init.qcom.usb.sh
user root
oneshot
-# Following are the parameters required for usb functionality. They provide configurable options like
-# product_id/vendor id and allows specifying required functions:
-#
-# Required parameters:
-#
-# /sys/class/android_usb/android0/enable: Enables/disables usb composition
-# Value: 0 (disable), 1 (enable)
-#
-# /sys/class/android_usb/android0/idVendor: Stores Vendor ID
-# Value: 05c6 (Vendor id for Qualcomm Inc)
-#
-# /sys/class/android_usb/android0/idProduct: Stores Product id corresponding to usb composition
-# Value: 0x9xxx for composite interface, 0xFxxx for single interface
-#
-# /sys/class/android_usb/android0/f_diag/clients: Stores name of clients representing a diag interface.
-# Value: Passed one per interface. e.g. diag[,diag_mdm, diag_qsc, diag_mdm2]
-#
-# /sys/class/android_usb/android0/functions: Stores name of the function drivers used in usb composition.
-# Value: Passed one per function driver. e.g. diag[,adb]
-#
-#Optional parameters:
-#
-# /sys/class/android_usb/android0/f_serial/transports: Stores type of underlying transports used to
-# communicate to serial interface.
-# Value: Passed one per interface. One value represents control and data transport together.
-# e.g. smd[,sdio,tty,hsic]
-# Only required if serial interface is present.
-#
-# /sys/class/android_usb/android0/f_serial/transport_names: Stores name of the underlying transports
-# used to communicate to serial interface. This is used to distinguish between more than one interface
-# using same transport type.
-# Value: Passed one per interface. One value represents control and data transport together.
-# e.g. serial_hsic[,serial_hsusb]
-# Only required for transport type hsic, optional for other transport types.
-#
-# /sys/class/android_usb/android0/f_rmnet/transports: Stores type of underlying transports used to
-# communicate to rmnet interface.
-# Value: Passed two per interface as control, data transport type pair.
-# e.g. smd,bam[,hsuart,hsuart]
-# Only required if rmnet interface is present.
-#
-# /sys/class/android_usb/android0/f_rmnet/transport_names: Stores name of the underlying transports
-# used to communicate to rmnet interface. This is used to distinguish between more than one interface
-# using same transport type.
-# Value: Passed one per interface. One value represents control and data transport together.
-# e.g. rmnet_hsic[,rmnet_hsusb]
-# Only required for transport type hsic, optional for other transport types.
-
# USB compositions
+on property:sys.usb.config=diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 1
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports tty,tty,tty
+ write /sys/class/android_usb/android0/functions diag,adb,serial
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 1016
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
+ write /sys/class/android_usb/android0/functions diag,serial,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mass_storage,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 1017
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports char_bridge,tty
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
+ write /sys/class/android_usb/android0/functions adb,diag,serial,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 1018
+ write /sys/class/android_usb/android0/functions rndis
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 1019
+ write /sys/class/android_usb/android0/functions rndis,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 101A
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
+ write /sys/class/android_usb/android0/functions mtp,mass_storage
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=mtp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 101B
+ write /sys/class/android_usb/android0/f_mass_storage/lun/file "/system/etc/cdrom_install.iso"
+ write /sys/class/android_usb/android0/functions mtp,mass_storage,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 101C
+ write /sys/class/android_usb/android0/functions ptp
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=ptp,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 2B4C
+ write /sys/class/android_usb/android0/idProduct 101D
+ write /sys/class/android_usb/android0/functions ptp,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,diag
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 90B5
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports char_bridge
+ write /sys/class/android_usb/android0/functions rndis,serial,diag
+ write /sys/class/android_usb/android0/enable 1
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.config=rndis,diag,adb
+ write /sys/class/android_usb/android0/enable 0
+ write /sys/class/android_usb/android0/idVendor 05C6
+ write /sys/class/android_usb/android0/idProduct 90B6
+ write /sys/class/android_usb/android0/f_diag/clients diag
+ write /sys/class/android_usb/android0/f_serial/transports char_bridge
+ write /sys/class/android_usb/android0/functions rndis,serial,diag,adb
+ write /sys/class/android_usb/android0/enable 1
+ start adbd
+ setprop sys.usb.state ${sys.usb.config}
+
+on property:sys.usb.tethering=true
+ write /sys/class/net/rndis0/queues/rx-0/rps_cpus ${sys.usb.rps_mask}
+
on property:sys.usb.config=diag,serial_tty,serial_smd
write /sys/class/android_usb/android0/enable 0
write /sys/class/android_usb/android0/idVendor 05C6