From 30c393bf2c545628167c747af953a54fc81a96d8 Mon Sep 17 00:00:00 2001 From: Adeeb Shihadeh Date: Fri, 1 May 2026 19:35:32 -0700 Subject: [PATCH] simple qcom init (#569) * start merging the qcom init * remove duplicate adsp crap * ipa * rm chgrp-diag * remove ab_mount.sh * rm wlan_daemon * rm more unused * usb cleanup * rm sfsconifg * rm more usb junk * rm getslotsuffix * lil more --- userspace/root/etc/default/usbd | 0 userspace/root/etc/init.d/init_sys_mss | 26 -- userspace/root/etc/init.d/ipa_fws.sh | 21 -- userspace/root/etc/init.d/start_cnss_daemon | 43 --- userspace/root/etc/init.d/wlan | 92 ----- userspace/root/etc/initscripts/ab_mount.sh | 48 --- userspace/root/etc/initscripts/adsp.sh | 35 -- userspace/root/etc/initscripts/chgrp-diag | 7 - userspace/root/etc/initscripts/sfs_config | 50 --- userspace/root/etc/initscripts/usb | 192 ---------- userspace/root/etc/initscripts/wlan | 92 ----- .../etc/systemd/system/chgrp-diag.service | 17 - .../chgrp-diag.service | 1 - .../multi-user.target.wants/sfsconfig.service | 1 - .../wlan_daemon.service | 1 - .../root/etc/systemd/system/sfsconfig.service | 17 - .../etc/systemd/system/wlan_daemon.service | 42 --- userspace/root/etc/udev/rules.d/97-tty.rules | 2 - userspace/root/etc/usb/boot_hsic_comp | 0 userspace/root/etc/usb/boot_hsusb_comp | 1 - .../root/lib/systemd/system/adsp.service | 18 - .../root/lib/systemd/system/cdsp.service | 10 - .../ffbm.target.wants/init_sys_mss.service | 1 - .../ffbm.target.wants/rmt_storage.service | 1 - .../root/lib/systemd/system/ipa_fws.service | 16 - .../root/lib/systemd/system/irsc_util.service | 12 - .../multi-user.target.wants/adsp.service | 1 - .../multi-user.target.wants/ipa_fws.service | 1 - .../multi-user.target.wants/usb.service | 1 - .../lib/systemd/system/rmt_storage.service | 1 - userspace/root/lib/systemd/system/usb.service | 44 --- userspace/root/sbin/usb/compositions/901D | 103 ----- userspace/root/sbin/usb/compositions/9021 | 177 --------- userspace/root/sbin/usb/compositions/9022 | 205 ---------- userspace/root/sbin/usb/compositions/9024 | 170 --------- userspace/root/sbin/usb/compositions/9025 | 252 ------------- userspace/root/sbin/usb/compositions/902B | 169 --------- userspace/root/sbin/usb/compositions/902D | 172 --------- userspace/root/sbin/usb/compositions/9039 | 77 ---- userspace/root/sbin/usb/compositions/9049 | 242 ------------ userspace/root/sbin/usb/compositions/904A | 112 ------ userspace/root/sbin/usb/compositions/9056 | 229 ----------- userspace/root/sbin/usb/compositions/9057 | 152 -------- userspace/root/sbin/usb/compositions/9059 | 191 ---------- userspace/root/sbin/usb/compositions/905B | 161 -------- userspace/root/sbin/usb/compositions/9060 | 131 ------- userspace/root/sbin/usb/compositions/9063 | 183 --------- userspace/root/sbin/usb/compositions/9064 | 274 -------------- userspace/root/sbin/usb/compositions/9067 | 202 ---------- userspace/root/sbin/usb/compositions/9084 | 205 ---------- userspace/root/sbin/usb/compositions/9085 | 208 ---------- userspace/root/sbin/usb/compositions/9091 | 179 --------- userspace/root/sbin/usb/compositions/90A1 | 149 -------- userspace/root/sbin/usb/compositions/90A9 | 219 ----------- userspace/root/sbin/usb/compositions/90AD | 183 --------- userspace/root/sbin/usb/compositions/90B0 | 62 --- userspace/root/sbin/usb/compositions/90B1 | 77 ---- userspace/root/sbin/usb/compositions/90B8 | 111 ------ userspace/root/sbin/usb/compositions/90C0 | 102 ----- userspace/root/sbin/usb/compositions/90CA | 72 ---- userspace/root/sbin/usb/compositions/90CD | 101 ----- userspace/root/sbin/usb/compositions/90D5 | 140 ------- userspace/root/sbin/usb/compositions/90D6 | 125 ------ userspace/root/sbin/usb/compositions/90DB | 78 ---- userspace/root/sbin/usb/compositions/90E2 | 97 ----- userspace/root/sbin/usb/compositions/F000 | 75 ---- userspace/root/sbin/usb/compositions/empty | 3 - .../root/sbin/usb/compositions/hsic_next | 1 - .../root/sbin/usb/compositions/hsusb_next | 1 - userspace/root/sbin/usb/debuger/debugFiles | 33 -- userspace/root/sbin/usb/debuger/help | 28 -- userspace/root/sbin/usb/target | 85 ----- userspace/root/sbin/usb_composition | 288 -------------- userspace/root/sbin/usb_debug | 355 ------------------ userspace/root/usr/bin/cdsp.sh | 16 - userspace/root/usr/bin/getslotsuffix | 31 -- userspace/root/usr/bin/wcnssfilter | Bin 105016 -> 0 bytes userspace/root/usr/comma/init.qcom.sh | 10 + .../root/usr/local/qr-linux/adsp-start.sh | 67 ---- userspace/services.sh | 8 - 80 files changed, 10 insertions(+), 7095 deletions(-) delete mode 100644 userspace/root/etc/default/usbd delete mode 100755 userspace/root/etc/init.d/init_sys_mss delete mode 100755 userspace/root/etc/init.d/ipa_fws.sh delete mode 100755 userspace/root/etc/init.d/start_cnss_daemon delete mode 100755 userspace/root/etc/init.d/wlan delete mode 100755 userspace/root/etc/initscripts/ab_mount.sh delete mode 100755 userspace/root/etc/initscripts/adsp.sh delete mode 100755 userspace/root/etc/initscripts/chgrp-diag delete mode 100755 userspace/root/etc/initscripts/sfs_config delete mode 100755 userspace/root/etc/initscripts/usb delete mode 100755 userspace/root/etc/initscripts/wlan delete mode 100644 userspace/root/etc/systemd/system/chgrp-diag.service delete mode 120000 userspace/root/etc/systemd/system/multi-user.target.wants/chgrp-diag.service delete mode 120000 userspace/root/etc/systemd/system/multi-user.target.wants/sfsconfig.service delete mode 120000 userspace/root/etc/systemd/system/multi-user.target.wants/wlan_daemon.service delete mode 100644 userspace/root/etc/systemd/system/sfsconfig.service delete mode 100644 userspace/root/etc/systemd/system/wlan_daemon.service delete mode 100644 userspace/root/etc/udev/rules.d/97-tty.rules delete mode 100644 userspace/root/etc/usb/boot_hsic_comp delete mode 100644 userspace/root/etc/usb/boot_hsusb_comp delete mode 100644 userspace/root/lib/systemd/system/adsp.service delete mode 100644 userspace/root/lib/systemd/system/cdsp.service delete mode 120000 userspace/root/lib/systemd/system/ffbm.target.wants/init_sys_mss.service delete mode 120000 userspace/root/lib/systemd/system/ffbm.target.wants/rmt_storage.service delete mode 100644 userspace/root/lib/systemd/system/ipa_fws.service delete mode 100644 userspace/root/lib/systemd/system/irsc_util.service delete mode 120000 userspace/root/lib/systemd/system/multi-user.target.wants/adsp.service delete mode 120000 userspace/root/lib/systemd/system/multi-user.target.wants/ipa_fws.service delete mode 120000 userspace/root/lib/systemd/system/multi-user.target.wants/usb.service delete mode 100644 userspace/root/lib/systemd/system/usb.service delete mode 100755 userspace/root/sbin/usb/compositions/901D delete mode 100755 userspace/root/sbin/usb/compositions/9021 delete mode 100755 userspace/root/sbin/usb/compositions/9022 delete mode 100755 userspace/root/sbin/usb/compositions/9024 delete mode 100755 userspace/root/sbin/usb/compositions/9025 delete mode 100755 userspace/root/sbin/usb/compositions/902B delete mode 100755 userspace/root/sbin/usb/compositions/902D delete mode 100755 userspace/root/sbin/usb/compositions/9039 delete mode 100755 userspace/root/sbin/usb/compositions/9049 delete mode 100755 userspace/root/sbin/usb/compositions/904A delete mode 100755 userspace/root/sbin/usb/compositions/9056 delete mode 100755 userspace/root/sbin/usb/compositions/9057 delete mode 100755 userspace/root/sbin/usb/compositions/9059 delete mode 100755 userspace/root/sbin/usb/compositions/905B delete mode 100755 userspace/root/sbin/usb/compositions/9060 delete mode 100755 userspace/root/sbin/usb/compositions/9063 delete mode 100755 userspace/root/sbin/usb/compositions/9064 delete mode 100755 userspace/root/sbin/usb/compositions/9067 delete mode 100755 userspace/root/sbin/usb/compositions/9084 delete mode 100755 userspace/root/sbin/usb/compositions/9085 delete mode 100755 userspace/root/sbin/usb/compositions/9091 delete mode 100755 userspace/root/sbin/usb/compositions/90A1 delete mode 100755 userspace/root/sbin/usb/compositions/90A9 delete mode 100755 userspace/root/sbin/usb/compositions/90AD delete mode 100755 userspace/root/sbin/usb/compositions/90B0 delete mode 100755 userspace/root/sbin/usb/compositions/90B1 delete mode 100755 userspace/root/sbin/usb/compositions/90B8 delete mode 100755 userspace/root/sbin/usb/compositions/90C0 delete mode 100755 userspace/root/sbin/usb/compositions/90CA delete mode 100755 userspace/root/sbin/usb/compositions/90CD delete mode 100755 userspace/root/sbin/usb/compositions/90D5 delete mode 100755 userspace/root/sbin/usb/compositions/90D6 delete mode 100755 userspace/root/sbin/usb/compositions/90DB delete mode 100755 userspace/root/sbin/usb/compositions/90E2 delete mode 100755 userspace/root/sbin/usb/compositions/F000 delete mode 100755 userspace/root/sbin/usb/compositions/empty delete mode 100755 userspace/root/sbin/usb/compositions/hsic_next delete mode 100755 userspace/root/sbin/usb/compositions/hsusb_next delete mode 100755 userspace/root/sbin/usb/debuger/debugFiles delete mode 100755 userspace/root/sbin/usb/debuger/help delete mode 100755 userspace/root/sbin/usb/target delete mode 100755 userspace/root/sbin/usb_composition delete mode 100755 userspace/root/sbin/usb_debug delete mode 100755 userspace/root/usr/bin/cdsp.sh delete mode 100755 userspace/root/usr/bin/getslotsuffix delete mode 100755 userspace/root/usr/bin/wcnssfilter delete mode 100755 userspace/root/usr/local/qr-linux/adsp-start.sh diff --git a/userspace/root/etc/default/usbd b/userspace/root/etc/default/usbd deleted file mode 100644 index e69de29..0000000 diff --git a/userspace/root/etc/init.d/init_sys_mss b/userspace/root/etc/init.d/init_sys_mss deleted file mode 100755 index 8a87223..0000000 --- a/userspace/root/etc/init.d/init_sys_mss +++ /dev/null @@ -1,26 +0,0 @@ -#! /bin/sh - -set -e - -case "$1" in -start) - echo -n "Starting atreset: " - start-stop-daemon -S -b -x /sbin/init_mss - echo "done" - ;; - stop) - echo -n "Stopping atreset: " - start-stop-daemon -K -n init_mss - echo "done" - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage init_mss{ start | stop | restart }" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/userspace/root/etc/init.d/ipa_fws.sh b/userspace/root/etc/init.d/ipa_fws.sh deleted file mode 100755 index ecfe7a3..0000000 --- a/userspace/root/etc/init.d/ipa_fws.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/bin/sh -#============================================================================== -# FILE: ipa_fws.sh -# -# DESCRIPTION: -# Indicate to IPA driver that FWs are available from user space for fetching -# and loading -# -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -#============================================================================== -# Look for ipa_config.txt file and cat it's content to /dev/ipa before ipa is ready. -# A write of 1 or MHI to /dev/ipa will indicate that user space is available and the -# FWs can be fetched. -FILE=/data/misc/ipa/ipa_config.txt -if [ -f $FILE ]; then - echo $(cat $FILE) > /dev/ipa -fi -# replace 1 with mhi if mhi usecases is execersized. -echo 1 > /dev/ipa diff --git a/userspace/root/etc/init.d/start_cnss_daemon b/userspace/root/etc/init.d/start_cnss_daemon deleted file mode 100755 index 3ed492f..0000000 --- a/userspace/root/etc/init.d/start_cnss_daemon +++ /dev/null @@ -1,43 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -# Starts the cnss_services daemon -# -PATH=/sbin:/bin:/usr/sbin:/usr/bin - -SSR_SUBSYS_PATH=/sys/bus/msm_subsys/devices -SSR_SUBSYS=`ls -d $SSR_SUBSYS_PATH/subsys*` -SSR_CLD_SUBSYS_NAME=AR6320 -SSR_RESTART_LEVEL=system - -case "$1" in - start) - echo "Starting cnss_daemon... $@" - if [ -e /tmp/cnss_daemon.log ]; - then - echo "Starting cnss_daemon..." >> /tmp/cnss_daemon.log - start-stop-daemon -S -x /usr/sbin/cnss_daemon -- -d -f /tmp/cnss_daemon.log - else - start-stop-daemon -S -x /usr/sbin/cnss_daemon - fi - echo "done" - ;; - stop) - echo -n "Stopping cnss_services: " - start-stop-daemon -K -n /usr/sbin/cnss_daemon - echo "done" - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage: cnss_daemon { start | stop | restart }" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/userspace/root/etc/init.d/wlan b/userspace/root/etc/init.d/wlan deleted file mode 100755 index fc2b95e..0000000 --- a/userspace/root/etc/init.d/wlan +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#It is for sda845-ubuntu - -export MODULE_BASE=/lib/modules/`uname -r` -export RETRY_LIMIT=3 -HELP="Usage $0 {start | stop | restart} " -DUMP_TO_KMSG=/dev/kmsg - -do_ctrl_nl80211() { - case "$1" in - start) - echo "Starting WLAN... $@" > $DUMP_TO_KMSG - shift - - set -e - insmod $MODULE_BASE/extra/wlan.ko $@ - set +e - - c=1 - ifconfig wlan0 up 2> /dev/null - rc=$? - while [ $rc -ne 0 -a $c -le $RETRY_LIMIT ]; do - sleep 1 - ifconfig wlan0 up 2> /dev/null - rc=$? - c=`expr $c + 1` - done - - if [ $c -gt $RETRY_LIMIT ]; then - echo "WLAN bring-up failed!" > $DUMP_TO_KMSG - exit 1 - fi - - ;; - - stop) - echo "Stopping WLAN..." > $DUMP_TO_KMSG - ifconfig wlan0 down - rmmod wlan - ;; - - restart) - do_ctrl_nl80211 stop - shift - do_ctrl_nl80211 start $@ - - return $? - ;; - - *) - return 1 - ;; - esac - - return 0 -} - -do_ctrl_nl80211 $@ -if [ $? -ne 0 ]; then - echo $HELP >&2 - exit 1 -fi - -exit 0 diff --git a/userspace/root/etc/initscripts/ab_mount.sh b/userspace/root/etc/initscripts/ab_mount.sh deleted file mode 100755 index 8523d0c..0000000 --- a/userspace/root/etc/initscripts/ab_mount.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/sh -# Copyright (c) 2018, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - -suffix=$(getslotsuffix) -partition=$3${suffix} - -count=0 -while [ ! -h "$partition" ]; do - sleep 0.1 - # wait 10s for file - count=$(( $count + 1 )) - if [ $count -ge 100 ]; then - echo "[ERROR] Can not find the"$partition - exit 1 - fi -done - -mount -o $1 -t $2 $partition $4 -result=$? -if [ 0 -ne $result ];then - sleep 2 - mount -o $1 -t $2 $partition $4 -fi diff --git a/userspace/root/etc/initscripts/adsp.sh b/userspace/root/etc/initscripts/adsp.sh deleted file mode 100755 index c01f11e..0000000 --- a/userspace/root/etc/initscripts/adsp.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/bin/sh -############################################################################### -# -# This script is used for System V init scripts to start adsp -# -# Copyright (c) 2012-2016 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -############################################################################### - -set -e - -case "$1" in - start) - echo -n "Starting adsp: " - /usr/local/qr-linux/adsp-start.sh - echo "done" - ;; - stop) - echo -n "Stopping adsp: " - echo 0 > /sys/kernel/boot_adsp/boot - echo "done" - ;; - restart) - $0 stop - $0 start - ;; - *) - echo "Usage adsp.sh { start | stop | restart}" >&2 - exit 1 - ;; -esac - -exit 0 diff --git a/userspace/root/etc/initscripts/chgrp-diag b/userspace/root/etc/initscripts/chgrp-diag deleted file mode 100755 index 03814dd..0000000 --- a/userspace/root/etc/initscripts/chgrp-diag +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -#change the group that owns /dev/diag and change permissions to user rw and group rw (no other rw) -chgrp diag /dev/diag -chmod 660 /dev/diag -chown diag:diag /media/card -chown diag:diag /sdcard diff --git a/userspace/root/etc/initscripts/sfs_config b/userspace/root/etc/initscripts/sfs_config deleted file mode 100755 index 9d0dc7e..0000000 --- a/userspace/root/etc/initscripts/sfs_config +++ /dev/null @@ -1,50 +0,0 @@ -#!/bin/sh -#============================================================================== -# FILE: sfs_config -# -# DESCRIPTION: -# create files and give permissions to the files and directories needed by -# secure file system -# -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -#============================================================================== -set -e - -soc_id=`cat /sys/devices/soc0/soc_id` - -if [[ "$soc_id" -ne "290" && "$soc_id" -ne "296" && "$soc_id" -ne "297" && "$soc_id" -ne "298" && "$soc_id" -ne "299" ]]; then - if [ "$soc_id" -eq "341" ]; then - if [[ -e /data/persist && ! -e /persist ]]; then - ln -sf /data/persist /persist - fi - fi - - if [ -e /persist ]; then - if [ ! -d /persist/data ]; then - echo "Creating /persist/data" - mkdir /persist/data - fi - chmod o+rwx /persist/data - fi - - if [ ! -d /data/misc ]; then - echo "Creating /data/misc" - mkdir /data/misc - fi - chmod o+rwx /data/misc - if [ ! -d /persist/tzstorage ]; then - echo "Creating /persist/tzstorage" - mkdir -p /persist/tzstorage - fi - chmod o+rwx /persist/tzstorage - if [ ! -L /data/vendor/tzstorage ]; then - echo "Creating /data/vendor/tzstorage" - mkdir -p /data/vendor/ - ln -s /persist/tzstorage /data/vendor/tzstorage - fi - - echo "SFS configuration completed." -fi -exit 0 diff --git a/userspace/root/etc/initscripts/usb b/userspace/root/etc/initscripts/usb deleted file mode 100755 index 2e8375f..0000000 --- a/userspace/root/etc/initscripts/usb +++ /dev/null @@ -1,192 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015, 2018, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Starts the USB Android Gadget. -export KERNEL=`uname -r` -export SOFTAP_W_DUN="N" -export ANDROID_LOG_TAGS="*:d" -export LS_COLORS="none" - -case "$1" in - start) - if [ -d /sys/class/android_usb/android0/f_ffs ] - then - echo adb > /sys/class/android_usb/android0/f_ffs/aliases - fi - - # get soc platform to update product related information - if [ -f /sys/devices/soc0/hw_platform ]; then - socplatform=`cat /sys/devices/soc0/machine` 2> /dev/null - soc_hwplatform=`cat /sys/devices/soc0/hw_platform` - soc_subtypeid=`cat /sys/devices/soc0/platform_subtype_id` - else - socplatform=`cat /sys/devices/system/soc/soc0/machine` 2> /dev/null - fi - echo "soc:" $socplatform - - # find serialno from cmdline - serialno=`cat /proc/cmdline | grep -o "androidboot.serialno=[A-Za-z0-9]*" | cut -d "=" -f2` - if [ "$serialno" == "" ]; then - echo "serialno not found with cmdline, use default" - serialno="12345678" - fi - echo "serialno:" $serialno - - msm_serial=`cat /sys/devices/soc0/serial_number` - msm_serial_hex=`printf %08X $msm_serial` - product_string="$socplatform-$soc_hwplatform _SN:$msm_serial_hex" - - # try to mount configfs, and create instance of USB functions if it goes through - mount -t configfs none /sys/kernel/config - if [ -d /sys/kernel/config/usb_gadget ]; then - echo "Configuring the USB gadget using ConfigFS..." - cd /sys/kernel/config/usb_gadget - mkdir g1 - cd g1 - mkdir strings/0x409 - mkdir configs/c.1 - mkdir configs/c.1/strings/0x409 - mkdir functions/mass_storage.0 - mkdir functions/mass_storage.1 - mkdir functions/ffs.adb - mkdir functions/diag.diag - mkdir functions/cser.dun.0 - mkdir functions/cser.nmea.1 - mkdir functions/gser.0 - mkdir functions/rmnet_bam.rmnet - mkdir functions/gsi.rmnet - mkdir functions/gsi.rndis - mkdir functions/gsi.ecm - mkdir functions/gsi.mbim - mkdir functions/gsi.dpl - mkdir functions/gsi.gps - mkdir functions/ncm.0 - mkdir functions/qdss.qdss - mkdir functions/uac1.uac1 - if [ ! -s "/etc/adb_devid" ] - then - echo $serialno > /etc/adb_devid - sync - fi - cat /etc/adb_devid > strings/0x409/serialnumber - echo "QCOM" > strings/0x409/manufacturer - echo "$product_string" > strings/0x409/product - setprop sys.usb.configfs 1 - cd / - fi - - if [ -d /sys/class/android_usb/android0 ] - then - echo "$product_string" > /sys/class/android_usb/android0/iProduct - fi - - # mount functionfs - mkdir -p /dev/usb-ffs/adb - mount -o uid=2000,gid=2000 -t functionfs adb /dev/usb-ffs/adb - mount -o remount,gid=5,mode=620 /dev/pts - - case `source /sbin/usb/target` in - *9x15* ) - # Nothing to do here for 9x15 - ;; - *9x25* ) - echo "Unbind EHCI HSIC host device driver" - echo msm_hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind - ;; - *9x35* ) - echo "Unbind EHCI HSIC host device driver" - echo f9a15000.hsic_host > /sys/bus/platform/drivers/msm_hsic_host/unbind - echo 1 > /sys/devices/virtual/android_usb/android0/f_rndis_qc/max_pkt_per_xfer - echo 3 > /sys/module/dwc3/parameters/bulk_ep_xfer_timeout_ms - ;; - *8916* ) - echo 9091 > /etc/usb/boot_hsusb_comp - ;; - *9640* ) - echo 16384 > /sys/module/g_android/parameters/rndis_dl_max_xfer_size - ;; - *9650* ) - echo 16384 > /sys/module/g_android/parameters/gsi_in_rndis_aggr_size - ;; - *sdx20* ) - echo Y > /sys/module/libcomposite/parameters/enable_l1_for_hs - echo Y > /sys/module/dwc3/parameters/enable_dwc3_u1u2 - ;; - *8909* | *8053* | *8017* | *qcs605* | *qcs40x* ) - echo 901D > /etc/usb/boot_hsusb_comp - ;; - esac - - # enable debug message - if [ -f /sbin/usb/debuger/default_debug ]; - then - rm -rf /sbin/usb/debuger/statusFile - usb_debug -f on n /sbin/usb/debuger/default_debug - fi - - # enable concurrent SoftAP and DUN - if [ -f /data/usb/softap_w_dun ] - then - SOFTAP_W_DUN=`cat /data/usb/softap_w_dun` - fi - - # boot hsic composition: - if [ -d /sys/class/android_usb/android1 ] - then - pid=`cat /etc/usb/boot_hsic_comp` - /sbin/usb/compositions/$pid y - # let hsic compostion script run before starting hsusb - sleep 1 - fi - - # boot hsusb composition: - if [ -d /sys/class/android_usb/android0 ] - then - pid=`cat /etc/usb/boot_hsusb_comp` - /sbin/usb/compositions/$pid n - - if [ "$SOFTAP_W_DUN" == "Y" ] - then - echo "DUN+SOFTAP mode is enabled." - echo 1 > /sys/devices/virtual/android_usb/android0/f_serial/dun_w_softap_enable - fi - fi - ;; - - stop) - echo "Stopping USB Android Gadget" - ;; - - restart) - $0 stop - $0 start - ;; - *) - echo "Usage usb { start | stop | restart}" >&2 - exit 1 - ;; -esac - diff --git a/userspace/root/etc/initscripts/wlan b/userspace/root/etc/initscripts/wlan deleted file mode 100755 index fc2b95e..0000000 --- a/userspace/root/etc/initscripts/wlan +++ /dev/null @@ -1,92 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -#It is for sda845-ubuntu - -export MODULE_BASE=/lib/modules/`uname -r` -export RETRY_LIMIT=3 -HELP="Usage $0 {start | stop | restart} " -DUMP_TO_KMSG=/dev/kmsg - -do_ctrl_nl80211() { - case "$1" in - start) - echo "Starting WLAN... $@" > $DUMP_TO_KMSG - shift - - set -e - insmod $MODULE_BASE/extra/wlan.ko $@ - set +e - - c=1 - ifconfig wlan0 up 2> /dev/null - rc=$? - while [ $rc -ne 0 -a $c -le $RETRY_LIMIT ]; do - sleep 1 - ifconfig wlan0 up 2> /dev/null - rc=$? - c=`expr $c + 1` - done - - if [ $c -gt $RETRY_LIMIT ]; then - echo "WLAN bring-up failed!" > $DUMP_TO_KMSG - exit 1 - fi - - ;; - - stop) - echo "Stopping WLAN..." > $DUMP_TO_KMSG - ifconfig wlan0 down - rmmod wlan - ;; - - restart) - do_ctrl_nl80211 stop - shift - do_ctrl_nl80211 start $@ - - return $? - ;; - - *) - return 1 - ;; - esac - - return 0 -} - -do_ctrl_nl80211 $@ -if [ $? -ne 0 ]; then - echo $HELP >&2 - exit 1 -fi - -exit 0 diff --git a/userspace/root/etc/systemd/system/chgrp-diag.service b/userspace/root/etc/systemd/system/chgrp-diag.service deleted file mode 100644 index 761960f..0000000 --- a/userspace/root/etc/systemd/system/chgrp-diag.service +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# - -[Unit] -Description=chgrp-diag Service -SourcePath=/etc/initscripts/chgrp-diag - -[Service] -Restart=no -RemainAfterExit=yes -ExecStart=/etc/initscripts/chgrp-diag start -ExecStop=/etc/initscripts/chgrp-diag stop - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/chgrp-diag.service b/userspace/root/etc/systemd/system/multi-user.target.wants/chgrp-diag.service deleted file mode 120000 index 7c1b64f..0000000 --- a/userspace/root/etc/systemd/system/multi-user.target.wants/chgrp-diag.service +++ /dev/null @@ -1 +0,0 @@ -/etc/systemd/chgrp-diag.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/sfsconfig.service b/userspace/root/etc/systemd/system/multi-user.target.wants/sfsconfig.service deleted file mode 120000 index 5b2aa37..0000000 --- a/userspace/root/etc/systemd/system/multi-user.target.wants/sfsconfig.service +++ /dev/null @@ -1 +0,0 @@ -/etc/systemd/system/sfsconfig.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/wlan_daemon.service b/userspace/root/etc/systemd/system/multi-user.target.wants/wlan_daemon.service deleted file mode 120000 index f6caa9b..0000000 --- a/userspace/root/etc/systemd/system/multi-user.target.wants/wlan_daemon.service +++ /dev/null @@ -1 +0,0 @@ -/etc/systemd/system/wlan_daemon.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/sfsconfig.service b/userspace/root/etc/systemd/system/sfsconfig.service deleted file mode 100644 index f61d4e6..0000000 --- a/userspace/root/etc/systemd/system/sfsconfig.service +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. - -[Unit] -Description=sfs configuration Service -SourcePath=/etc/initscripts/sfs_config -After=qseecomd.service - -[Service] -Restart=no -RemainAfterExit=yes -ExecStart=/etc/initscripts/sfs_config -ExecStop=/etc/initscripts/sfs_config - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/wlan_daemon.service b/userspace/root/etc/systemd/system/wlan_daemon.service deleted file mode 100644 index 0c36c1b..0000000 --- a/userspace/root/etc/systemd/system/wlan_daemon.service +++ /dev/null @@ -1,42 +0,0 @@ -# Copyright (c) 2016, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - - -[Unit] -Description=Wlan Service -SourcePath=/etc/init.d/wlan -Requires=wcnss_wlan.service -After=persist.mount firmware-links.service wcnss_wlan.service usb.service - -[Service] -Restart=no -RemainAfterExit=yes -ExecStart=/etc/initscripts/wlan start -ExecStop=/etc/initscripts/wlan stop - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/etc/udev/rules.d/97-tty.rules b/userspace/root/etc/udev/rules.d/97-tty.rules deleted file mode 100644 index a31b40c..0000000 --- a/userspace/root/etc/udev/rules.d/97-tty.rules +++ /dev/null @@ -1,2 +0,0 @@ -SUBSYSTEM=="tty", KERNEL=="ttyHS0", GROUP="gpio", MODE="0660" -SUBSYSTEM=="tty", KERNEL=="ttyUSB2", GROUP="gpio", MODE="0660" diff --git a/userspace/root/etc/usb/boot_hsic_comp b/userspace/root/etc/usb/boot_hsic_comp deleted file mode 100644 index e69de29..0000000 diff --git a/userspace/root/etc/usb/boot_hsusb_comp b/userspace/root/etc/usb/boot_hsusb_comp deleted file mode 100644 index bf1ecb8..0000000 --- a/userspace/root/etc/usb/boot_hsusb_comp +++ /dev/null @@ -1 +0,0 @@ -901D diff --git a/userspace/root/lib/systemd/system/adsp.service b/userspace/root/lib/systemd/system/adsp.service deleted file mode 100644 index 220ee0c..0000000 --- a/userspace/root/lib/systemd/system/adsp.service +++ /dev/null @@ -1,18 +0,0 @@ -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# - -[Unit] -Description=adsp start service -SourcePath=/etc/initscripts/adsp.sh - -[Service] -Restart=no -TimeoutSec=5min -RemainAfterExit=true -ExecStart=/etc/initscripts/adsp.sh start -ExecStop=/etc/initscripts/adsp.sh stop - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/cdsp.service b/userspace/root/lib/systemd/system/cdsp.service deleted file mode 100644 index 680691f..0000000 --- a/userspace/root/lib/systemd/system/cdsp.service +++ /dev/null @@ -1,10 +0,0 @@ -[Unit] -Description=Start cdsp -SourcePath=/usr/bin/cdsp.sh - -[Service] -Type=oneshot -ExecStart=/bin/sh /usr/bin/cdsp.sh - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/ffbm.target.wants/init_sys_mss.service b/userspace/root/lib/systemd/system/ffbm.target.wants/init_sys_mss.service deleted file mode 120000 index 6b3e25b..0000000 --- a/userspace/root/lib/systemd/system/ffbm.target.wants/init_sys_mss.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/init_sys_mss.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/ffbm.target.wants/rmt_storage.service b/userspace/root/lib/systemd/system/ffbm.target.wants/rmt_storage.service deleted file mode 120000 index 777636e..0000000 --- a/userspace/root/lib/systemd/system/ffbm.target.wants/rmt_storage.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/rmt_storage.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/ipa_fws.service b/userspace/root/lib/systemd/system/ipa_fws.service deleted file mode 100644 index f718b55..0000000 --- a/userspace/root/lib/systemd/system/ipa_fws.service +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (c) 2017 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# - -[Unit] -Description=ipa firmware load script -SourcePath=/etc/init.d/ipa_fws.sh - -[Service] -Type=forking -Restart=no -ExecStart=/etc/init.d/ipa_fws.sh - -[Install] -WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/irsc_util.service b/userspace/root/lib/systemd/system/irsc_util.service deleted file mode 100644 index 8627ba6..0000000 --- a/userspace/root/lib/systemd/system/irsc_util.service +++ /dev/null @@ -1,12 +0,0 @@ -[Unit] -Description=IRSC util Service -SourcePath=/usr/bin/irsc_util -DefaultDependencies=no - -[Service] -Type=oneshot -RemainAfterExit=yes -ExecStart=/usr/bin/irsc_util /etc/sec_config - -[Install] -WantedBy=sysinit.target diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/adsp.service b/userspace/root/lib/systemd/system/multi-user.target.wants/adsp.service deleted file mode 120000 index 00ed3b9..0000000 --- a/userspace/root/lib/systemd/system/multi-user.target.wants/adsp.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/adsp.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/ipa_fws.service b/userspace/root/lib/systemd/system/multi-user.target.wants/ipa_fws.service deleted file mode 120000 index 0e9d114..0000000 --- a/userspace/root/lib/systemd/system/multi-user.target.wants/ipa_fws.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/ipa_fws.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/usb.service b/userspace/root/lib/systemd/system/multi-user.target.wants/usb.service deleted file mode 120000 index 5a71eff..0000000 --- a/userspace/root/lib/systemd/system/multi-user.target.wants/usb.service +++ /dev/null @@ -1 +0,0 @@ -/lib/systemd/system/usb.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/rmt_storage.service b/userspace/root/lib/systemd/system/rmt_storage.service index 134a099..32896d2 100644 --- a/userspace/root/lib/systemd/system/rmt_storage.service +++ b/userspace/root/lib/systemd/system/rmt_storage.service @@ -1,7 +1,6 @@ [Unit] Description= Remote Storage Service SourcePath=/sbin/rmt_storage -After=usb.service Before=init_sys_mss.service [Service] diff --git a/userspace/root/lib/systemd/system/usb.service b/userspace/root/lib/systemd/system/usb.service deleted file mode 100644 index cfe72af..0000000 --- a/userspace/root/lib/systemd/system/usb.service +++ /dev/null @@ -1,44 +0,0 @@ -# Copyright (c) 2016, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE - - -[Unit] -SourcePath=/etc/initscripts/usb -Description=usb Service -After=systemrw.mount leprop.service -Requires=systemrw-adb_devid.service systemrw-boot_hsusb_comp.service - -[Service] -Type=forking -Restart=no -TimeoutSec=5min -IgnoreSIGPIPE=no -KillMode=process -GuessMainPID=no -RemainAfterExit=yes -ExecStart=/etc/initscripts/usb start -ExecStop=/etc/initscripts/usb stop diff --git a/userspace/root/sbin/usb/compositions/901D b/userspace/root/sbin/usb/compositions/901D deleted file mode 100755 index 671513c..0000000 --- a/userspace/root/sbin/usb/compositions/901D +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014,2017-2018, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB - -echo "Switching to composition number 0x901D" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -if [ -f /sys/class/android_usb/android$num/enable ]; then - configfs_supported="n" -else - configfs_supported="y" -fi - -run_non_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 901D > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x901d > idProduct - echo "DIAG_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - * ) - if [ $configfs_supported = "y" ]; then - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - else - run_non_configfs & - fi - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9021 b/userspace/root/sbin/usb/compositions/9021 deleted file mode 100755 index ca4ac9e..0000000 --- a/userspace/root/sbin/usb/compositions/9021 +++ /dev/null @@ -1,177 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + QMI_RMNET (Android) - -echo "Switching to composition number 0x9021" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9021 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,bam2bam > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9021 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9021 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9021 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9021 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9021 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,rmnet_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9021 > idProduct - echo "DIAG_RMNET" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/gsi.rmnet configs/c.1/f2 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9022 b/userspace/root/sbin/usb/compositions/9022 deleted file mode 100755 index 0cba54e..0000000 --- a/userspace/root/sbin/usb/compositions/9022 +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + QMI_RMNET (Android) - -echo "Switching to composition number 0x9022" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9022 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo SMD,BAM2BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9022 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo SMD,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9022 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9022 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9022 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9022 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,rmnet_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9022 > idProduct - echo "DIAG_ADB_RMNET" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/gsi.rmnet configs/c.1/f3 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9024 b/userspace/root/sbin/usb/compositions/9024 deleted file mode 100755 index 57f8156..0000000 --- a/userspace/root/sbin/usb/compositions/9024 +++ /dev/null @@ -1,170 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS + ADB [Android] - -echo "Switching to composition number 0x9024" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9024 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9024 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9024 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc,ffs > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9024 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_gsi,ffs > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9024 > idProduct - echo "RNDIS_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *8017* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9x25 & - ;; - *8909* ) - run_9x25 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9025 b/userspace/root/sbin/usb/compositions/9025 deleted file mode 100755 index ac4d5c3..0000000 --- a/userspace/root/sbin/usb/compositions/9025 +++ /dev/null @@ -1,252 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + MODEM + NMEA + QMI_RMNET + Mass Storage (Android) - -echo "Switching to composition number 0x9025" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9025 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9025 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9025 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9025 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9025 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9025 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9025 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge,tty > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9025 > idProduct - echo "DIAG_ADB_DUN_NMEA_RMNET_MSC" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - if [ -f /etc/data/usb/softap_w_dun ] - then - SOFTAP_W_DUN=`cat /etc/data/usb/softap_w_dun` - fi - if [ "$SOFTAP_W_DUN" == "Y" ] - then - ln -s functions/gser.0 configs/c.1/f3 - else - ln -s functions/cser.dun.0 configs/c.1/f3 - fi - ln -s functions/cser.nmea.1 configs/c.1/f4 - ln -s functions/$2.rmnet configs/c.1/f5 - ln -s functions/mass_storage.0 configs/c.1/f6 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - echo "This composition can't be supported on 8909" - ;; - *8096* ) - udcname="6a00000.dwc3" - if [ -f /sys/class/android_usb/android$num/enable ]; then - run_9x35 & - else - xport="rmnet_bam" - run_configfs $udcname $xport & - fi - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - xport="gsi" - run_configfs $udcname $xport & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/902B b/userspace/root/sbin/usb/compositions/902B deleted file mode 100755 index d489a51..0000000 --- a/userspace/root/sbin/usb/compositions/902B +++ /dev/null @@ -1,169 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2014,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS + ADB + Mass Storage - -echo "Switching to composition number 0x902B" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x902B > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc,adb,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902B > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis,adb,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902B > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc,ffs,mass_storage > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902B > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_gsi,ffs,mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x902B > idProduct - echo "RNDIS_ADB_MS" > configs/c.1/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/mass_storage.0 configs/c.1/f3 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9x25 & - ;; - *8909* ) - run_9x25 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/902D b/userspace/root/sbin/usb/compositions/902D deleted file mode 100755 index 8e8c18b..0000000 --- a/userspace/root/sbin/usb/compositions/902D +++ /dev/null @@ -1,172 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS + DIAG + ADB [Android] - -echo "Switching to composition number 0x902D" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x902D > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis_qc,diag,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902D > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis,diag,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902D > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android$num/f_diag/clients - echo rndis_qc,diag,ffs > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android$num/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 902D > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android$num/f_diag/clients - echo rndis_gsi,diag,ffs > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x902d > idProduct - echo "RNDIS_DIAG_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/diag.diag configs/c.1/f2 - ln -s functions/ffs.adb configs/c.1/f3 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9x25 & - ;; - *8909* ) - run_9x25 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9039 b/userspace/root/sbin/usb/compositions/9039 deleted file mode 100755 index bfc8b58..0000000 --- a/userspace/root/sbin/usb/compositions/9039 +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2014, 2016 The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: MTP + ADB(Android) - -echo "Switching to composition number 0x9039" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9039() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9039 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo mtp,adb > /sys/class/android_usb/android$num/functions - - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -case `/sbin/usb/target` in - *8974* ) - run_9039 & - ;; - *8096* | *8053* ) - run_9039 & - ;; - * ) - echo "This composition is not supported" - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9049 b/userspace/root/sbin/usb/compositions/9049 deleted file mode 100755 index f2d87ea..0000000 --- a/userspace/root/sbin/usb/compositions/9049 +++ /dev/null @@ -1,242 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + DUN + RMNET + Mass Storage + QDSS [Android] - -echo "Switching to composition number 0x9049" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9049 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9049 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9049 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9049 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9049 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9049 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9049 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9049 > idProduct - echo "DIAG_ADB_SER_RMNET_MS_QDSS" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/cser.dun.0 configs/c.1/f3 - ln -s functions/gsi.rmnet configs/c.1/f4 - ln -s functions/mass_storage.0 configs/c.1/f5 - ln -s functions/qdss.qdss configs/c.1/f6 - echo 1 > functions/qdss.qdss/enable_debug_inface - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - echo "This composition can't be supported on 8909" - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/904A b/userspace/root/sbin/usb/compositions/904A deleted file mode 100755 index 26528dc..0000000 --- a/userspace/root/sbin/usb/compositions/904A +++ /dev/null @@ -1,112 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + QDSS [Android] - -echo "Switching to composition number 0x904A" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x904A > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,qdss > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 904A > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,qdss > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - pkill adbd - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x904A > idProduct - echo "DIAG_QDSS" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/qdss.qdss configs/c.1/f2 - echo 1 > functions/qdss.qdss/enable_debug_inface - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9x35 & - ;; - *8909* ) - run_9x35 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9x35 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9x35 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9056 b/userspace/root/sbin/usb/compositions/9056 deleted file mode 100755 index 5e193ac..0000000 --- a/userspace/root/sbin/usb/compositions/9056 +++ /dev/null @@ -1,229 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + SERIAL + RMNET + Mass Storage + Audio [Android] - -echo "Switching to composition number 0x9056" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9056 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9056 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo SMD,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9056 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9056 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9056 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9056 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9056 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,audio > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9056 > idProduct - echo "DIAG_ADB_SER_RMNET_MS_AUDIO" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/cser.dun.0 configs/c.1/f3 - ln -s functions/gsi.rmnet configs/c.1/f4 - ln -s functions/mass_storage.0 configs/c.1/f5 - ln -s functions/uac1.uac1 configs/c.1/f6 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - echo "This composition can't be supported on 8909" - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9057 b/userspace/root/sbin/usb/compositions/9057 deleted file mode 100755 index 35532cc..0000000 --- a/userspace/root/sbin/usb/compositions/9057 +++ /dev/null @@ -1,152 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS : ECM - -echo "Switching to composition number 0x9057" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9057 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc:ecm_qc > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9057 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis:ecm_qc > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_ecm_qc/ecm_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9057 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_qc:ecm_qc > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9057 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis:ecm > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9057 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo rndis_gsi:ecm_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - pkill adbd - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - echo 0x05c6 > idVendor - echo 0x9057 > idProduct - echo "RNDIS" > configs/c.1/strings/0x409/configuration - echo "ECM" > configs/c.2/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/gsi.ecm configs/c.2/f1 - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9059 b/userspace/root/sbin/usb/compositions/9059 deleted file mode 100755 index fcbfe49..0000000 --- a/userspace/root/sbin/usb/compositions/9059 +++ /dev/null @@ -1,191 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG+ADB+RNDIS : ECM - -echo "Switching to composition number 0x9059" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9059 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis_qc,diag,adb:ecm_qc > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9059 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis,diag,adb:ecm_qc > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_ecm_qc/ecm_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9059 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis_qc,diag,ffs:ecm_qc > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9059 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis,diag,adb:ecm > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9059 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo rndis_gsi,diag,adb:ecm_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - echo 0x05c6 > idVendor - echo 0x9059 > idProduct - echo "RNDIS_DIAG_ADB" > configs/c.1/strings/0x409/configuration - echo "ECM" > configs/c.2/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/diag.diag configs/c.1/f2 - ln -s functions/ffs.adb configs/c.1/f3 - ln -s functions/gsi.ecm configs/c.2/f1 - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/905B b/userspace/root/sbin/usb/compositions/905B deleted file mode 100755 index 0c9f15f..0000000 --- a/userspace/root/sbin/usb/compositions/905B +++ /dev/null @@ -1,161 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: MBIM - -echo "Switching to composition number 0x905b" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x905b > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x905b > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 905b > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 905b > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 905b > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - pkill adbd - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x905B > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "MBIM" > configs/c.1/strings/0x409/configuration - ln -s functions/gsi.mbim configs/c.1/f1 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9060 b/userspace/root/sbin/usb/compositions/9060 deleted file mode 100755 index 1768aba..0000000 --- a/userspace/root/sbin/usb/compositions/9060 +++ /dev/null @@ -1,131 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + QDSS + ADB - -echo "Switching to composition number 0x9060" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9060 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,qdss,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9060 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,qdss,ffs > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9060 > idProduct - echo "DIAG_QDSS_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/qdss.qdss configs/c.1/f2 - ln -s functions/ffs.adb configs/c.1/f3 - echo 1 > functions/qdss.qdss/enable_debug_inface - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9x35 & - ;; - *8909* ) - run_9x35 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9x35 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9x35 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9063 b/userspace/root/sbin/usb/compositions/9063 deleted file mode 100755 index 0796d7c..0000000 --- a/userspace/root/sbin/usb/compositions/9063 +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS : ECM : MBIM - -echo "Switching to composition number 0x9063" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9063 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo rndis_qc:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9063 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo rndis:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9063 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo rndis_qc:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_rndis_qc/rndis_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis_qc/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9063 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo rndis:ecm:usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - echo 1 > /sys/class/android_usb/android0/f_rndis/wceis - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9063 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo rndis_gsi:ecm_gsi:mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - mkdir configs/c.3 - mkdir configs/c.3/strings/0x409 - echo 0x9063 > idProduct - echo 0x05c6 > idVendor - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "RNDIS" > configs/c.1/strings/0x409/configuration - echo "ECM" > configs/c.2/strings/0x409/configuration - echo "MBIM" > configs/c.3/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/gsi.ecm configs/c.2/f1 - ln -s functions/gsi.mbim configs/c.3/f1 - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo 0xA0 > configs/c.3/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9064 b/userspace/root/sbin/usb/compositions/9064 deleted file mode 100755 index 470014d..0000000 --- a/userspace/root/sbin/usb/compositions/9064 +++ /dev/null @@ -1,274 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + MODEM + QMI_RMNET : ECM : MBIM - -echo "Switching to composition number 0x9064" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9064 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo smd,bam2bam > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9064 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo smd,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet:ecm:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9064 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,adb,serial,rmnet:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9064 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,ffs,serial,rmnet:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9064 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo diag,adb,serial,rmnet:ecm:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9064 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi:ecm_gsi:mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9064 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi:ecm_gsi:mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - mkdir configs/c.3 - mkdir configs/c.3/strings/0x409 - echo 0x05c6 > idVendor - echo 0x9064 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "DIAG_ADB_DUN_RMNET" > configs/c.1/strings/0x409/configuration - echo "ECM" > configs/c.2/strings/0x409/configuration - echo "MBIM" > configs/c.3/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/cser.dun.0 configs/c.1/f3 - ln -s functions/gsi.rmnet configs/c.1/f4 - ln -s functions/gsi.ecm configs/c.2/f1 - ln -s functions/gsi.mbim configs/c.3/f1 - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo 0xA0 > configs/c.3/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9067 b/userspace/root/sbin/usb/compositions/9067 deleted file mode 100755 index 61034a2..0000000 --- a/userspace/root/sbin/usb/compositions/9067 +++ /dev/null @@ -1,202 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: Mass storage + QMI_RMNET : Mass Storage + MBIM - -echo "Switching to composition number 0x9067" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9067 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo smd,bam2bam > /sys/class/android_usb/android0/f_rmnet/transports - echo mass_storage,rmnet:mass_storage,usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9067 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo smd,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo mass_storage,rmnet:mass_storage,usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9067 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo mass_storage,rmnet:mass_storage,usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9067 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo mass_storage,rmnet:mass_storage,usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9067 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo mass_storage,rmnet:mass_storage,usb_mbim > /sys/class/android_usb/android$num/functions - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 9067 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo mass_storage,rmnet_gsi:mass_storage,mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - echo 0x05c6 > idVendor - echo 0x9067 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "MS_RMNET" > configs/c.1/strings/0x409/configuration - echo "MS_MBIM" > configs/c.2/strings/0x409/configuration - ln -s functions/mass_storage.0 configs/c.1/f1 - ln -s functions/gsi.rmnet configs/c.1/f2 - ln -s functions/mass_storage.1 configs/c.2/f1 - ln -s functions/gsi.mbim configs/c.2/f2 - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/9084 b/userspace/root/sbin/usb/compositions/9084 deleted file mode 100755 index e6ed96d..0000000 --- a/userspace/root/sbin/usb/compositions/9084 +++ /dev/null @@ -1,205 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + QDSS + ADB + RMNET - -echo "Switching to composition number 0x9084" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9084 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,qdss,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25_v2() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9084 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,qdss,adb,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9084 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo qti,bam2bam_ipa > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,qdss,ffs,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9084 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,qdss,ffs,rmnet > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9084 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo 1 > /sys/class/android_usb/android0/f_qdss/debug_intf - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,qdss,ffs,rmnet_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9084 > idProduct - echo "DIAG_QDSS_ADB_RMNET" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/qdss.qdss configs/c.1/f2 - ln -s functions/ffs.adb configs/c.1/f3 - ln -s functions/gsi.rmnet configs/c.1/f4 - echo 1 > functions/qdss.qdss/enable_debug_inface - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - echo "This composition is not supported in 9x15" - ;; - *9x25* ) - case `cat /sys/devices/soc0/revision` in - *1.0* ) - run_9x25 & - ;; - *2.* ) - run_9x25_v2 & - ;; - * ) - run_9x25 & - ;; - esac - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/9085 b/userspace/root/sbin/usb/compositions/9085 deleted file mode 100755 index bf830e4..0000000 --- a/userspace/root/sbin/usb/compositions/9085 +++ /dev/null @@ -1,208 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG+ADB+MBIM+GNSS - -echo "Switching to composition number 0x9085" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" - mode="hsic" -else - num="0" - mode="hsusb" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x15() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9085 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,usb_mbim,gps > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x25() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 0x9085 > /sys/class/android_usb/android$num/idProduct - echo 0x05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,usb_mbim,gps > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android$num/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9085 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,ffs,usb_mbim,gps > /sys/class/android_usb/android$num/functions - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9085 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,usb_mbim,gps > /sys/class/android_usb/android$num/functions - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9085 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo $1 > /sys/class/android_usb/android$num/f_gps/transport - echo diag,ffs,mbim_gsi,gps > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9085 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "DIAG_ADB_MBIM_GNSS" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/gsi.mbim configs/c.1/f3 - ln -s functions/gsi.gps configs/c.1/f4 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x15* ) - run_9x15 & - ;; - *9x25* ) - run_9x25 & - ;; - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 "smd" & - ;; - *sdx20* ) - run_9650 "glink" & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/9091 b/userspace/root/sbin/usb/compositions/9091 deleted file mode 100755 index 97736b6..0000000 --- a/userspace/root/sbin/usb/compositions/9091 +++ /dev/null @@ -1,179 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + MODEM + QMI_RMNET + ADB - -echo "Switching to composition number 0x9091" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9091 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,serial,rmnet,adb > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9091 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo QTI,BAM > /sys/class/android_usb/android0/f_rmnet/transports - echo diag,serial,rmnet,adb > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9091 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,serial,rmnet_gsi,adb > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 9091 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo diag,serial,rmnet_gsi,adb > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x9091 > idProduct - echo "DIAG_SER_RMNET_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/cser.dun.0 configs/c.1/f2 - ln -s functions/gsi.rmnet configs/c.1/f3 - ln -s functions/ffs.adb configs/c.1/f4 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *8916* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9x35 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90A1 b/userspace/root/sbin/usb/compositions/90A1 deleted file mode 100755 index 4494c40..0000000 --- a/userspace/root/sbin/usb/compositions/90A1 +++ /dev/null @@ -1,149 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + (multiplexed) QMI_RMNET (Android) - -echo "Switching to composition number 0x90A1" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A1 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,ffs,rmnet> /sys/class/android_usb/android$num/functions - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A1 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,rmnet> /sys/class/android_usb/android$num/functions - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A1 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,ffs,rmnet_gsi> /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90A1 > idProduct - echo "DIAG_ADB_RMNET" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/gsi.rmnet configs/c.1/f3 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90A9 b/userspace/root/sbin/usb/compositions/90A9 deleted file mode 100755 index f0c6030..0000000 --- a/userspace/root/sbin/usb/compositions/90A9 +++ /dev/null @@ -1,219 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014-2015,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + MODEM + NMEA + QDSS (bulk in) + RMNET : ECM : MBIM - -echo "Switching to composition number 0x90A9" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A9 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_ecm_qc/ecm_transports - echo BAM2BAM_IPA > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,qdss,rmnet:ecm_qc:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A9 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo BAM_DMUX > /sys/class/android_usb/android0/f_usb_mbim/mbim_transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,qdss,rmnet:ecm:usb_mbim > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A9 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,qdss,rmnet_gsi:ecm_gsi:mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90A9 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge,tty > /sys/class/android_usb/android0/f_serial/transports - echo bam > /sys/class/android_usb/android0/f_qdss/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,qdss,rmnet_gsi:ecm_gsi:mbim_gsi > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - mkdir configs/c.2 - mkdir configs/c.2/strings/0x409 - mkdir configs/c.3 - mkdir configs/c.3/strings/0x409 - echo 0x05c6 > idVendor - echo 0x90A9 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "DIAG_ADB_SER_NMEA_QDSS_RMNET" > configs/c.1/strings/0x409/configuration - echo "ECM" > configs/c.2/strings/0x409/configuration - echo "MBIM" > configs/c.3/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/cser.dun.0 configs/c.1/f3 - ln -s functions/cser.nmea.1 configs/c.1/f4 - ln -s functions/qdss.qdss configs/c.1/f5 - ln -s functions/gsi.rmnet configs/c.1/f6 - ln -s functions/gsi.ecm configs/c.2/f1 - ln -s functions/gsi.mbim configs/c.3/f1 - echo 1 > functions/qdss.qdss/enable_debug_inface - echo 0xA0 > configs/c.1/bmAttributes - echo 0xA0 > configs/c.2/bmAttributes - echo 0xA0 > configs/c.3/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - echo "This composition can't be supported on 8909" - ;; - *9640* ) - run_9x35 & - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90AD b/userspace/root/sbin/usb/compositions/90AD deleted file mode 100755 index 4b5eadd..0000000 --- a/userspace/root/sbin/usb/compositions/90AD +++ /dev/null @@ -1,183 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + MODEM + NMEA + QMI_RMNET + Mass Storage + DPL - -echo "Switching to composition number 0x90AD" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9x35() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90AD > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo 0 > /sys/class/android_usb/android0/f_qdss/debug_intf - # DPL functionality is implemented using QDSS function driver. - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_qdss/transports - echo QTI,BAM2BAM_IPA > /sys/class/android_usb/android0/f_rmnet/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9607() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90AD > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo 0 > /sys/class/android_usb/android0/f_qdss/debug_intf - # DPL functionality is implemented using QDSS function driver. - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_qdss/transports - echo QTI,BAM_DMUX > /sys/class/android_usb/android0/f_rmnet/transports - echo qdss_bam > /sys/class/android_usb/android0/f_qdss/transport_names - echo diag,ffs,serial,rmnet,mass_storage,qdss > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90AD > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd,tty > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,dpl_gsi > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90AD > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge,tty > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,serial,rmnet_gsi,mass_storage,dpl_gsi > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90AD > idProduct - echo "DIAG_ADB_DUN_NMEA_RMNET_MS_DPL" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/cser.dun.0 configs/c.1/f3 - ln -s functions/cser.nmea.1 configs/c.1/f4 - ln -s functions/gsi.rmnet configs/c.1/f5 - ln -s functions/mass_storage.0 configs/c.1/f6 - ln -s functions/gsi.dpl configs/c.1/f7 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - echo "This composition can't be supported on 8909 " - ;; - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9650 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90B0 b/userspace/root/sbin/usb/compositions/90B0 deleted file mode 100755 index 3275b49..0000000 --- a/userspace/root/sbin/usb/compositions/90B0 +++ /dev/null @@ -1,62 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + DUN + NMEA + RMNET + Mass Storage + DPL - -echo "Switching to composition number 0x90B0" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_sdx20() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 90B0 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge,tty > /sys/class/android_usb/android0/f_serial/transports - echo diag,serial,rmnet_gsi,mass_storage,dpl_gsi > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -case `source /sbin/usb/target` in - *sdx20* ) - run_sdx20 & - ;; - * ) - echo "This composition currently supported only for sdx20 " - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90B1 b/userspace/root/sbin/usb/compositions/90B1 deleted file mode 100755 index 7807626..0000000 --- a/userspace/root/sbin/usb/compositions/90B1 +++ /dev/null @@ -1,77 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012-2014, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: ECM - -echo "Switching to composition number 0x90B1" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - echo "ERROR: PID 90B1 is only supported on HSIC" - exit -1 -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -run_9x35() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 90B1 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo ecm > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_9607() { - echo 0 > /sys/class/android_usb/android$num/enable - echo 90B1 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo ecm > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9607* ) - run_9607 & - ;; - *8909* ) - run_9607 & - ;; - * ) - run_9x35 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90B8 b/userspace/root/sbin/usb/compositions/90B8 deleted file mode 100755 index 887c88d..0000000 --- a/userspace/root/sbin/usb/compositions/90B8 +++ /dev/null @@ -1,111 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + DUN + RMNET + DPL + ADB - -echo "Switching to composition number 0x90B8" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90B8 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo diag,serial,rmnet_gsi,dpl_gsi,adb > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90B8 > idProduct - echo "DIAG_SER_RMNET_DPL_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - if [ -f /etc/data/usb/softap_w_dun ] - then - SOFTAP_W_DUN=`cat /etc/data/usb/softap_w_dun` - fi - if [ "$SOFTAP_W_DUN" == "Y" ] - then - ln -s functions/gser.0 configs/c.1/f2 - else - ln -s functions/cser.dun.0 configs/c.1/f2 - fi - ln -s functions/gsi.rmnet configs/c.1/f3 - ln -s functions/gsi.dpl configs/c.1/f4 - ln -s functions/ffs.adb configs/c.1/f5 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90C0 b/userspace/root/sbin/usb/compositions/90C0 deleted file mode 100755 index e3a72a9..0000000 --- a/userspace/root/sbin/usb/compositions/90C0 +++ /dev/null @@ -1,102 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: RNDIS + DIAG + DPL + ADB (Android) - -echo "Switching to composition number 0x90C0" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90C0 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 1 > /sys/class/android_usb/android$num/f_rndis/wceis - echo diag > /sys/class/android_usb/android$num/f_diag/clients - echo rndis_gsi,diag,dpl_gsi,adb > /sys/class/android_usb/android$num/functions - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90c0 > idProduct - echo "RNDIS_DIAG_DPL_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/gsi.rndis configs/c.1/f1 - ln -s functions/diag.diag configs/c.1/f2 - ln -s functions/gsi.dpl configs/c.1/f3 - ln -s functions/ffs.adb configs/c.1/f4 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90CA b/userspace/root/sbin/usb/compositions/90CA deleted file mode 100755 index 7bca8d4..0000000 --- a/userspace/root/sbin/usb/compositions/90CA +++ /dev/null @@ -1,72 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + UAC2 - -echo "Switching to composition number 0x90CA" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_8009() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90CA > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,adb,uac2_func > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -case `source /sbin/usb/target` in - * ) - run_8009 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90CD b/userspace/root/sbin/usb/compositions/90CD deleted file mode 100755 index 47ece9d..0000000 --- a/userspace/root/sbin/usb/compositions/90CD +++ /dev/null @@ -1,101 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2016, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + GNSS - -echo "Switching to composition number 0x90CD" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_comp_90cd() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90CD > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo diag,ffs,gps > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/launch_adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90CD > idProduct - echo "DIAG_ADB_GNSS" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/gsi.gps configs/c.1/f3 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9650* | *sdx20* ) - run_comp_90cd & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90D5 b/userspace/root/sbin/usb/compositions/90D5 deleted file mode 100755 index 04c2941..0000000 --- a/userspace/root/sbin/usb/compositions/90D5 +++ /dev/null @@ -1,140 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + ADB + MBIM + GNSS + DUN - -echo "Switching to composition number 0x90D5" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" - mode="hsic" -else - num="0" - mode="hsusb" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90D5 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,ffs,mbim_gsi,gps,serial > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/init.d/adbd start - fi -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90D5 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo glink > /sys/class/android_usb/android$num/f_gps/transport - echo diag,ffs,mbim_gsi,gps,serial > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable - if [ $from_adb = "n" ] - then - /etc/init.d/adbd start - fi -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90D5 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "DIAG_ADB_MBIM_GNSS_DUN" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/ffs.adb configs/c.1/f2 - ln -s functions/gsi.mbim configs/c.1/f3 - ln -s functions/gsi.gps configs/c.1/f4 - ln -s functions/cser.dun.0 configs/c.1/f5 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/90D6 b/userspace/root/sbin/usb/compositions/90D6 deleted file mode 100755 index c8216e5..0000000 --- a/userspace/root/sbin/usb/compositions/90D6 +++ /dev/null @@ -1,125 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + MBIM + GNSS + DUN - -echo "Switching to composition number 0x90D6" > /dev/kmsg - -if [ "$1" = "y" ]; then - num="1" - mode="hsic" -else - num="0" - mode="hsusb" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9650() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 90D6 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo smd > /sys/class/android_usb/android0/f_serial/transports - echo diag,mbim_gsi,gps,serial > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_sdx20() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo 90D6 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo diag > /sys/class/android_usb/android0/f_diag/clients - echo char_bridge > /sys/class/android_usb/android0/f_serial/transports - echo glink > /sys/class/android_usb/android$num/f_gps/transport - echo diag,mbim_gsi,gps,serial > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90D6 > idProduct - echo 239 > bDeviceClass - echo 2 > bDeviceSubClass - echo 1 > bDeviceProtocol - echo "DIAG_MBIM_GNSS_DUN" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - ln -s functions/gsi.mbim configs/c.1/f2 - ln -s functions/gsi.gps configs/c.1/f3 - ln -s functions/cser.dun.0 configs/c.1/f4 - echo 0xA0 > configs/c.1/bmAttributes - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/90DB b/userspace/root/sbin/usb/compositions/90DB deleted file mode 100755 index 31d2c16..0000000 --- a/userspace/root/sbin/usb/compositions/90DB +++ /dev/null @@ -1,78 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2018, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: DIAG + DUN + RMNET + DPL + QDSS(Trace) + ADB - -echo "Switching to composition number 0x90DB" > /dev/kmsg - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_configfs() { - if [ $from_adb = "n" ] - then - pkill adbd - /etc/launch_adbd start - sleep 1 - fi - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* 2> /dev/null - rm -rf configs/c.2 configs/c.3 2> /dev/null - echo 0x05c6 > idVendor - echo 0x90DB > idProduct - echo "DIAG_SER_RMNET_DPL_QDSS_ADB" > configs/c.1/strings/0x409/configuration - ln -s functions/diag.diag configs/c.1/f1 - if [ -f /etc/data/usb/softap_w_dun ] - then - SOFTAP_W_DUN=`cat /etc/data/usb/softap_w_dun` - fi - if [ "$SOFTAP_W_DUN" == "Y" ] - then - ln -s functions/gser.0 configs/c.1/f2 - else - ln -s functions/cser.dun.0 configs/c.1/f2 - fi - ln -s functions/gsi.rmnet configs/c.1/f3 - ln -s functions/gsi.dpl configs/c.1/f4 - ln -s functions/qdss.qdss configs/c.1/f5 - ln -s functions/ffs.adb configs/c.1/f6 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - echo "This composition is not supported" - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/90E2 b/userspace/root/sbin/usb/compositions/90E2 deleted file mode 100755 index fd58a22..0000000 --- a/userspace/root/sbin/usb/compositions/90E2 +++ /dev/null @@ -1,97 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2018, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: MBIM + GNSS - -echo "Switching to composition number 0x90E2" - -if [ "$1" = "y" ]; then - num="1" - mode="hsic" -else - num="0" - mode="hsusb" -fi - -if [ "$#" -ge 2 ]; then - delay=$2 -else - delay="0" -fi - -if [ "$#" -ge 3 ]; then - from_adb=$3 -else - from_adb="n" -fi - -run_9650() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90E2 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo mbim_gsi,gps > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_sdx20() { - if [ $from_adb = "n" ] - then - pkill adbd - fi - echo 0 > /sys/class/android_usb/android$num/enable - echo 90E2 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo 239 > /sys/class/android_usb/android$num/bDeviceClass - echo 2 > /sys/class/android_usb/android$num/bDeviceSubClass - echo 1 > /sys/class/android_usb/android$num/bDeviceProtocol - echo glink > /sys/class/android_usb/android$num/f_gps/transport - echo mbim_gsi,gps > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/remote_wakeup - sleep $delay - echo 1 > /sys/class/android_usb/android$num/enable -} - -case `source /sbin/usb/target` in - *9650* ) - run_9650 & - ;; - *sdx20* ) - run_sdx20 & - ;; - * ) - echo "Composition not supported on this target " - ;; -esac - diff --git a/userspace/root/sbin/usb/compositions/F000 b/userspace/root/sbin/usb/compositions/F000 deleted file mode 100755 index da32a22..0000000 --- a/userspace/root/sbin/usb/compositions/F000 +++ /dev/null @@ -1,75 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2014,2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# DESCRIPTION: Mass Storage - -echo "Switching to composition number F000" - -if [ "$1" = "y" ]; then - num="1" -else - num="0" -fi - -run_9x35() { - pkill adbd - echo 0 > /sys/class/android_usb/android$num/enable - echo F000 > /sys/class/android_usb/android$num/idProduct - echo 05C6 > /sys/class/android_usb/android$num/idVendor - echo "Create CD ROM lun" - echo rom > /sys/class/android_usb/android0/f_mass_storage/luns - echo mass_storage > /sys/class/android_usb/android$num/functions - echo 1 > /sys/class/android_usb/android$num/enable -} - -run_configfs() { - pkill adbd - cd /sys/kernel/config/usb_gadget/g1 - rm configs/c*/f* - echo 0x05c6 > idVendor - echo 0xF000 > idProduct - echo "MS" > configs/c.1/strings/0x409/configuration - ln -s functions/mass_storage.0 configs/c.1/f1 - echo "binding UDC with Gadget..." $1 - echo $1 > UDC - cd / -} - -case `source /sbin/usb/target` in - *9x35* ) - run_9x35 & - ;; - *9640* ) - run_9x35 & - ;; - *sdxpoorwills* ) - udcname=`ls -1 /sys/class/udc | head -n 1` - run_configfs $udcname & - ;; - * ) - run_9x35 & - ;; -esac diff --git a/userspace/root/sbin/usb/compositions/empty b/userspace/root/sbin/usb/compositions/empty deleted file mode 100755 index 3b8f743..0000000 --- a/userspace/root/sbin/usb/compositions/empty +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh -# DESCRIPTION: it is used to allow either hsic or hsusb to have no composition at all(must reboot to take effect). - diff --git a/userspace/root/sbin/usb/compositions/hsic_next b/userspace/root/sbin/usb/compositions/hsic_next deleted file mode 100755 index 573541a..0000000 --- a/userspace/root/sbin/usb/compositions/hsic_next +++ /dev/null @@ -1 +0,0 @@ -0 diff --git a/userspace/root/sbin/usb/compositions/hsusb_next b/userspace/root/sbin/usb/compositions/hsusb_next deleted file mode 100755 index 49ce78f..0000000 --- a/userspace/root/sbin/usb/compositions/hsusb_next +++ /dev/null @@ -1 +0,0 @@ -9025 diff --git a/userspace/root/sbin/usb/debuger/debugFiles b/userspace/root/sbin/usb/debuger/debugFiles deleted file mode 100755 index 1bab46a..0000000 --- a/userspace/root/sbin/usb/debuger/debugFiles +++ /dev/null @@ -1,33 +0,0 @@ -_______________________________________ -1 msm_otg -_______________________________________ -2 ci13xxx_udc -_______________________________________ -3 ci13xxx_msm -_______________________________________ -4 f_gps -_______________________________________ -5 f_mbim -_______________________________________ -6 f_qc_ecm -_______________________________________ -7 f_qc_rndis -_______________________________________ -8 f_rmnet -_______________________________________ -9 f_tcm -_______________________________________ -10 u_bam -_______________________________________ -11 u_bam_data -_______________________________________ -12 usb_bam -_______________________________________ -13 android -_______________________________________ -14 composite -_______________________________________ -15 ehci-msm-hsic -_______________________________________ -16 u_qc_ether -_______________________________________ diff --git a/userspace/root/sbin/usb/debuger/help b/userspace/root/sbin/usb/debuger/help deleted file mode 100755 index 35a1c91..0000000 --- a/userspace/root/sbin/usb/debuger/help +++ /dev/null @@ -1,28 +0,0 @@ -usb_debug: - Bash script for enable or disable debug message from usb related files. -Usage: - usb_debug [status] - usb_debug [flag] [Operation] [As Default?] [Arg....] -status: - show list of the active files (enable debug messaged) -flag: - -l, read files name from argument list. here Arg is file name (without suffix ".c") - -f, read filenames from Arg, here Arg is path to a file that contain list of filenames - (each name without suffix ".c") - all, enable or disable debug messages from all the files in debugFiles - (the files that the script support) -Operation: - on, enable debug message - off, disable debug message -As Default: - y/n enable debug messages from these files also in next power cycle? - - set these files as default debug configuration? - -*** important notes *** -1) You can always use the manual interface. Just usb_debug with no param. -2) Each default setting is overrides the previous one. -3) To insert or delete files, you have to edit debugFiles manually, - add a new line with number(Fid) and file name (without suffix ".c"). -4) debugFiles path: on target usr/bin/usb/debuger/debugFiles - GIT system/core/usb/debuger/debugFiles -5)TIP: to set the files that active now as defult use: usb_debug -f on y usr/bin/usb/debuger/statusFile diff --git a/userspace/root/sbin/usb/target b/userspace/root/sbin/usb/target deleted file mode 100755 index 98404cc..0000000 --- a/userspace/root/sbin/usb/target +++ /dev/null @@ -1,85 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012, 2014-2015, 2017, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -TARGET_DIR=/target # default directory -if [ ! -f $TARGET_DIR ]; then - TARGET_DIR=/sys/devices/soc0/machine -fi - -case `cat ${TARGET_DIR}` in - *9x15* ) - res="9x15" - ;; - *9x25* ) - res="9x25" - ;; - *9x35* ) - res="9x35" - ;; - *9607* ) - res="9607" - ;; - *8909* | *8009* ) - res="8909" - ;; - *8917* | *8017* ) - res="8017" - ;; - *8916* | *8016* ) - res="8916" - ;; - *9640* ) - res="9640"; - ;; - *9650* ) - res="9650"; - ;; - *sdx20* ) - res="sdx20"; - ;; - *8953* | *8053* ) - res="8053"; - ;; - *8996* | *8096* ) - res="8096"; - ;; - *605* ) - res="qcs605"; - ;; - *405* ) - res="qcs40x"; - ;; - *8098* ) - res="8098"; - ;; - *sdxpoorwills* ) - res="sdxpoorwills"; - ;; - * ) - res="none" - ;; -esac -echo $res diff --git a/userspace/root/sbin/usb_composition b/userspace/root/sbin/usb_composition deleted file mode 100755 index 1463ac2..0000000 --- a/userspace/root/sbin/usb_composition +++ /dev/null @@ -1,288 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2012, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Switch to a chosen USB composition. - -COMP_DIR="/sbin/usb/compositions" -symlink_hsusb="/etc/usb/boot_hsusb_comp" -symlink_hsic="/etc/usb/boot_hsic_comp" - -legal_composition() { - for c in $( ls $COMP_DIR ); do - if [ "$1" = "$c" ]; then - echo "1" - exit - fi - done - echo "0" -} - -read_pid() { - local tmp_pid='0' - read -p "Pid number : " tmp_pid - while [ true ]; do - if [ `legal_composition $tmp_pid` = "1" ]; then - echo "$tmp_pid" - exit - fi - read -p "Illegal Pid number, try again : " tmp_pid - done -} - -read_hsic() { - local tmp_hsic='0' - read -p "Choose core: y - hsic, n - hsusb ? (y/n)" tmp_hsic - while [ true ]; do - if [ $tmp_hsic = "y" ] || [ $tmp_hsic = "n" ]; then - echo "$tmp_hsic" - exit - fi - read -p "Only 'y' or 'n' are allowed, try again : " tmp_hsic - done -} - -read_persistent() { - local tmp_persistent='0' - read -p "Would you like it to be the default composition ? (y/n)" tmp_persistent - while [ true ]; do - if [ $tmp_persistent = "y" ] || [ $tmp_persistent = "n" ]; then - echo "$tmp_persistent" - exit - fi - read -p "Only 'y' or 'n' are allowed, try again : " tmp_persistent - done -} - -read_immediate() { - local tmp_immediate='0' - read -p "Would you like the composition to change immediately? (y/n)" tmp_immediate - while [ true ]; do - if [ $tmp_immediate = "y" ] || [ $tmp_immediate = "n" ]; then - echo "$tmp_immediate" - exit - fi - read -p "Only 'y' or 'n' are allowed, try again : " tmp_immediate - done -} - -read_from_adb() { - local tmp_adbd='0' - read -p "Are you performing the composition switch from adbd? (y/n)" tmp_adbd - while [ true ]; do - if [ $tmp_adbd = "y" ] || [ $tmp_adbd = "n" ]; then - echo "$tmp_adbd" - exit - fi - read -p "Only 'y' or 'n' are allowed, try again : " tmp_adbd - done -} - -common_functions() { - if [ "$1" = "empty" ] || [ "$2" = "empty" ]; then - echo "0" - exit - fi - func_list_1=`grep functions $COMP_DIR/$1 | sed 's/echo //' | sed 's/>.*$//' | tr , '\n' | tr : '\n'` - func_list_2=`grep functions $COMP_DIR/$2 | sed 's/echo //' | sed 's/>.*$//' | tr , '\n' | tr : '\n'` - for func_1 in $func_list_1 - do - for func_2 in $func_list_2 - do - if [ "$func_1" = "$func_2" ]; then - echo $func_1 - exit - fi - done - done - echo "0" -} - -hsusb_comp=`cat $symlink_hsusb` -hsic_comp=`cat $symlink_hsic` - -if [ "$#" -ge 6 ]; then - echo "Usage: usb_composition [Pid] [HSIC] [PERSISTENT] [IMMEDIATE] [FROM_ADBD]" >&2 - exit 7 - -elif [ "$#" -eq 5 ]; then - - if [ `legal_composition $1` = "0" ]; then - echo "Illegal pid" - exit 1 - fi - if [ $2 != "y" ] && [ $2 != "n" ]; then - echo "Illegal hsic choice (must be 'y' or 'n')." - exit 2 - fi - if [ $3 != "y" ] && [ $3 != "n" ]; then - echo "Illegal persistent choice (must be 'y' or 'n')." - exit 3 - fi - if [ $4 != "y" ] && [ $4 != "n" ]; then - echo "Illegal immediate choice (must be 'y' or 'n')." - exit 4 - fi - if [ $5 != "y" ] && [ $5 != "n" ]; then - echo "Illegal from adbd (must be 'y' or 'n')." - exit 5 - fi - pid=$1 - hsic=$2 - persistent=$3 - immediate=$4 - from_adb=$5 - -elif [ "$#" -eq 4 ]; then - - if [ `legal_composition $1` = "0" ]; then - echo "Illegal pid" - exit 1 - fi - if [ $2 != "y" ] && [ $2 != "n" ]; then - echo "Illegal hsic choice (must be 'y' or 'n')." - exit 2 - fi - if [ $3 != "y" ] && [ $3 != "n" ]; then - echo "Illegal persistent choice (must be 'y' or 'n')." - exit 3 - fi - if [ $4 != "y" ] && [ $4 != "n" ]; then - echo "Illegal immediate choice (must be 'y' or 'n')." - exit 4 - fi - pid=$1 - hsic=$2 - persistent=$3 - immediate=$4 - from_adb="n" - -elif [ "$#" -eq 3 ]; then - - if [ `legal_composition $1` = "0" ]; then - echo "Illegal pid" - exit 1 - fi - if [ $2 != "y" ] && [ $2 != "n" ]; then - echo "Illegal hsic choice (must be 'y' or 'n')." - exit 2 - fi - if [ $3 != "y" ] && [ $3 != "n" ]; then - echo "Illegal persistent choice (must be 'y' or 'n')." - exit 3 - fi - pid=$1 - hsic=$2 - persistent=$3 - immediate="y" - from_adb="n" - -elif [ "$#" -eq 2 ]; then - - if [ `legal_composition $1` = "0" ]; then - echo "Illegal pid" - exit 1 - fi - if [ $2 != "y" ] && [ $2 != "n" ]; then - echo "Illegal hsic choice (must be 'y' or 'n')." - exit 2 - fi - pid=$1 - hsic=$2 - persistent="n" - immediate="y" - from_adb="n" - -elif [ "$#" -eq 1 ]; then - - if [ `legal_composition $1` = "0" ]; then - echo "Illegal pid" - exit 1 - fi - pid=$1 - hsic="n" - persistent="n" - immediate="y" - from_adb="n" - -elif [ "$#" -eq 0 ]; then - - echo "boot hsusb composition: $hsusb_comp" - echo "boot hsic composition: $hsic_comp" - echo "Choose Composition by Pid:" - for i in $( ls $COMP_DIR ); do - desc=`grep DESCRIPTION: $COMP_DIR/$i | sed 's/.*DESCRIPTION: *//g'` - echo " $i - $desc" - done - pid=`read_pid` - hsic=`read_hsic` - persistent=`read_persistent` - immediate=`read_immediate` - from_adb=`read_from_adb` - -fi - -if [ $persistent = "n" ]; then - if [ $immediate = "n" ]; then - echo "Change will have no effect - Illegal combination of not persistent and not immediate" - exit 6 - fi -fi - -if [ $hsic = "y" ]; then - other=$hsusb_comp -else - other=$hsic_comp -fi - -common=`common_functions $other $pid` -if [ $common != "0" ]; then - echo "******************************************************************************" - echo "* !!!WARNING!!! *" - echo "* Due to this composition change, HSIC and USB have the potential to use the *" - echo "* same usb function : $common. *" - echo "* Please take care to not use the same function on both ports as this is not *" - echo "* properly supported. *" - echo "* *" - echo "******************************************************************************" -fi - -if [ $persistent = "y" ]; then - if [ $hsic = "y" ]; then - echo "$pid" > $symlink_hsic - else - echo "$pid" > $symlink_hsusb - fi -fi - -if [ $hsic = "n" ]; then - if [ $immediate = "y" ]; then - $COMP_DIR/$pid n 0.2 $from_adb - fi -else - echo "Please reboot device for HSIC composition to take effect" -fi - - diff --git a/userspace/root/sbin/usb_debug b/userspace/root/sbin/usb_debug deleted file mode 100755 index 5d95a34..0000000 --- a/userspace/root/sbin/usb_debug +++ /dev/null @@ -1,355 +0,0 @@ -#!/bin/sh -# -# Copyright (c) 2013, The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above copyright -# notice, this list of conditions and the following disclaimer in the -# documentation and/or other materials provided with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived from -# this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, -# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, -# FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT ARE DISCLAIMED. IN NO -# EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, -# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# Enable or disable debug messages in USB related files. -# this script allows the user to chose the files in which should enable or disable debug messages -# and also allows the user to save the debug configuration for the next reboot -# This in order to allow early boot debug information. - -DBG_FILE="/sbin/usb/debuger/debugFiles" -DEFAULT_FILE="/sbin/usb/debuger/default_debug" -HELP="/sbin/usb/debuger/help" -statusFile="/sbin/usb/debuger/statusFile" - -legal_fileName(){ - file_list=`cat $DBG_FILE| cut -f 2| grep -v ___` - for c in $file_list - do - if [ "$1" = "$c" ]; then - echo "1" - exit - fi - done - echo "0" -} - -legal_fid() { - local id_list=`cat $DBG_FILE| cut -f 1| grep -v ___` - for num in $id_list - do - if [ "$1" = "$num" ]; then - echo "1" - exit - fi - done - echo "0" -} - -legal_fileNames(){ - local i=1 - for j in "$@" - do - if [ $i -gt $1 ]; then - if [ `legal_fileName $j` = "0" ]; then - echo "0" - exit - fi - fi - let i+=1 - done - echo "1" -} - -get_fileList(){ - local i=1 - local list="" - for j in "$@" - do - if [ $i -gt $1 ]; then - list="$list$j " - fi - let i+=1 - done - echo $list -} - -read_fid() { -# this func gets the file id and returns the file names of the chosen files - local flag="1" - local tmp_fid="0" - local files="" - read -p "fid number : " tmp_fid - while [ true ]; - do - for num in $tmp_fid - do - if [ `legal_fid $num` = "0" ]; then - flag="0" - break - else - files="$files `cat $DBG_FILE|grep -w $num|grep -v ___|cut -f 2` " - fi - done - if [ $flag = "0" ]; then - flag="1" - files="" - read -p "Illegal Fid number, try again : " tmp_fid - else - echo "$files" - exit - fi - done -} - -read_persistent() { - local tmp_persistent='0' - read -p "Would you like it to be the default file\s for debug ? (y/n) " tmp_persistent - while [ true ]; do - if [ $tmp_persistent = "y" ] || [ $tmp_persistent = "n" ]; then - echo "$tmp_persistent" - exit - fi - read -p "Only 'y' or 'n' are allowed, try again : " tmp_persistent - done -} -read_operation() { - local tmp_op='0' - read -p "Would you like to enable or disable the debug messages ? (on/off) " tmp_op - while [ true ]; do - if [ $tmp_op = "on" ] || [ $tmp_op = "off" ]; then - echo "$tmp_op" - exit - fi - read -p "Only 'on' or 'off' are allowed, try again : " tmp_op - done -} - -add_toStatus() { - if [ -f $statusFile ]; then - if [ `cat $statusFile |grep -c $1` = 0 ]; then - echo $1 >> $statusFile - fi - else - echo $1 >> $statusFile - fi -} - -rm_fromStatus() { - if [ -f $statusFile ]; then - sed -i '/^'$1'$/d' $statusFile - fi - -} - -#===============================================================================================# -#===============================================================================================# -if [ ! -f $DBG_FILE ]; then - echo "ERROR: debugFiles is missing" - exit -fi - -if [ "$#" -eq 0 ]; then - cat $DBG_FILE - echo " " - echo "Choose files by id: " - file=`read_fid` - flag="-l" - operation=`read_operation` - persistent=`read_persistent` -elif [ "$#" -eq 1 ]; then - if [ $1 == "status" ]; then - if [ -f $statusFile ]; then - cat $statusFile - exit 1 - fi - echo "" - exit 1 - elif [ $1 == "-h" ] || [ $1 == "help" ]; then - cat $HELP - exit 1 - else - echo "Usage: usb_debug -h" >&2 - echo "Usage: usb_debug status" >&2 - echo "Usage: usb_debug [-l] [OPERATION] [PERSISTENT] [LIST]" >&2 - echo "Usage: usb_debug [-f] [OPERATION] [PERSISTENT] [PATH]" >&2 - echo "Usage: usb_debug [all][OPERATION] [PERSISTENT]" >&2 - exit 1 - fi -elif [ "$#" -eq 2 ]; then - if [ $1 != "all" ]; then - echo "Usage: usb_debug [-l] [OPERATION] [PERSISTENT] [LIST]" >&2 - echo "Usage: usb_debug [-f] [OPERATION] [PERSISTENT] [PATH]" >&2 - echo "Usage: usb_debug [all][OPERATION] [PERSISTENT]" >&2 - exit 1 - fi - if [ $2 != "on" ] && [ $2 != "off" ]; then - echo "Illegal operation choice (must be 'on' or 'off')." - exit 2 - fi - if [ $2 = "on" ]; then - flag=$1 - operation=$2 - file=`cat $DBG_FILE| cut -f 2| grep -v ___` - persistent=`read_persistent` - else - flag=$1 - operation=$2 - file=`cat $DBG_FILE| cut -f 2| grep -v ___` - persistent="y" - fi -elif [ "$#" -ge 3 ]; then - if [ $1 != "-l" ] && [ $1 != "-f" ] && [ $1 != "all" ]; then - echo "Usage: usb_debug [-l] [OPERATION] [PERSISTENT] [LIST]" >&2 - echo "Usage: usb_debug [-f] [OPERATION] [PERSISTENT] [PATH]" >&2 - echo "Usage: usb_debug [all][OPERATION] [PERSISTENT]" >&2 - exit 1 - fi - if [ $2 != "on" ] && [ $2 != "off" ]; then - echo "Illegal operation choice (must be 'on' or 'off')." - exit 2 - fi - if [ $1 = "-l" ]; then - if [ `legal_fileName $3` = "1" ]; then - if [ "$#" -ge 4 ]; then - #handle more then one file - default presistance=n - if [ `legal_fileNames 3 "$@"` = "0" ]; then - echo "Illegal file name." - exit 4 - fi - flag=$1 - operation=$2 - persistent="n" - file=`get_fileList 3 "$@"` - else - #case just one file name - flag=$1 - operation=$2 - persistent="n" - file=$3 - fi - elif [ $3 = "y" ] || [ $3 = "n" ]; then - if [ `legal_fileName $4` = "0" ]; then - echo "Illegal file name." - exit 4 - fi - if [ "$#" -ge 5 ]; then - #handle more then one file - presistance=$3 - if [ `legal_fileNames 4 "$@"` = "0" ]; then - echo "Illegal file name." - exit 5 - fi - flag=$1 - operation=$2 - persistent=$3 - file=`get_fileList 4 "$@"` - else - #just one file - flag=$1 - operation=$2 - persistent=$3 - file=$4 - fi - else - echo "Illegal file name or persistent choice (persistent must be 'y' or 'n')." - exit 4 - fi - elif [ $1 = "-f" ]; then - if [ -f $3 ]; then - flag=$1 - operation=$2 - persistent="n" - file=`cat $3` - if [ `legal_fileNames 1 $file` = 0 ]; then - echo "Illegal file name (in the input file)" - exit 3 - fi - elif [ $3 = "y" ] || [ $3 = "n" ]; then - if [ "$#" -eq 3 ]; then - echo "Usage: usb_debug [-f] [OPERATION] [PERSISTENT] [PATH]" >&2 - exit 3 - fi - if [ -f $4 ]; then - flag=$1 - operation=$2 - persistent=$3 - file=`cat $4` - if [ `legal_fileNames 1 "$file"` = 0 ]; then - echo "Illegal file name (in the input file)" - exit 4 - fi - else - echo "Illegal input file." - exit 4 - fi - else - echo "Illegal file or persistent choice (persistent must be 'y' or 'n')." - exit 3 - fi - else - # $1=all - if [ $3 != "y" ] && [ $3 != "n" ]; then - echo "Illegal persistent choice (persistent must be 'y' or 'n')." - exit 3 - fi - flag=$1 - operation=$2 - file=`cat $DBG_FILE| cut -f 2| grep -v ___` - persistent=$3 - fi -else - echo "Usage: usb_debug [-l] [OPERATION] [PERSISTENT] [LIST]" >&2 - echo "Usage: usb_debug [-f] [OPERATION][PERSISTENT] [PATH]" >&2 - echo "Usage: usb_debug [all][OPERATION] [PERSISTENT]" >&2 - exit 1 -fi - -#=============================================================================================== -#=============================================================================================== - -# mount debugfs just one time -if [ `mount | grep -c debugfs` = 0 ]; then - mkdir /data/dbg - mount -t debugfs none /data/dbg -fi - -if [ $persistent = "y" ]; then - if [ $operation = "off" ]; then - if [ $flag = "all" ]; then - rm -f $DEFAULT_FILE - else - echo "Change will have no effect on default file- Illegal combination of persistent and disable debug messages" - fi - else - rm -f $DEFAULT_FILE - echo $file > $DEFAULT_FILE - fi -fi - -if [ $operation = "on" ]; then - for f in $file - do - `add_toStatus $f` - f="$f.c" - echo -n 'file $f +p' > /data/dbg/dynamic_debug/control - done -else - for f in $file - do - `rm_fromStatus $f` - f="$f.c" - echo -n 'file $f -p' > /data/dbg/dynamic_debug/control - done -fi diff --git a/userspace/root/usr/bin/cdsp.sh b/userspace/root/usr/bin/cdsp.sh deleted file mode 100755 index 8d3f9e8..0000000 --- a/userspace/root/usr/bin/cdsp.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -# Copyright (c) 2018 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# - -set -e -echo -n "Starting cdsp: " - -if [ -f /sys/kernel/boot_cdsp/boot ]; then - echo 1 > /sys/kernel/boot_cdsp/boot -else - echo "File not found! : /sys/kernel/boot_cdsp/boot" -fi - -exit 0 diff --git a/userspace/root/usr/bin/getslotsuffix b/userspace/root/usr/bin/getslotsuffix deleted file mode 100755 index 4a34db7..0000000 --- a/userspace/root/usr/bin/getslotsuffix +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh - -# Copyright (c) 2018 The Linux Foundation. All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are -# met: -# * Redistributions of source code must retain the above copyright -# notice, this list of conditions and the following disclaimer. -# * Redistributions in binary form must reproduce the above -# copyright notice, this list of conditions and the following -# disclaimer in the documentation and/or other materials provided -# with the distribution. -# * Neither the name of The Linux Foundation nor the names of its -# contributors may be used to endorse or promote products derived -# from this software without specific prior written permission. -# -# THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED -# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT -# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS -# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR -# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF -# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR -# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, -# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE -# OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN -# IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -# - -abctl --boot_slot diff --git a/userspace/root/usr/bin/wcnssfilter b/userspace/root/usr/bin/wcnssfilter deleted file mode 100755 index c9a329ecc5c58690a064de0c8db6db99553e1dca..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 105016 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 /sys/kernel/boot_cdsp/boot + +# ipa +echo 1 > /dev/ipa diff --git a/userspace/root/usr/local/qr-linux/adsp-start.sh b/userspace/root/usr/local/qr-linux/adsp-start.sh deleted file mode 100755 index 2531fd8..0000000 --- a/userspace/root/usr/local/qr-linux/adsp-start.sh +++ /dev/null @@ -1,67 +0,0 @@ -#!/bin/sh -############################################################################### -# -# This script is used for administration of the Hexagon DSP -# -# Copyright (c) 2012-2016 Qualcomm Technologies, Inc. -# All Rights Reserved. -# Confidential and Proprietary - Qualcomm Technologies, Inc. -# -############################################################################### - -KEEP_ALIVE=0 -subsys_name="" - -# Wait for adsp.mdt to show up -count=0 -while [ ! -s /firmware/image/adsp.mdt ]; do - sleep 0.1 - # wait 10s for /firmare mounted - count=$(( $count + 1 )) - if [ $count -ge 100 ]; then - echo "[ERROR] Can not find the adsp's firmware" - exit 1 - fi -done - -for subsys in `ls /sys/bus/msm_subsys/devices`; do - name=`cat /sys/bus/msm_subsys/devices/${subsys}/name` - if [ "`cat /sys/bus/msm_subsys/devices/${subsys}/name`" = "adsp" ]; then - subsys_name="${subsys}" - break - fi -done - -if [ "$KEEP_ALIVE" = "1" ]; then - if [ -n "${subsys_name}" ]; then - sysctl -w kernel.panic=0 - echo 1 > /sys/bus/msm_subsys/devices/${subsys_name}/keep_alive - else - echo "[ERROR] Can not keep adsp alive" - fi -fi - -# FIXME: See ATL-3054 -echo 1 > /sys/module/subsystem_restart/parameters/enable_debug -# Bring adsp out of reset -echo "[INFO] Bringing adsp out of reset" -echo 1 > /sys/kernel/boot_adsp/boot - -# wait boot finished -if [ -n "${subsys_name}" ]; then - count=0 - state=`cat /sys/bus/msm_subsys/devices/${subsys_name}/state` - while [ "${state}" != "ONLINE" ]; do - # wait 2s for subsys boot finished - count=$(( $count + 1 )) - if [ $count -ge 200 ]; then - echo "[ERROR] adsp fail to boot" - exit 1 - fi - sleep 0.01 - state=`cat /sys/bus/msm_subsys/devices/${subsys_name}/state` - done -fi - -# Emit adsp -#initctl emit adsp diff --git a/userspace/services.sh b/userspace/services.sh index 093e511..c05916f 100755 --- a/userspace/services.sh +++ b/userspace/services.sh @@ -1,10 +1,5 @@ #!/bin/bash -e -# Enable DSP support services -systemctl enable irsc_util.service -systemctl enable adsp -systemctl enable cdsp - # Enable our services systemctl enable fs_setup.service systemctl enable serial-hostname.service @@ -41,7 +36,6 @@ systemctl disable apt-daily.service systemctl disable apt-daily-upgrade.timer systemctl disable apt-daily.timer systemctl disable serial-getty@ttyS0.service -systemctl disable wlan_daemon.service systemctl disable remote-fs.target systemctl disable remote-fs-pre.target systemctl disable e2scrub_all.timer @@ -50,7 +44,6 @@ systemctl disable motd-news.service systemctl disable motd-news.timer systemctl disable multipathd.service systemctl disable multipathd.socket -systemctl disable chgrp-diag.service systemctl disable lvm2-monitor.service systemctl mask systemd-backlight@.service systemctl disable dpkg-db-backup.timer @@ -74,4 +67,3 @@ systemctl disable remote-fs-pre.target systemctl disable networking.service systemctl disable console-setup.service -systemctl disable sfsconfig.service