diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e7a4e58..ff22487 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,3 +1,5 @@ +exclude: '^userspace/root/' + repos: - repo: meta hooks: diff --git a/Dockerfile.agnos b/Dockerfile.agnos index b626700..90ce2b5 100644 --- a/Dockerfile.agnos +++ b/Dockerfile.agnos @@ -66,9 +66,10 @@ RUN /tmp/agnos/openpilot_python_dependencies.sh # ################### # FROM agnos-base +# Hardware rootfs overlay +COPY ./userspace/root/ / + # Hardware setup -RUN mkdir -p /tmp/agnos/debs -COPY ./userspace/debs /tmp/agnos/debs COPY ./userspace/hardware_setup.sh /tmp/agnos RUN /tmp/agnos/hardware_setup.sh RUN mv /data/persist /system/ && rm -rf /data/* @@ -184,7 +185,7 @@ RUN systemctl enable ModemManager # Add more T-Mobile networks to mobile-broadband-provider-info (do we still need the package?) COPY ./userspace/files/serviceproviders.xml /usr/share/mobile-broadband-provider-info/serviceproviders.xml -# Copy extra FW, rest comes from debs +# Copy extra FW, rest comes from the rootfs overlay COPY ./userspace/files/CAMERA_ICP.elf /usr/lib/firmware # Setup hostname resolution for our custom hostname diff --git a/userspace/debs/.gitignore b/userspace/debs/.gitignore deleted file mode 100644 index 82520ca..0000000 --- a/userspace/debs/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/tmp/ diff --git a/userspace/debs/README b/userspace/debs/README deleted file mode 100644 index 3171544..0000000 --- a/userspace/debs/README +++ /dev/null @@ -1,4 +0,0 @@ -mkdir tmp -dpkg-deb -R original.deb tmp -# edit DEBIAN/postinst -dpkg-deb -b tmp fixed.deb diff --git a/userspace/debs/agnos-base.deb b/userspace/debs/agnos-base.deb deleted file mode 100644 index f235b94..0000000 --- a/userspace/debs/agnos-base.deb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c4f29db31059124572eb0bcae41492fe20e048a89a91093f47e966d8f3a64fa7 -size 1096928 diff --git a/userspace/debs/agnos-display_0.0.1.deb b/userspace/debs/agnos-display_0.0.1.deb deleted file mode 100644 index 991ecdd..0000000 --- a/userspace/debs/agnos-display_0.0.1.deb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7d5166e1df3e0dd5123f63541eab4923164a5003c3c4c867f35bdcbcddde4ba4 -size 51109180 diff --git a/userspace/debs/agnos-wlan_0.0.3.deb b/userspace/debs/agnos-wlan_0.0.3.deb deleted file mode 100644 index 53e01ec..0000000 --- a/userspace/debs/agnos-wlan_0.0.3.deb +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:1112a9a92af5696ab770b1ae61729aad7fd7c316188dbc71fc22704529194955 -size 135384 diff --git a/userspace/hardware_setup.sh b/userspace/hardware_setup.sh index 2690769..ff14b91 100755 --- a/userspace/hardware_setup.sh +++ b/userspace/hardware_setup.sh @@ -1,18 +1,14 @@ #!/bin/bash -e -# Install driver deb files (we're fine with overwriting stuff too) -cd /tmp/agnos/debs - # Setting up usr merged lib64 since it's not done by default (in 24.04-base) # https://wiki.debian.org/UsrMerge # https://www.freedesktop.org/wiki/Software/systemd/TheCaseForTheUsrMerge/ -sudo mkdir /usr/lib64 -sudo ln -s usr/lib64 /lib64 - -apt-get -o Dpkg::Options::="--force-overwrite" install -yq \ - ./agnos-base.deb \ - ./agnos-display_0.0.1.deb \ - ./agnos-wlan_0.0.3.deb +mkdir -p /usr/lib64 +if [ -d /lib64 ] && [ ! -L /lib64 ]; then + cp -a /lib64/. /usr/lib64/ + rm -rf /lib64 +fi +ln -sfn usr/lib64 /lib64 # Install 16.04 version of libjson-c2 cd /tmp diff --git a/userspace/root/data/misc/wifi/hostapd.accept b/userspace/root/data/misc/wifi/hostapd.accept new file mode 100644 index 0000000..923eab6 --- /dev/null +++ b/userspace/root/data/misc/wifi/hostapd.accept @@ -0,0 +1,3 @@ +# List of MAC addresses that are allowed to authenticate (IEEE 802.11) +# with the AP. Optional VLAN ID can be assigned for clients based on the +# MAC address if dynamic VLANs (hostapd.conf dynamic_vlan option) are used. diff --git a/userspace/root/data/misc/wifi/hostapd.conf b/userspace/root/data/misc/wifi/hostapd.conf new file mode 100644 index 0000000..6672e27 --- /dev/null +++ b/userspace/root/data/misc/wifi/hostapd.conf @@ -0,0 +1,2240 @@ +##### hostapd configuration file ############################################## +# Empty lines and lines starting with # are ignored + +# AP netdevice name (without 'ap' postfix, i.e., wlan0 uses wlan0ap for +# management frames with the Host AP driver); wlan0 with many nl80211 drivers +# Note: This attribute can be overridden by the values supplied with the '-i' +# command line parameter. +interface=wlan0 + +# In case of atheros and nl80211 driver interfaces, an additional +# configuration parameter, bridge, may be used to notify hostapd if the +# interface is included in a bridge. This parameter is not used with Host AP +# driver. If the bridge parameter is not set, the drivers will automatically +# figure out the bridge interface (assuming sysfs is enabled and mounted to +# /sys) and this parameter may not be needed. +# +# For nl80211, this parameter can be used to request the AP interface to be +# added to the bridge automatically (brctl may refuse to do this before hostapd +# has been started to change the interface mode). If needed, the bridge +# interface is also created. +#bridge=br0 + +# Driver interface type (hostap/wired/none/nl80211/bsd); +# default: hostap). nl80211 is used with all Linux mac80211 drivers. +# Use driver=none if building hostapd as a standalone RADIUS server that does +# not control any wireless/wired driver. +driver=nl80211 + +# Driver interface parameters (mainly for development testing use) +# driver_params= + +# hostapd event logger configuration +# +# Two output method: syslog and stdout (only usable if not forking to +# background). +# +# Module bitfield (ORed bitfield of modules that will be logged; -1 = all +# modules): +# bit 0 (1) = IEEE 802.11 +# bit 1 (2) = IEEE 802.1X +# bit 2 (4) = RADIUS +# bit 3 (8) = WPA +# bit 4 (16) = driver interface +# bit 5 (32) = IAPP +# bit 6 (64) = MLME +# +# Levels (minimum value for logged events): +# 0 = verbose debugging +# 1 = debugging +# 2 = informational messages +# 3 = notification +# 4 = warning +# +logger_syslog=-1 +logger_syslog_level=2 +logger_stdout=-1 +logger_stdout_level=2 + +# Dump file for state information (on SIGUSR1) +dump_file=/tmp/hostapd.dump + +# Interface for separate control program. If this is specified, hostapd +# will create this directory and a UNIX domain socket for listening to requests +# from external programs (CLI/GUI, etc.) for status information and +# configuration. The socket file will be named based on the interface name, so +# multiple hostapd processes/interfaces can be run at the same time if more +# than one interface is used. +# /var/run/hostapd is the recommended directory for sockets and by default, +# hostapd_cli will use it when trying to connect with hostapd. +#ctrl_interface=/data/misc/wifi/hostapd/ctrl + + +# Access control for the control interface can be configured by setting the +# directory to allow only members of a group to use sockets. This way, it is +# possible to run hostapd as root (since it needs to change network +# configuration and open raw sockets) and still allow GUI/CLI components to be +# run as non-root users. However, since the control interface can be used to +# change the network configuration, this access needs to be protected in many +# cases. By default, hostapd is configured to use gid 0 (root). If you +# want to allow non-root users to use the contron interface, add a new group +# and change this value to match with that group. Add users that should have +# control interface access to this group. +# +# This variable can be a group name or gid. +#ctrl_interface_group=wheel +#ctrl_interface_group=0 + + +##### IEEE 802.11 related configuration ####################################### + +# SSID to be used in IEEE 802.11 management frames +ssid=AndroidAP_1484 +# Alternative formats for configuring SSID +# (double quoted string, hexdump, printf-escaped string) +#ssid2="test" +#ssid2=74657374 +#ssid2=P"hello\nthere" + +# UTF-8 SSID: Whether the SSID is to be interpreted using UTF-8 encoding +#utf8_ssid=1 + +# Country code (ISO/IEC 3166-1). Used to set regulatory domain. +# Set as needed to indicate country in which device is operating. +# This can limit available channels and transmit power. +# These two octets are used as the first two octets of the Country String +# (dot11CountryString) +#country_code=US + +# The third octet of the Country String (dot11CountryString) +# This parameter is used to set the third octet of the country string. +# +# All environments of the current frequency band and country (default) +#country3=0x20 +# Outdoor environment only +#country3=0x4f +# Indoor environment only +#country3=0x49 +# Noncountry entity (country_code=XX) +#country3=0x58 +# IEEE 802.11 standard Annex E table indication: 0x01 .. 0x1f +# Annex E, Table E-4 (Global operating classes) +#country3=0x04 + +# Enable IEEE 802.11d. This advertises the country_code and the set of allowed +# channels and transmit power levels based on the regulatory limits. The +# country_code setting must be configured with the correct country for +# IEEE 802.11d functions. +# (default: 0 = disabled) +#ieee80211d=1 + +# Enable IEEE 802.11h. This enables radar detection and DFS support if +# available. DFS support is required on outdoor 5 GHz channels in most countries +# of the world. This can be used only with ieee80211d=1. +# (default: 0 = disabled) +#ieee80211h=1 + +# Add Power Constraint element to Beacon and Probe Response frames +# This config option adds Power Constraint element when applicable and Country +# element is added. Power Constraint element is required by Transmit Power +# Control. This can be used only with ieee80211d=1. +# Valid values are 0..255. +#local_pwr_constraint=3 + +# Set Spectrum Management subfield in the Capability Information field. +# This config option forces the Spectrum Management bit to be set. When this +# option is not set, the value of the Spectrum Management bit depends on whether +# DFS or TPC is required by regulatory authorities. This can be used only with +# ieee80211d=1 and local_pwr_constraint configured. +#spectrum_mgmt_required=1 + +# Operation mode (a = IEEE 802.11a (5 GHz), b = IEEE 802.11b (2.4 GHz), +# g = IEEE 802.11g (2.4 GHz), ad = IEEE 802.11ad (60 GHz); a/g options are used +# with IEEE 802.11n (HT), too, to specify band). For IEEE 802.11ac (VHT), this +# needs to be set to hw_mode=a. When using ACS (see channel parameter), a +# special value "any" can be used to indicate that any support band can be used. +# This special case is currently supported only with drivers with which +# offloaded ACS is used. +# Default: IEEE 802.11b +hw_mode=g + +# Channel number (IEEE 802.11) +# (default: 0, i.e., not set) +# Please note that some drivers do not use this value from hostapd and the +# channel will need to be configured separately with iwconfig. +# +# If CONFIG_ACS build option is enabled, the channel can be selected +# automatically at run time by setting channel=acs_survey or channel=0, both of +# which will enable the ACS survey based algorithm. +channel=6 + +# ACS tuning - Automatic Channel Selection +# See: http://wireless.kernel.org/en/users/Documentation/acs +# +# You can customize the ACS survey algorithm with following variables: +# +# acs_num_scans requirement is 1..100 - number of scans to be performed that +# are used to trigger survey data gathering of an underlying device driver. +# Scans are passive and typically take a little over 100ms (depending on the +# driver) on each available channel for given hw_mode. Increasing this value +# means sacrificing startup time and gathering more data wrt channel +# interference that may help choosing a better channel. This can also help fine +# tune the ACS scan time in case a driver has different scan dwell times. +# +# acs_chan_bias is a space-separated list of : pairs. It can be +# used to increase (or decrease) the likelihood of a specific channel to be +# selected by the ACS algorithm. The total interference factor for each channel +# gets multiplied by the specified bias value before finding the channel with +# the lowest value. In other words, values between 0.0 and 1.0 can be used to +# make a channel more likely to be picked while values larger than 1.0 make the +# specified channel less likely to be picked. This can be used, e.g., to prefer +# the commonly used 2.4 GHz band channels 1, 6, and 11 (which is the default +# behavior on 2.4 GHz band if no acs_chan_bias parameter is specified). +# +# Defaults: +#acs_num_scans=5 +#acs_chan_bias=1:0.8 6:0.8 11:0.8 + +# Channel list restriction. This option allows hostapd to select one of the +# provided channels when a channel should be automatically selected. +# Channel list can be provided as range using hyphen ('-') or individual +# channels can be specified by space (' ') separated values +# Default: all channels allowed in selected hw_mode +#chanlist=100 104 108 112 116 +#chanlist=1 6 11-13 + +# Exclude DFS channels from ACS +# This option can be used to exclude all DFS channels from the ACS channel list +# in cases where the driver supports DFS channels. +#acs_exclude_dfs=1 + +# Beacon interval in kus (1.024 ms) (default: 100; range 15..65535) +beacon_int=100 + +# DTIM (delivery traffic information message) period (range 1..255): +# number of beacons between DTIMs (1 = every beacon includes DTIM element) +# (default: 2) +dtim_period=2 + +# Maximum number of stations allowed in station table. New stations will be +# rejected after the station table is full. IEEE 802.11 has a limit of 2007 +# different association IDs, so this number should not be larger than that. +# (default: 2007) +max_num_sta=255 + +# RTS/CTS threshold; -1 = disabled (default); range -1..65535 +# If this field is not included in hostapd.conf, hostapd will not control +# RTS threshold and 'iwconfig wlan# rts ' can be used to set it. +#rts_threshold=2347 + +# Fragmentation threshold; -1 = disabled (default); range -1, 256..2346 +# If this field is not included in hostapd.conf, hostapd will not control +# fragmentation threshold and 'iwconfig wlan# frag ' can be used to set +# it. +#fragm_threshold=2346 + +# Rate configuration +# Default is to enable all rates supported by the hardware. This configuration +# item allows this list be filtered so that only the listed rates will be left +# in the list. If the list is empty, all rates are used. This list can have +# entries that are not in the list of rates the hardware supports (such entries +# are ignored). The entries in this list are in 100 kbps, i.e., 11 Mbps = 110. +# If this item is present, at least one rate have to be matching with the rates +# hardware supports. +# default: use the most common supported rate setting for the selected +# hw_mode (i.e., this line can be removed from configuration file in most +# cases) +#supported_rates=10 20 55 110 60 90 120 180 240 360 480 540 + +# Basic rate set configuration +# List of rates (in 100 kbps) that are included in the basic rate set. +# If this item is not included, usually reasonable default set is used. +#basic_rates=10 20 +#basic_rates=10 20 55 110 +#basic_rates=60 120 240 + +# Beacon frame TX rate configuration +# This sets the TX rate that is used to transmit Beacon frames. If this item is +# not included, the driver default rate (likely lowest rate) is used. +# Legacy (CCK/OFDM rates): +# beacon_rate= +# HT: +# beacon_rate=ht: +# VHT: +# beacon_rate=vht: +# +# For example, beacon_rate=10 for 1 Mbps or beacon_rate=60 for 6 Mbps (OFDM). +#beacon_rate=10 + +# Short Preamble +# This parameter can be used to enable optional use of short preamble for +# frames sent at 2 Mbps, 5.5 Mbps, and 11 Mbps to improve network performance. +# This applies only to IEEE 802.11b-compatible networks and this should only be +# enabled if the local hardware supports use of short preamble. If any of the +# associated STAs do not support short preamble, use of short preamble will be +# disabled (and enabled when such STAs disassociate) dynamically. +# 0 = do not allow use of short preamble (default) +# 1 = allow use of short preamble +#preamble=1 + +# Station MAC address -based authentication +# Please note that this kind of access control requires a driver that uses +# hostapd to take care of management frame processing and as such, this can be +# used with driver=hostap or driver=nl80211, but not with driver=atheros. +# 0 = accept unless in deny list +# 1 = deny unless in accept list +# 2 = use external RADIUS server (accept/deny lists are searched first) +macaddr_acl=0 + +# Accept/deny lists are read from separate files (containing list of +# MAC addresses, one per line). Use absolute path name to make sure that the +# files can be read on SIGHUP configuration reloads. +accept_mac_file=/data/misc/wifi/hostapd.accept +deny_mac_file=/data/misc/wifi/hostapd.deny + +# IEEE 802.11 specifies two authentication algorithms. hostapd can be +# configured to allow both of these or only one. Open system authentication +# should be used with IEEE 802.1X. +# Bit fields of allowed authentication algorithms: +# bit 0 = Open System Authentication +# bit 1 = Shared Key Authentication (requires WEP) +auth_algs=3 + +# Send empty SSID in beacons and ignore probe request frames that do not +# specify full SSID, i.e., require stations to know SSID. +# default: disabled (0) +# 1 = send empty (length=0) SSID in beacon and ignore probe request for +# broadcast SSID +# 2 = clear SSID (ASCII 0), but keep the original length (this may be required +# with some clients that do not support empty SSID) and ignore probe +# requests for broadcast SSID +ignore_broadcast_ssid=0 + +# Do not reply to broadcast Probe Request frames from unassociated STA if there +# is no room for additional stations (max_num_sta). This can be used to +# discourage a STA from trying to associate with this AP if the association +# would be rejected due to maximum STA limit. +# Default: 0 (disabled) +#no_probe_resp_if_max_sta=0 + +# Additional vendor specific elements for Beacon and Probe Response frames +# This parameter can be used to add additional vendor specific element(s) into +# the end of the Beacon and Probe Response frames. The format for these +# element(s) is a hexdump of the raw information elements (id+len+payload for +# one or more elements) +#vendor_elements=dd0411223301 + +# Additional vendor specific elements for (Re)Association Response frames +# This parameter can be used to add additional vendor specific element(s) into +# the end of the (Re)Association Response frames. The format for these +# element(s) is a hexdump of the raw information elements (id+len+payload for +# one or more elements) +#assocresp_elements=dd0411223301 + +# TX queue parameters (EDCF / bursting) +# default for all these fields: not set, use hardware defaults +# tx_queue__ +# queues: data0, data1, data2, data3 +# (data0 is the highest priority queue) +# parameters: +# aifs: AIFS (default 2) +# cwmin: cwMin (1, 3, 7, 15, 31, 63, 127, 255, 511, 1023, 2047, 4095, 8191, +# 16383, 32767) +# cwmax: cwMax (same values as cwMin, cwMax >= cwMin) +# burst: maximum length (in milliseconds with precision of up to 0.1 ms) for +# bursting +# +# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e): +# These parameters are used by the access point when transmitting frames +# to the clients. +# +# Low priority / AC_BK = background +#tx_queue_data3_aifs=7 +#tx_queue_data3_cwmin=15 +#tx_queue_data3_cwmax=1023 +#tx_queue_data3_burst=0 +# Note: for IEEE 802.11b mode: cWmin=31 cWmax=1023 burst=0 +# +# Normal priority / AC_BE = best effort +#tx_queue_data2_aifs=3 +#tx_queue_data2_cwmin=15 +#tx_queue_data2_cwmax=63 +#tx_queue_data2_burst=0 +# Note: for IEEE 802.11b mode: cWmin=31 cWmax=127 burst=0 +# +# High priority / AC_VI = video +#tx_queue_data1_aifs=1 +#tx_queue_data1_cwmin=7 +#tx_queue_data1_cwmax=15 +#tx_queue_data1_burst=3.0 +# Note: for IEEE 802.11b mode: cWmin=15 cWmax=31 burst=6.0 +# +# Highest priority / AC_VO = voice +#tx_queue_data0_aifs=1 +#tx_queue_data0_cwmin=3 +#tx_queue_data0_cwmax=7 +#tx_queue_data0_burst=1.5 +# Note: for IEEE 802.11b mode: cWmin=7 cWmax=15 burst=3.3 +# +# Special queues; normally not user configurable +# +#tx_queue_after_beacon_aifs=2 +#tx_queue_after_beacon_cwmin=15 +#tx_queue_after_beacon_cwmax=1023 +#tx_queue_after_beacon_burst=0 +# +#tx_queue_beacon_aifs=2 +#tx_queue_beacon_cwmin=3 +#tx_queue_beacon_cwmax=7 +#tx_queue_beacon_burst=1.5 + +# 802.1D Tag (= UP) to AC mappings +# WMM specifies following mapping of data frames to different ACs. This mapping +# can be configured using Linux QoS/tc and sch_pktpri.o module. +# 802.1D Tag 802.1D Designation Access Category WMM Designation +# 1 BK AC_BK Background +# 2 - AC_BK Background +# 0 BE AC_BE Best Effort +# 3 EE AC_BE Best Effort +# 4 CL AC_VI Video +# 5 VI AC_VI Video +# 6 VO AC_VO Voice +# 7 NC AC_VO Voice +# Data frames with no priority information: AC_BE +# Management frames: AC_VO +# PS-Poll frames: AC_BE + +# Default WMM parameters (IEEE 802.11 draft; 11-03-0504-03-000e): +# for 802.11a or 802.11g networks +# These parameters are sent to WMM clients when they associate. +# The parameters will be used by WMM clients for frames transmitted to the +# access point. +# +# note - txop_limit is in units of 32microseconds +# note - acm is admission control mandatory flag. 0 = admission control not +# required, 1 = mandatory +# note - Here cwMin and cmMax are in exponent form. The actual cw value used +# will be (2^n)-1 where n is the value given here. The allowed range for these +# wmm_ac_??_{cwmin,cwmax} is 0..15 with cwmax >= cwmin. +# +wmm_enabled=1 +# +# WMM-PS Unscheduled Automatic Power Save Delivery [U-APSD] +# Enable this flag if U-APSD supported outside hostapd (eg., Firmware/driver) +#uapsd_advertisement_enabled=1 +# +# Low priority / AC_BK = background +wmm_ac_bk_cwmin=4 +wmm_ac_bk_cwmax=10 +wmm_ac_bk_aifs=7 +wmm_ac_bk_txop_limit=0 +wmm_ac_bk_acm=0 +# Note: for IEEE 802.11b mode: cWmin=5 cWmax=10 +# +# Normal priority / AC_BE = best effort +wmm_ac_be_aifs=3 +wmm_ac_be_cwmin=4 +wmm_ac_be_cwmax=10 +wmm_ac_be_txop_limit=0 +wmm_ac_be_acm=0 +# Note: for IEEE 802.11b mode: cWmin=5 cWmax=7 +# +# High priority / AC_VI = video +wmm_ac_vi_aifs=2 +wmm_ac_vi_cwmin=3 +wmm_ac_vi_cwmax=4 +wmm_ac_vi_txop_limit=94 +wmm_ac_vi_acm=0 +# Note: for IEEE 802.11b mode: cWmin=4 cWmax=5 txop_limit=188 +# +# Highest priority / AC_VO = voice +wmm_ac_vo_aifs=2 +wmm_ac_vo_cwmin=2 +wmm_ac_vo_cwmax=3 +wmm_ac_vo_txop_limit=47 +wmm_ac_vo_acm=0 +# Note: for IEEE 802.11b mode: cWmin=3 cWmax=4 burst=102 + +# Static WEP key configuration +# +# The key number to use when transmitting. +# It must be between 0 and 3, and the corresponding key must be set. +# default: not set +#wep_default_key=0 +# The WEP keys to use. +# A key may be a quoted string or unquoted hexadecimal digits. +# The key length should be 5, 13, or 16 characters, or 10, 26, or 32 +# digits, depending on whether 40-bit (64-bit), 104-bit (128-bit), or +# 128-bit (152-bit) WEP is used. +# Only the default key must be supplied; the others are optional. +# default: not set +#wep_key0=123456789a +#wep_key1="vwxyz" +#wep_key2=0102030405060708090a0b0c0d +#wep_key3=".2.4.6.8.0.23" + +# Station inactivity limit +# +# If a station does not send anything in ap_max_inactivity seconds, an +# empty data frame is sent to it in order to verify whether it is +# still in range. If this frame is not ACKed, the station will be +# disassociated and then deauthenticated. This feature is used to +# clear station table of old entries when the STAs move out of the +# range. +# +# The station can associate again with the AP if it is still in range; +# this inactivity poll is just used as a nicer way of verifying +# inactivity; i.e., client will not report broken connection because +# disassociation frame is not sent immediately without first polling +# the STA with a data frame. +# default: 300 (i.e., 5 minutes) +#ap_max_inactivity=300 + +# Enable/disable internal bridge for packets between associated stations. +# +# The inactivity polling can be disabled to disconnect stations based on +# inactivity timeout so that idle stations are more likely to be disconnected +# even if they are still in range of the AP. This can be done by setting +# skip_inactivity_poll to 1 (default 0). +#skip_inactivity_poll=0 + +# Disassociate stations based on excessive transmission failures or other +# indications of connection loss. This depends on the driver capabilities and +# may not be available with all drivers. +#disassoc_low_ack=1 + +# Maximum allowed Listen Interval (how many Beacon periods STAs are allowed to +# remain asleep). Default: 65535 (no limit apart from field size) +#max_listen_interval=100 + +# WDS (4-address frame) mode with per-station virtual interfaces +# (only supported with driver=nl80211) +# This mode allows associated stations to use 4-address frames to allow layer 2 +# bridging to be used. +#wds_sta=1 + +# If bridge parameter is set, the WDS STA interface will be added to the same +# bridge by default. This can be overridden with the wds_bridge parameter to +# use a separate bridge. +#wds_bridge=wds-br0 + +# Start the AP with beaconing disabled by default. +#start_disabled=0 + +# Client isolation can be used to prevent low-level bridging of frames between +# associated stations in the BSS. By default, this bridging is allowed. +#ap_isolate=1 + +# BSS Load update period (in BUs) +# This field is used to enable and configure adding a BSS Load element into +# Beacon and Probe Response frames. +#bss_load_update_period=50 + +# Fixed BSS Load value for testing purposes +# This field can be used to configure hostapd to add a fixed BSS Load element +# into Beacon and Probe Response frames for testing purposes. The format is +# :: +#bss_load_test=12:80:20000 + +# Multicast to unicast conversion +# Request that the AP will do multicast-to-unicast conversion for ARP, IPv4, and +# IPv6 frames (possibly within 802.1Q). If enabled, such frames are to be sent +# to each station separately, with the DA replaced by their own MAC address +# rather than the group address. +# +# Note that this may break certain expectations of the receiver, such as the +# ability to drop unicast IP packets received within multicast L2 frames, or the +# ability to not send ICMP destination unreachable messages for packets received +# in L2 multicast (which is required, but the receiver can't tell the difference +# if this new option is enabled). +# +# This also doesn't implement the 802.11 DMS (directed multicast service). +# +#multicast_to_unicast=0 + +# Send broadcast Deauthentication frame on AP start/stop +# Default: 1 (enabled) +#broadcast_deauth=1 + +##### IEEE 802.11n related configuration ###################################### + +# ieee80211n: Whether IEEE 802.11n (HT) is enabled +# 0 = disabled (default) +# 1 = enabled +# Note: You will also need to enable WMM for full HT functionality. +# Note: hw_mode=g (2.4 GHz) and hw_mode=a (5 GHz) is used to specify the band. +ieee80211n=1 + +#require_ht=1 + +# ht_capab: HT capabilities (list of flags) +# LDPC coding capability: [LDPC] = supported +# Supported channel width set: [HT40-] = both 20 MHz and 40 MHz with secondary +# channel below the primary channel; [HT40+] = both 20 MHz and 40 MHz +# with secondary channel above the primary channel +# (20 MHz only if neither is set) +# Note: There are limits on which channels can be used with HT40- and +# HT40+. Following table shows the channels that may be available for +# HT40- and HT40+ use per IEEE 802.11n Annex J: +# freq HT40- HT40+ +# 2.4 GHz 5-13 1-7 (1-9 in Europe/Japan) +# 5 GHz 40,48,56,64 36,44,52,60 +# (depending on the location, not all of these channels may be available +# for use) +# Please note that 40 MHz channels may switch their primary and secondary +# channels if needed or creation of 40 MHz channel maybe rejected based +# on overlapping BSSes. These changes are done automatically when hostapd +# is setting up the 40 MHz channel. +# Spatial Multiplexing (SM) Power Save: [SMPS-STATIC] or [SMPS-DYNAMIC] +# (SMPS disabled if neither is set) +# HT-greenfield: [GF] (disabled if not set) +# Short GI for 20 MHz: [SHORT-GI-20] (disabled if not set) +# Short GI for 40 MHz: [SHORT-GI-40] (disabled if not set) +# Tx STBC: [TX-STBC] (disabled if not set) +# Rx STBC: [RX-STBC1] (one spatial stream), [RX-STBC12] (one or two spatial +# streams), or [RX-STBC123] (one, two, or three spatial streams); Rx STBC +# disabled if none of these set +# HT-delayed Block Ack: [DELAYED-BA] (disabled if not set) +# Maximum A-MSDU length: [MAX-AMSDU-7935] for 7935 octets (3839 octets if not +# set) +# DSSS/CCK Mode in 40 MHz: [DSSS_CCK-40] = allowed (not allowed if not set) +# 40 MHz intolerant [40-INTOLERANT] (not advertised if not set) +# L-SIG TXOP protection support: [LSIG-TXOP-PROT] (disabled if not set) +#ht_capab=[HT40-][SHORT-GI-20][SHORT-GI-40] +ht_capab=[SHORT-GI-20] [GF] [DSSS_CCK-40] [LSIG-TXOP-PROT] + +# Require stations to support HT PHY (reject association if they do not) +#require_ht=1 + +# If set non-zero, require stations to perform scans of overlapping +# channels to test for stations which would be affected by 40 MHz traffic. +# This parameter sets the interval in seconds between these scans. Setting this +# to non-zero allows 2.4 GHz band AP to move dynamically to a 40 MHz channel if +# no co-existence issues with neighboring devices are found. +#obss_interval=0 + +##### IEEE 802.11ac related configuration ##################################### + +# ieee80211ac: Whether IEEE 802.11ac (VHT) is enabled +# 0 = disabled (default) +# 1 = enabled +# Note: You will also need to enable WMM for full VHT functionality. +# Note: hw_mode=a is used to specify that 5 GHz band is used with VHT. +#ieee80211ac=1 + +# vht_capab: VHT capabilities (list of flags) +# +# vht_max_mpdu_len: [MAX-MPDU-7991] [MAX-MPDU-11454] +# Indicates maximum MPDU length +# 0 = 3895 octets (default) +# 1 = 7991 octets +# 2 = 11454 octets +# 3 = reserved +# +# supported_chan_width: [VHT160] [VHT160-80PLUS80] +# Indicates supported Channel widths +# 0 = 160 MHz & 80+80 channel widths are not supported (default) +# 1 = 160 MHz channel width is supported +# 2 = 160 MHz & 80+80 channel widths are supported +# 3 = reserved +# +# Rx LDPC coding capability: [RXLDPC] +# Indicates support for receiving LDPC coded pkts +# 0 = Not supported (default) +# 1 = Supported +# +# Short GI for 80 MHz: [SHORT-GI-80] +# Indicates short GI support for reception of packets transmitted with TXVECTOR +# params format equal to VHT and CBW = 80Mhz +# 0 = Not supported (default) +# 1 = Supported +# +# Short GI for 160 MHz: [SHORT-GI-160] +# Indicates short GI support for reception of packets transmitted with TXVECTOR +# params format equal to VHT and CBW = 160Mhz +# 0 = Not supported (default) +# 1 = Supported +# +# Tx STBC: [TX-STBC-2BY1] +# Indicates support for the transmission of at least 2x1 STBC +# 0 = Not supported (default) +# 1 = Supported +# +# Rx STBC: [RX-STBC-1] [RX-STBC-12] [RX-STBC-123] [RX-STBC-1234] +# Indicates support for the reception of PPDUs using STBC +# 0 = Not supported (default) +# 1 = support of one spatial stream +# 2 = support of one and two spatial streams +# 3 = support of one, two and three spatial streams +# 4 = support of one, two, three and four spatial streams +# 5,6,7 = reserved +# +# SU Beamformer Capable: [SU-BEAMFORMER] +# Indicates support for operation as a single user beamformer +# 0 = Not supported (default) +# 1 = Supported +# +# SU Beamformee Capable: [SU-BEAMFORMEE] +# Indicates support for operation as a single user beamformee +# 0 = Not supported (default) +# 1 = Supported +# +# Compressed Steering Number of Beamformer Antennas Supported: +# [BF-ANTENNA-2] [BF-ANTENNA-3] [BF-ANTENNA-4] +# Beamformee's capability indicating the maximum number of beamformer +# antennas the beamformee can support when sending compressed beamforming +# feedback +# If SU beamformer capable, set to maximum value minus 1 +# else reserved (default) +# +# Number of Sounding Dimensions: +# [SOUNDING-DIMENSION-2] [SOUNDING-DIMENSION-3] [SOUNDING-DIMENSION-4] +# Beamformer's capability indicating the maximum value of the NUM_STS parameter +# in the TXVECTOR of a VHT NDP +# If SU beamformer capable, set to maximum value minus 1 +# else reserved (default) +# +# MU Beamformer Capable: [MU-BEAMFORMER] +# Indicates support for operation as an MU beamformer +# 0 = Not supported or sent by Non-AP STA (default) +# 1 = Supported +# +# VHT TXOP PS: [VHT-TXOP-PS] +# Indicates whether or not the AP supports VHT TXOP Power Save Mode +# or whether or not the STA is in VHT TXOP Power Save mode +# 0 = VHT AP doesn't support VHT TXOP PS mode (OR) VHT STA not in VHT TXOP PS +# mode +# 1 = VHT AP supports VHT TXOP PS mode (OR) VHT STA is in VHT TXOP power save +# mode +# +# +HTC-VHT Capable: [HTC-VHT] +# Indicates whether or not the STA supports receiving a VHT variant HT Control +# field. +# 0 = Not supported (default) +# 1 = supported +# +# Maximum A-MPDU Length Exponent: [MAX-A-MPDU-LEN-EXP0]..[MAX-A-MPDU-LEN-EXP7] +# Indicates the maximum length of A-MPDU pre-EOF padding that the STA can recv +# This field is an integer in the range of 0 to 7. +# The length defined by this field is equal to +# 2 pow(13 + Maximum A-MPDU Length Exponent) -1 octets +# +# VHT Link Adaptation Capable: [VHT-LINK-ADAPT2] [VHT-LINK-ADAPT3] +# Indicates whether or not the STA supports link adaptation using VHT variant +# HT Control field +# If +HTC-VHTcapable is 1 +# 0 = (no feedback) if the STA does not provide VHT MFB (default) +# 1 = reserved +# 2 = (Unsolicited) if the STA provides only unsolicited VHT MFB +# 3 = (Both) if the STA can provide VHT MFB in response to VHT MRQ and if the +# STA provides unsolicited VHT MFB +# Reserved if +HTC-VHTcapable is 0 +# +# Rx Antenna Pattern Consistency: [RX-ANTENNA-PATTERN] +# Indicates the possibility of Rx antenna pattern change +# 0 = Rx antenna pattern might change during the lifetime of an association +# 1 = Rx antenna pattern does not change during the lifetime of an association +# +# Tx Antenna Pattern Consistency: [TX-ANTENNA-PATTERN] +# Indicates the possibility of Tx antenna pattern change +# 0 = Tx antenna pattern might change during the lifetime of an association +# 1 = Tx antenna pattern does not change during the lifetime of an association +#vht_capab=[SHORT-GI-80][HTC-VHT] +# +# Require stations to support VHT PHY (reject association if they do not) +#require_vht=1 + +# 0 = 20 or 40 MHz operating Channel width +# 1 = 80 MHz channel width +# 2 = 160 MHz channel width +# 3 = 80+80 MHz channel width +#vht_oper_chwidth=1 +# +# center freq = 5 GHz + (5 * index) +# So index 42 gives center freq 5.210 GHz +# which is channel 42 in 5G band +# +#vht_oper_centr_freq_seg0_idx=42 +# +# center freq = 5 GHz + (5 * index) +# So index 159 gives center freq 5.795 GHz +# which is channel 159 in 5G band +# +#vht_oper_centr_freq_seg1_idx=159 + +# Workaround to use station's nsts capability in (Re)Association Response frame +# This may be needed with some deployed devices as an interoperability +# workaround for beamforming if the AP's capability is greater than the +# station's capability. This is disabled by default and can be enabled by +# setting use_sta_nsts=1. +#use_sta_nsts=0 + +##### IEEE 802.11ax related configuration ##################################### + +#ieee80211ax: Whether IEEE 802.11ax (HE) is enabled +# 0 = disabled (default) +# 1 = enabled +#ieee80211ax=1 + +#he_su_beamformer: HE single user beamformer support +# 0 = not supported (default) +# 1 = supported +#he_su_beamformer=1 + +#he_su_beamformee: HE single user beamformee support +# 0 = not supported (default) +# 1 = supported +#he_su_beamformee=1 + +#he_mu_beamformer: HE multiple user beamformer support +# 0 = not supported (default) +# 1 = supported +#he_mu_beamformer=1 + +# he_bss_color: BSS color +# 0 = no BSS color (default) +# unsigned integer = BSS color +#he_bss_color=0 + +#he_default_pe_duration: The duration of PE field in an HE PPDU in us +# Possible values are 0 us (default), 4 us, 8 us, 12 us, and 16 us +#he_default_pe_duration=0 + +#he_twt_required: Whether TWT is required +# 0 = not required (default) +# 1 = required +#he_twt_required=0 + +#he_rts_threshold: Duration of STA transmission +# 0 = not set (default) +# unsigned integer = duration in units of 16 us +#he_rts_threshold=0 + +##### IEEE 802.1X-2004 related configuration ################################## + +# Require IEEE 802.1X authorization +#ieee8021x=1 + +# IEEE 802.1X/EAPOL version +# hostapd is implemented based on IEEE Std 802.1X-2004 which defines EAPOL +# version 2. However, there are many client implementations that do not handle +# the new version number correctly (they seem to drop the frames completely). +# In order to make hostapd interoperate with these clients, the version number +# can be set to the older version (1) with this configuration value. +#eapol_version=2 + +# Optional displayable message sent with EAP Request-Identity. The first \0 +# in this string will be converted to ASCII-0 (nul). This can be used to +# separate network info (comma separated list of attribute=value pairs); see, +# e.g., RFC 4284. +#eap_message=hello +#eap_message=hello\0networkid=netw,nasid=foo,portid=0,NAIRealms=example.com + +# WEP rekeying (disabled if key lengths are not set or are set to 0) +# Key lengths for default/broadcast and individual/unicast keys: +# 5 = 40-bit WEP (also known as 64-bit WEP with 40 secret bits) +# 13 = 104-bit WEP (also known as 128-bit WEP with 104 secret bits) +#wep_key_len_broadcast=5 +#wep_key_len_unicast=5 +# Rekeying period in seconds. 0 = do not rekey (i.e., set keys only once) +#wep_rekey_period=300 + +# EAPOL-Key index workaround (set bit7) for WinXP Supplicant (needed only if +# only broadcast keys are used) +eapol_key_index_workaround=0 + +# EAP reauthentication period in seconds (default: 3600 seconds; 0 = disable +# reauthentication). +#eap_reauth_period=3600 + +# Use PAE group address (01:80:c2:00:00:03) instead of individual target +# address when sending EAPOL frames with driver=wired. This is the most common +# mechanism used in wired authentication, but it also requires that the port +# is only used by one station. +#use_pae_group_addr=1 + +# EAP Re-authentication Protocol (ERP) authenticator (RFC 6696) +# +# Whether to initiate EAP authentication with EAP-Initiate/Re-auth-Start before +# EAP-Identity/Request +#erp_send_reauth_start=1 +# +# Domain name for EAP-Initiate/Re-auth-Start. Omitted from the message if not +# set (no local ER server). This is also used by the integrated EAP server if +# ERP is enabled (eap_server_erp=1). +#erp_domain=example.com + +##### Integrated EAP server ################################################### + +# Optionally, hostapd can be configured to use an integrated EAP server +# to process EAP authentication locally without need for an external RADIUS +# server. This functionality can be used both as a local authentication server +# for IEEE 802.1X/EAPOL and as a RADIUS server for other devices. + +# Use integrated EAP server instead of external RADIUS authentication +# server. This is also needed if hostapd is configured to act as a RADIUS +# authentication server. +eap_server=1 + +# Path for EAP server user database +# If SQLite support is included, this can be set to "sqlite:/path/to/sqlite.db" +# to use SQLite database instead of a text file. +#eap_user_file=/etc/hostapd.eap_user + +# CA certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS +#ca_cert=/etc/hostapd.ca.pem + +# Server certificate (PEM or DER file) for EAP-TLS/PEAP/TTLS +#server_cert=/etc/hostapd.server.pem + +# Private key matching with the server certificate for EAP-TLS/PEAP/TTLS +# This may point to the same file as server_cert if both certificate and key +# are included in a single file. PKCS#12 (PFX) file (.p12/.pfx) can also be +# used by commenting out server_cert and specifying the PFX file as the +# private_key. +#private_key=/etc/hostapd.server.prv + +# Passphrase for private key +#private_key_passwd=secret passphrase + +# Server identity +# EAP methods that provide mechanism for authenticated server identity delivery +# use this value. If not set, "hostapd" is used as a default. +#server_id=server.example.com + +# Enable CRL verification. +# Note: hostapd does not yet support CRL downloading based on CDP. Thus, a +# valid CRL signed by the CA is required to be included in the ca_cert file. +# This can be done by using PEM format for CA certificate and CRL and +# concatenating these into one file. Whenever CRL changes, hostapd needs to be +# restarted to take the new CRL into use. +# 0 = do not verify CRLs (default) +# 1 = check the CRL of the user certificate +# 2 = check all CRLs in the certificate path +#check_crl=1 + +# TLS Session Lifetime in seconds +# This can be used to allow TLS sessions to be cached and resumed with an +# abbreviated handshake when using EAP-TLS/TTLS/PEAP. +# (default: 0 = session caching and resumption disabled) +#tls_session_lifetime=3600 + +# Cached OCSP stapling response (DER encoded) +# If set, this file is sent as a certificate status response by the EAP server +# if the EAP peer requests certificate status in the ClientHello message. +# This cache file can be updated, e.g., by running following command +# periodically to get an update from the OCSP responder: +# openssl ocsp \ +# -no_nonce \ +# -CAfile /etc/hostapd.ca.pem \ +# -issuer /etc/hostapd.ca.pem \ +# -cert /etc/hostapd.server.pem \ +# -url http://ocsp.example.com:8888/ \ +# -respout /tmp/ocsp-cache.der +#ocsp_stapling_response=/tmp/ocsp-cache.der + +# Cached OCSP stapling response list (DER encoded OCSPResponseList) +# This is similar to ocsp_stapling_response, but the extended version defined in +# RFC 6961 to allow multiple OCSP responses to be provided. +#ocsp_stapling_response_multi=/tmp/ocsp-multi-cache.der + +# dh_file: File path to DH/DSA parameters file (in PEM format) +# This is an optional configuration file for setting parameters for an +# ephemeral DH key exchange. In most cases, the default RSA authentication does +# not use this configuration. However, it is possible setup RSA to use +# ephemeral DH key exchange. In addition, ciphers with DSA keys always use +# ephemeral DH keys. This can be used to achieve forward secrecy. If the file +# is in DSA parameters format, it will be automatically converted into DH +# params. This parameter is required if anonymous EAP-FAST is used. +# You can generate DH parameters file with OpenSSL, e.g., +# "openssl dhparam -out /etc/hostapd.dh.pem 2048" +#dh_file=/etc/hostapd.dh.pem + +# OpenSSL cipher string +# +# This is an OpenSSL specific configuration option for configuring the default +# ciphers. If not set, the value configured at build time ("DEFAULT:!EXP:!LOW" +# by default) is used. +# See https://www.openssl.org/docs/apps/ciphers.html for OpenSSL documentation +# on cipher suite configuration. This is applicable only if hostapd is built to +# use OpenSSL. +#openssl_ciphers=DEFAULT:!EXP:!LOW + +# Fragment size for EAP methods +#fragment_size=1400 + +# Finite cyclic group for EAP-pwd. Number maps to group of domain parameters +# using the IANA repository for IKE (RFC 2409). +#pwd_group=19 + +# Configuration data for EAP-SIM database/authentication gateway interface. +# This is a text string in implementation specific format. The example +# implementation in eap_sim_db.c uses this as the UNIX domain socket name for +# the HLR/AuC gateway (e.g., hlr_auc_gw). In this case, the path uses "unix:" +# prefix. If hostapd is built with SQLite support (CONFIG_SQLITE=y in .config), +# database file can be described with an optional db= parameter. +#eap_sim_db=unix:/tmp/hlr_auc_gw.sock +#eap_sim_db=unix:/tmp/hlr_auc_gw.sock db=/tmp/hostapd.db + +# EAP-SIM DB request timeout +# This parameter sets the maximum time to wait for a database request response. +# The parameter value is in seconds. +#eap_sim_db_timeout=1 + +# Encryption key for EAP-FAST PAC-Opaque values. This key must be a secret, +# random value. It is configured as a 16-octet value in hex format. It can be +# generated, e.g., with the following command: +# od -tx1 -v -N16 /dev/random | colrm 1 8 | tr -d ' ' +#pac_opaque_encr_key=000102030405060708090a0b0c0d0e0f + +# EAP-FAST authority identity (A-ID) +# A-ID indicates the identity of the authority that issues PACs. The A-ID +# should be unique across all issuing servers. In theory, this is a variable +# length field, but due to some existing implementations requiring A-ID to be +# 16 octets in length, it is strongly recommended to use that length for the +# field to provid interoperability with deployed peer implementations. This +# field is configured in hex format. +#eap_fast_a_id=101112131415161718191a1b1c1d1e1f + +# EAP-FAST authority identifier information (A-ID-Info) +# This is a user-friendly name for the A-ID. For example, the enterprise name +# and server name in a human-readable format. This field is encoded as UTF-8. +#eap_fast_a_id_info=test server + +# Enable/disable different EAP-FAST provisioning modes: +#0 = provisioning disabled +#1 = only anonymous provisioning allowed +#2 = only authenticated provisioning allowed +#3 = both provisioning modes allowed (default) +#eap_fast_prov=3 + +# EAP-FAST PAC-Key lifetime in seconds (hard limit) +#pac_key_lifetime=604800 + +# EAP-FAST PAC-Key refresh time in seconds (soft limit on remaining hard +# limit). The server will generate a new PAC-Key when this number of seconds +# (or fewer) of the lifetime remains. +#pac_key_refresh_time=86400 + +# EAP-SIM and EAP-AKA protected success/failure indication using AT_RESULT_IND +# (default: 0 = disabled). +#eap_sim_aka_result_ind=1 + +# Trusted Network Connect (TNC) +# If enabled, TNC validation will be required before the peer is allowed to +# connect. Note: This is only used with EAP-TTLS and EAP-FAST. If any other +# EAP method is enabled, the peer will be allowed to connect without TNC. +#tnc=1 + +# EAP Re-authentication Protocol (ERP) - RFC 6696 +# +# Whether to enable ERP on the EAP server. +#eap_server_erp=1 + +##### IEEE 802.11f - Inter-Access Point Protocol (IAPP) ####################### + +# Interface to be used for IAPP broadcast packets +#iapp_interface=eth0 + + +##### RADIUS client configuration ############################################# +# for IEEE 802.1X with external Authentication Server, IEEE 802.11 +# authentication with external ACL for MAC addresses, and accounting + +# The own IP address of the access point (used as NAS-IP-Address) +own_ip_addr=127.0.0.1 + +# NAS-Identifier string for RADIUS messages. When used, this should be unique +# to the NAS within the scope of the RADIUS server. Please note that hostapd +# uses a separate RADIUS client for each BSS and as such, a unique +# nas_identifier value should be configured separately for each BSS. This is +# particularly important for cases where RADIUS accounting is used +# (Accounting-On/Off messages are interpreted as clearing all ongoing sessions +# and that may get interpreted as applying to all BSSes if the same +# NAS-Identifier value is used.) For example, a fully qualified domain name +# prefixed with a unique identifier of the BSS (e.g., BSSID) can be used here. +# +# When using IEEE 802.11r, nas_identifier must be set and must be between 1 and +# 48 octets long. +#nas_identifier=ap.example.com + +# RADIUS authentication server +#auth_server_addr=127.0.0.1 +#auth_server_port=1812 +#auth_server_shared_secret=secret + +# RADIUS accounting server +#acct_server_addr=127.0.0.1 +#acct_server_port=1813 +#acct_server_shared_secret=secret + +# Secondary RADIUS servers; to be used if primary one does not reply to +# RADIUS packets. These are optional and there can be more than one secondary +# server listed. +#auth_server_addr=127.0.0.2 +#auth_server_port=1812 +#auth_server_shared_secret=secret2 +# +#acct_server_addr=127.0.0.2 +#acct_server_port=1813 +#acct_server_shared_secret=secret2 + +# Retry interval for trying to return to the primary RADIUS server (in +# seconds). RADIUS client code will automatically try to use the next server +# when the current server is not replying to requests. If this interval is set, +# primary server will be retried after configured amount of time even if the +# currently used secondary server is still working. +#radius_retry_primary_interval=600 + + +# Interim accounting update interval +# If this is set (larger than 0) and acct_server is configured, hostapd will +# send interim accounting updates every N seconds. Note: if set, this overrides +# possible Acct-Interim-Interval attribute in Access-Accept message. Thus, this +# value should not be configured in hostapd.conf, if RADIUS server is used to +# control the interim interval. +# This value should not be less 600 (10 minutes) and must not be less than +# 60 (1 minute). +#radius_acct_interim_interval=600 + +# Request Chargeable-User-Identity (RFC 4372) +# This parameter can be used to configure hostapd to request CUI from the +# RADIUS server by including Chargeable-User-Identity attribute into +# Access-Request packets. +#radius_request_cui=1 + +# Dynamic VLAN mode; allow RADIUS authentication server to decide which VLAN +# is used for the stations. This information is parsed from following RADIUS +# attributes based on RFC 3580 and RFC 2868: Tunnel-Type (value 13 = VLAN), +# Tunnel-Medium-Type (value 6 = IEEE 802), Tunnel-Private-Group-ID (value +# VLANID as a string). Optionally, the local MAC ACL list (accept_mac_file) can +# be used to set static client MAC address to VLAN ID mapping. +# 0 = disabled (default) +# 1 = option; use default interface if RADIUS server does not include VLAN ID +# 2 = required; reject authentication if RADIUS server does not include VLAN ID +#dynamic_vlan=0 + +# Per-Station AP_VLAN interface mode +# If enabled, each station is assigned its own AP_VLAN interface. +# This implies per-station group keying and ebtables filtering of inter-STA +# traffic (when passed through the AP). +# If the sta is not assigned to any VLAN, then its AP_VLAN interface will be +# added to the bridge given by the "bridge" configuration option (see above). +# Otherwise, it will be added to the per-VLAN bridge. +# 0 = disabled (default) +# 1 = enabled +#per_sta_vif=0 + +# VLAN interface list for dynamic VLAN mode is read from a separate text file. +# This list is used to map VLAN ID from the RADIUS server to a network +# interface. Each station is bound to one interface in the same way as with +# multiple BSSIDs or SSIDs. Each line in this text file is defining a new +# interface and the line must include VLAN ID and interface name separated by +# white space (space or tab). +# If no entries are provided by this file, the station is statically mapped +# to . interfaces. +#vlan_file=/etc/hostapd.vlan + +# Interface where 802.1q tagged packets should appear when a RADIUS server is +# used to determine which VLAN a station is on. hostapd creates a bridge for +# each VLAN. Then hostapd adds a VLAN interface (associated with the interface +# indicated by 'vlan_tagged_interface') and the appropriate wireless interface +# to the bridge. +#vlan_tagged_interface=eth0 + +# Bridge (prefix) to add the wifi and the tagged interface to. This gets the +# VLAN ID appended. It defaults to brvlan%d if no tagged interface is given +# and br%s.%d if a tagged interface is given, provided %s = tagged interface +# and %d = VLAN ID. +#vlan_bridge=brvlan + +# When hostapd creates a VLAN interface on vlan_tagged_interfaces, it needs +# to know how to name it. +# 0 = vlan, e.g., vlan1 +# 1 = ., e.g. eth0.1 +#vlan_naming=0 + +# Arbitrary RADIUS attributes can be added into Access-Request and +# Accounting-Request packets by specifying the contents of the attributes with +# the following configuration parameters. There can be multiple of these to +# add multiple attributes. These parameters can also be used to override some +# of the attributes added automatically by hostapd. +# Format: [:] +# attr_id: RADIUS attribute type (e.g., 26 = Vendor-Specific) +# syntax: s = string (UTF-8), d = integer, x = octet string +# value: attribute value in format indicated by the syntax +# If syntax and value parts are omitted, a null value (single 0x00 octet) is +# used. +# +# Additional Access-Request attributes +# radius_auth_req_attr=[:] +# Examples: +# Operator-Name = "Operator" +#radius_auth_req_attr=126:s:Operator +# Service-Type = Framed (2) +#radius_auth_req_attr=6:d:2 +# Connect-Info = "testing" (this overrides the automatically generated value) +#radius_auth_req_attr=77:s:testing +# Same Connect-Info value set as a hexdump +#radius_auth_req_attr=77:x:74657374696e67 + +# +# Additional Accounting-Request attributes +# radius_acct_req_attr=[:] +# Examples: +# Operator-Name = "Operator" +#radius_acct_req_attr=126:s:Operator + +# Dynamic Authorization Extensions (RFC 5176) +# This mechanism can be used to allow dynamic changes to user session based on +# commands from a RADIUS server (or some other disconnect client that has the +# needed session information). For example, Disconnect message can be used to +# request an associated station to be disconnected. +# +# This is disabled by default. Set radius_das_port to non-zero UDP port +# number to enable. +#radius_das_port=3799 +# +# DAS client (the host that can send Disconnect/CoA requests) and shared secret +#radius_das_client=192.168.1.123 shared secret here +# +# DAS Event-Timestamp time window in seconds +#radius_das_time_window=300 +# +# DAS require Event-Timestamp +#radius_das_require_event_timestamp=1 +# +# DAS require Message-Authenticator +#radius_das_require_message_authenticator=1 + +##### RADIUS authentication server configuration ############################## + +# hostapd can be used as a RADIUS authentication server for other hosts. This +# requires that the integrated EAP server is also enabled and both +# authentication services are sharing the same configuration. + +# File name of the RADIUS clients configuration for the RADIUS server. If this +# commented out, RADIUS server is disabled. +#radius_server_clients=/etc/hostapd.radius_clients + +# The UDP port number for the RADIUS authentication server +#radius_server_auth_port=1812 + +# The UDP port number for the RADIUS accounting server +# Commenting this out or setting this to 0 can be used to disable RADIUS +# accounting while still enabling RADIUS authentication. +#radius_server_acct_port=1813 + +# Use IPv6 with RADIUS server (IPv4 will also be supported using IPv6 API) +#radius_server_ipv6=1 + + +##### WPA/IEEE 802.11i configuration ########################################## + +# Enable WPA. Setting this variable configures the AP to require WPA (either +# WPA-PSK or WPA-RADIUS/EAP based on other configuration). For WPA-PSK, either +# wpa_psk or wpa_passphrase must be set and wpa_key_mgmt must include WPA-PSK. +# Instead of wpa_psk / wpa_passphrase, wpa_psk_radius might suffice. +# For WPA-RADIUS/EAP, ieee8021x must be set (but without dynamic WEP keys), +# RADIUS authentication server must be configured, and WPA-EAP must be included +# in wpa_key_mgmt. +# This field is a bit field that can be used to enable WPA (IEEE 802.11i/D3.0) +# and/or WPA2 (full IEEE 802.11i/RSN): +# bit0 = WPA +# bit1 = IEEE 802.11i/RSN (WPA2) (dot11RSNAEnabled) +wpa=2 + +# WPA pre-shared keys for WPA-PSK. This can be either entered as a 256-bit +# secret in hex format (64 hex digits), wpa_psk, or as an ASCII passphrase +# (8..63 characters) that will be converted to PSK. This conversion uses SSID +# so the PSK changes when ASCII passphrase is used and the SSID is changed. +# wpa_psk (dot11RSNAConfigPSKValue) +# wpa_passphrase (dot11RSNAConfigPSKPassPhrase) +#wpa_psk=0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef +wpa_passphrase=4e633e7fede5 + +# Optionally, WPA PSKs can be read from a separate text file (containing list +# of (PSK,MAC address) pairs. This allows more than one PSK to be configured. +# Use absolute path name to make sure that the files can be read on SIGHUP +# configuration reloads. +#wpa_psk_file=/etc/hostapd.wpa_psk + +# Optionally, WPA passphrase can be received from RADIUS authentication server +# This requires macaddr_acl to be set to 2 (RADIUS) +# 0 = disabled (default) +# 1 = optional; use default passphrase/psk if RADIUS server does not include +# Tunnel-Password +# 2 = required; reject authentication if RADIUS server does not include +# Tunnel-Password +#wpa_psk_radius=0 + +# Set of accepted key management algorithms (WPA-PSK, WPA-EAP, or both). The +# entries are separated with a space. WPA-PSK-SHA256 and WPA-EAP-SHA256 can be +# added to enable SHA256-based stronger algorithms. +# FILS-SHA256 = Fast Initial Link Setup with SHA256 +# FILS-SHA384 = Fast Initial Link Setup with SHA384 +# FT-FILS-SHA256 = FT and Fast Initial Link Setup with SHA256 +# FT-FILS-SHA384 = FT and Fast Initial Link Setup with SHA384 +# (dot11RSNAConfigAuthenticationSuitesTable) +#wpa_key_mgmt=WPA-PSK WPA-EAP + +# Set of accepted cipher suites (encryption algorithms) for pairwise keys +# (unicast packets). This is a space separated list of algorithms: +# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0] +# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0] +# Group cipher suite (encryption algorithm for broadcast and multicast frames) +# is automatically selected based on this configuration. If only CCMP is +# allowed as the pairwise cipher, group cipher will also be CCMP. Otherwise, +# TKIP will be used as the group cipher. +# (dot11RSNAConfigPairwiseCiphersTable) +# Pairwise cipher for WPA (v1) (default: TKIP) +#wpa_pairwise=TKIP CCMP +# Pairwise cipher for RSN/WPA2 (default: use wpa_pairwise value) +rsn_pairwise=CCMP + +# Time interval for rekeying GTK (broadcast/multicast encryption keys) in +# seconds. (dot11RSNAConfigGroupRekeyTime) +# This defaults to 86400 seconds (once per day) when using CCMP/GCMP as the +# group cipher and 600 seconds (once per 10 minutes) when using TKIP as the +# group cipher. +wpa_group_rekey=86400 + +# Rekey GTK when any STA that possesses the current GTK is leaving the BSS. +# (dot11RSNAConfigGroupRekeyStrict) +#wpa_strict_rekey=1 + +# The number of times EAPOL-Key Message 1/2 in the RSN Group Key Handshake is +#retried per GTK Handshake attempt. (dot11RSNAConfigGroupUpdateCount) +# This value should only be increased when stations are constantly +# deauthenticated during GTK rekeying with the log message +# "group key handshake failed...". +# You should consider to also increase wpa_pairwise_update_count then. +# Range 1..4294967295; default: 4 +#wpa_group_update_count=4 + +# Time interval for rekeying GMK (master key used internally to generate GTKs +# (in seconds). +#wpa_gmk_rekey=86400 + +# Maximum lifetime for PTK in seconds. This can be used to enforce rekeying of +# PTK to mitigate some attacks against TKIP deficiencies. +#wpa_ptk_rekey=600 + +# The number of times EAPOL-Key Message 1/4 and Message 3/4 in the RSN 4-Way +# Handshake are retried per 4-Way Handshake attempt. +# (dot11RSNAConfigPairwiseUpdateCount) +# Range 1..4294967295; default: 4 +#wpa_pairwise_update_count=4 + +# Enable IEEE 802.11i/RSN/WPA2 pre-authentication. This is used to speed up +# roaming be pre-authenticating IEEE 802.1X/EAP part of the full RSN +# authentication and key handshake before actually associating with a new AP. +# (dot11RSNAPreauthenticationEnabled) +#rsn_preauth=1 +# +# Space separated list of interfaces from which pre-authentication frames are +# accepted (e.g., 'eth0' or 'eth0 wlan0wds0'. This list should include all +# interface that are used for connections to other APs. This could include +# wired interfaces and WDS links. The normal wireless data interface towards +# associated stations (e.g., wlan0) should not be added, since +# pre-authentication is only used with APs other than the currently associated +# one. +#rsn_preauth_interfaces=eth0 + +# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e) is +# allowed. This is only used with RSN/WPA2. +# 0 = disabled (default) +# 1 = enabled +#peerkey=1 + +# ieee80211w: Whether management frame protection (MFP) is enabled +# 0 = disabled (default) +# 1 = optional +# 2 = required +#ieee80211w=0 + +# Group management cipher suite +# Default: AES-128-CMAC (BIP) +# Other options (depending on driver support): +# BIP-GMAC-128 +# BIP-GMAC-256 +# BIP-CMAC-256 +# Note: All the stations connecting to the BSS will also need to support the +# selected cipher. The default AES-128-CMAC is the only option that is commonly +# available in deployed devices. +#group_mgmt_cipher=AES-128-CMAC + +# Association SA Query maximum timeout (in TU = 1.024 ms; for MFP) +# (maximum time to wait for a SA Query response) +# dot11AssociationSAQueryMaximumTimeout, 1...4294967295 +#assoc_sa_query_max_timeout=1000 + +# Association SA Query retry timeout (in TU = 1.024 ms; for MFP) +# (time between two subsequent SA Query requests) +# dot11AssociationSAQueryRetryTimeout, 1...4294967295 +#assoc_sa_query_retry_timeout=201 + +# disable_pmksa_caching: Disable PMKSA caching +# This parameter can be used to disable caching of PMKSA created through EAP +# authentication. RSN preauthentication may still end up using PMKSA caching if +# it is enabled (rsn_preauth=1). +# 0 = PMKSA caching enabled (default) +# 1 = PMKSA caching disabled +#disable_pmksa_caching=0 + +# okc: Opportunistic Key Caching (aka Proactive Key Caching) +# Allow PMK cache to be shared opportunistically among configured interfaces +# and BSSes (i.e., all configurations within a single hostapd process). +# 0 = disabled (default) +# 1 = enabled +#okc=1 + +# SAE threshold for anti-clogging mechanism (dot11RSNASAEAntiCloggingThreshold) +# This parameter defines how many open SAE instances can be in progress at the +# same time before the anti-clogging mechanism is taken into use. +#sae_anti_clogging_threshold=5 + +# Enabled SAE finite cyclic groups +# SAE implementation are required to support group 19 (ECC group defined over a +# 256-bit prime order field). All groups that are supported by the +# implementation are enabled by default. This configuration parameter can be +# used to specify a limited set of allowed groups. The group values are listed +# in the IANA registry: +# http://www.iana.org/assignments/ipsec-registry/ipsec-registry.xml#ipsec-registry-9 +#sae_groups=19 20 21 25 26 + +# FILS Cache Identifier (16-bit value in hexdump format) +#fils_cache_id=0011 + +# FILS Realm Information +# One or more FILS realms need to be configured when FILS is enabled. This list +# of realms is used to define which realms (used in keyName-NAI by the client) +# can be used with FILS shared key authentication for ERP. +#fils_realm=example.com +#fils_realm=example.org + +# FILS DH Group for PFS +# 0 = PFS disabled with FILS shared key authentication (default) +# 1-65535 DH Group to use for FILS PFS +#fils_dh_group=0 + +# DHCP server for FILS HLP +# If configured, hostapd will act as a DHCP relay for all FILS HLP requests +# that include a DHCPDISCOVER message and send them to the specific DHCP +# server for processing. hostapd will then wait for a response from that server +# before replying with (Re)Association Response frame that encapsulates this +# DHCP response. own_ip_addr is used as the local address for the communication +# with the DHCP server. +#dhcp_server=127.0.0.1 + +# DHCP server UDP port +# Default: 67 +#dhcp_server_port=67 + +# DHCP relay UDP port on the local device +# Default: 67; 0 means not to bind any specific port +#dhcp_relay_port=67 + +# DHCP rapid commit proxy +# If set to 1, this enables hostapd to act as a DHCP rapid commit proxy to +# allow the rapid commit options (two message DHCP exchange) to be used with a +# server that supports only the four message DHCP exchange. This is disabled by +# default (= 0) and can be enabled by setting this to 1. +#dhcp_rapid_commit_proxy=0 + +# Wait time for FILS HLP (dot11HLPWaitTime) in TUs +# default: 30 TUs (= 30.72 milliseconds) +#fils_hlp_wait_time=30 + +##### IEEE 802.11r configuration ############################################## + +# Mobility Domain identifier (dot11FTMobilityDomainID, MDID) +# MDID is used to indicate a group of APs (within an ESS, i.e., sharing the +# same SSID) between which a STA can use Fast BSS Transition. +# 2-octet identifier as a hex string. +#mobility_domain=a1b2 + +# PMK-R0 Key Holder identifier (dot11FTR0KeyHolderID) +# 1 to 48 octet identifier. +# This is configured with nas_identifier (see RADIUS client section above). + +# Default lifetime of the PMK-RO in minutes; range 1..65535 +# (dot11FTR0KeyLifetime) +#r0_key_lifetime=10000 + +# PMK-R1 Key Holder identifier (dot11FTR1KeyHolderID) +# 6-octet identifier as a hex string. +# Defaults to BSSID. +#r1_key_holder=000102030405 + +# Reassociation deadline in time units (TUs / 1.024 ms; range 1000..65535) +# (dot11FTReassociationDeadline) +#reassociation_deadline=1000 + +# List of R0KHs in the same Mobility Domain +# format: <256-bit key as hex string> +# This list is used to map R0KH-ID (NAS Identifier) to a destination MAC +# address when requesting PMK-R1 key from the R0KH that the STA used during the +# Initial Mobility Domain Association. +#r0kh=02:01:02:03:04:05 r0kh-1.example.com 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f +#r0kh=02:01:02:03:04:06 r0kh-2.example.com 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff +# And so on.. One line per R0KH. +# Wildcard entry: +# Upon receiving a response from R0KH, it will be added to this list, so +# subsequent requests won't be broadcast. If R0KH does not reply, it will be +# blacklisted. +#r0kh=ff:ff:ff:ff:ff:ff * 00112233445566778899aabbccddeeff + +# List of R1KHs in the same Mobility Domain +# format: <256-bit key as hex string> +# This list is used to map R1KH-ID to a destination MAC address when sending +# PMK-R1 key from the R0KH. This is also the list of authorized R1KHs in the MD +# that can request PMK-R1 keys. +#r1kh=02:01:02:03:04:05 02:11:22:33:44:55 000102030405060708090a0b0c0d0e0f000102030405060708090a0b0c0d0e0f +#r1kh=02:01:02:03:04:06 02:11:22:33:44:66 00112233445566778899aabbccddeeff00112233445566778899aabbccddeeff +# And so on.. One line per R1KH. +# Wildcard entry: +# Upon receiving a request from an R1KH not yet known, it will be added to this +# list and thus will receive push notifications. +#r1kh=00:00:00:00:00:00 00:00:00:00:00:00 00112233445566778899aabbccddeeff + +# Timeout (seconds) for newly discovered R0KH/R1KH (see wildcard entries above) +# Special values: 0 -> do not expire +# Warning: do not cache implies no sequence number validation with wildcards +#rkh_pos_timeout=86400 (default = 1 day) + +# Timeout (milliseconds) for requesting PMK-R1 from R0KH using PULL request +# and number of retries. +#rkh_pull_timeout=1000 (default = 1 second) +#rkh_pull_retries=4 (default) + +# Timeout (seconds) for non replying R0KH (see wildcard entries above) +# Special values: 0 -> do not cache +# default: 60 seconds +#rkh_neg_timeout=60 + +# Note: The R0KH/R1KH keys used to be 128-bit in length before the message +# format was changed. That shorter key length is still supported for backwards +# compatibility of the configuration files. If such a shorter key is used, a +# 256-bit key is derived from it. For new deployments, configuring the 256-bit +# key is recommended. + +# Whether PMK-R1 push is enabled at R0KH +# 0 = do not push PMK-R1 to all configured R1KHs (default) +# 1 = push PMK-R1 to all configured R1KHs whenever a new PMK-R0 is derived +#pmk_r1_push=1 + +# Whether to enable FT-over-DS +# 0 = FT-over-DS disabled +# 1 = FT-over-DS enabled (default) +#ft_over_ds=1 + +# Whether to generate FT response locally for PSK networks +# This avoids use of PMK-R1 push/pull from other APs with FT-PSK networks as +# the required information (PSK and other session data) is already locally +# available. +# 0 = disabled (default) +# 1 = enabled +#ft_psk_generate_local=0 + +##### Neighbor table ########################################################## +# Maximum number of entries kept in AP table (either for neigbor table or for +# detecting Overlapping Legacy BSS Condition). The oldest entry will be +# removed when adding a new entry that would make the list grow over this +# limit. Note! WFA certification for IEEE 802.11g requires that OLBC is +# enabled, so this field should not be set to 0 when using IEEE 802.11g. +# default: 255 +#ap_table_max_size=255 + +# Number of seconds of no frames received after which entries may be deleted +# from the AP table. Since passive scanning is not usually performed frequently +# this should not be set to very small value. In addition, there is no +# guarantee that every scan cycle will receive beacon frames from the +# neighboring APs. +# default: 60 +#ap_table_expiration_time=3600 + +# Maximum number of stations to track on the operating channel +# This can be used to detect dualband capable stations before they have +# associated, e.g., to provide guidance on which colocated BSS to use. +# Default: 0 (disabled) +#track_sta_max_num=100 + +# Maximum age of a station tracking entry in seconds +# Default: 180 +#track_sta_max_age=180 + +# Do not reply to group-addressed Probe Request from a station that was seen on +# another radio. +# Default: Disabled +# +# This can be used with enabled track_sta_max_num configuration on another +# interface controlled by the same hostapd process to restrict Probe Request +# frame handling from replying to group-addressed Probe Request frames from a +# station that has been detected to be capable of operating on another band, +# e.g., to try to reduce likelihood of the station selecting a 2.4 GHz BSS when +# the AP operates both a 2.4 GHz and 5 GHz BSS concurrently. +# +# Note: Enabling this can cause connectivity issues and increase latency for +# discovering the AP. +#no_probe_resp_if_seen_on=wlan1 + +# Reject authentication from a station that was seen on another radio. +# Default: Disabled +# +# This can be used with enabled track_sta_max_num configuration on another +# interface controlled by the same hostapd process to reject authentication +# attempts from a station that has been detected to be capable of operating on +# another band, e.g., to try to reduce likelihood of the station selecting a +# 2.4 GHz BSS when the AP operates both a 2.4 GHz and 5 GHz BSS concurrently. +# +# Note: Enabling this can cause connectivity issues and increase latency for +# connecting with the AP. +#no_auth_if_seen_on=wlan1 + +##### Wi-Fi Protected Setup (WPS) ############################################# + +# WPS state +# 0 = WPS disabled (default) +# 1 = WPS enabled, not configured +# 2 = WPS enabled, configured +#wps_state=2 + +# Whether to manage this interface independently from other WPS interfaces +# By default, a single hostapd process applies WPS operations to all configured +# interfaces. This parameter can be used to disable that behavior for a subset +# of interfaces. If this is set to non-zero for an interface, WPS commands +# issued on that interface do not apply to other interfaces and WPS operations +# performed on other interfaces do not affect this interface. +#wps_independent=0 + +# AP can be configured into a locked state where new WPS Registrar are not +# accepted, but previously authorized Registrars (including the internal one) +# can continue to add new Enrollees. +ap_setup_locked=1 + +# Universally Unique IDentifier (UUID; see RFC 4122) of the device +# This value is used as the UUID for the internal WPS Registrar. If the AP +# is also using UPnP, this value should be set to the device's UPnP UUID. +# If not configured, UUID will be generated based on the local MAC address. +#uuid=12345678-9abc-def0-1234-56789abcdef0 + +# Note: If wpa_psk_file is set, WPS is used to generate random, per-device PSKs +# that will be appended to the wpa_psk_file. If wpa_psk_file is not set, the +# default PSK (wpa_psk/wpa_passphrase) will be delivered to Enrollees. Use of +# per-device PSKs is recommended as the more secure option (i.e., make sure to +# set wpa_psk_file when using WPS with WPA-PSK). + +# When an Enrollee requests access to the network with PIN method, the Enrollee +# PIN will need to be entered for the Registrar. PIN request notifications are +# sent to hostapd ctrl_iface monitor. In addition, they can be written to a +# text file that could be used, e.g., to populate the AP administration UI with +# pending PIN requests. If the following variable is set, the PIN requests will +# be written to the configured file. +#wps_pin_requests=/var/run/hostapd_wps_pin_requests + +# Device Name +# User-friendly description of device; up to 32 octets encoded in UTF-8 +#device_name=Wireless AP + +# Manufacturer +# The manufacturer of the device (up to 64 ASCII characters) +#manufacturer=Qualcomm + +# Model Name +# Model of the device (up to 32 ASCII characters) +#model_name=QualcommSoftAP + +# Model Number +# Additional device description (up to 32 ASCII characters) +#model_number=123 + +# Serial Number +# Serial number of the device (up to 32 characters) +#serial_number=12345 + +# Primary Device Type +# Used format: -- +# categ = Category as an integer value +# OUI = OUI and type octet as a 4-octet hex-encoded value; 0050F204 for +# default WPS OUI +# subcateg = OUI-specific Sub Category as an integer value +# Examples: +# 1-0050F204-1 (Computer / PC) +# 1-0050F204-2 (Computer / Server) +# 5-0050F204-1 (Storage / NAS) +# 6-0050F204-1 (Network Infrastructure / AP) +#device_type=6-0050F204-1 + +# OS Version +# 4-octet operating system version number (hex string) +#os_version=01020300 + +# Config Methods +# List of the supported configuration methods +# Available methods: usba ethernet label display ext_nfc_token int_nfc_token +# nfc_interface push_button keypad virtual_display physical_display +# virtual_push_button physical_push_button +config_methods=label display push_button keypad + +# WPS capability discovery workaround for PBC with Windows 7 +# Windows 7 uses incorrect way of figuring out AP's WPS capabilities by acting +# as a Registrar and using M1 from the AP. The config methods attribute in that +# message is supposed to indicate only the configuration method supported by +# the AP in Enrollee role, i.e., to add an external Registrar. For that case, +# PBC shall not be used and as such, the PushButton config method is removed +# from M1 by default. If pbc_in_m1=1 is included in the configuration file, +# the PushButton config method is left in M1 (if included in config_methods +# parameter) to allow Windows 7 to use PBC instead of PIN (e.g., from a label +# in the AP). +#pbc_in_m1=1 + +# Static access point PIN for initial configuration and adding Registrars +# If not set, hostapd will not allow external WPS Registrars to control the +# access point. The AP PIN can also be set at runtime with hostapd_cli +# wps_ap_pin command. Use of temporary (enabled by user action) and random +# AP PIN is much more secure than configuring a static AP PIN here. As such, +# use of the ap_pin parameter is not recommended if the AP device has means for +# displaying a random PIN. +#ap_pin=12345670 + +# Skip building of automatic WPS credential +# This can be used to allow the automatically generated Credential attribute to +# be replaced with pre-configured Credential(s). +#skip_cred_build=1 + +# Additional Credential attribute(s) +# This option can be used to add pre-configured Credential attributes into M8 +# message when acting as a Registrar. If skip_cred_build=1, this data will also +# be able to override the Credential attribute that would have otherwise been +# automatically generated based on network configuration. This configuration +# option points to an external file that much contain the WPS Credential +# attribute(s) as binary data. +#extra_cred=hostapd.cred + +# Credential processing +# 0 = process received credentials internally (default) +# 1 = do not process received credentials; just pass them over ctrl_iface to +# external program(s) +# 2 = process received credentials internally and pass them over ctrl_iface +# to external program(s) +# Note: With wps_cred_processing=1, skip_cred_build should be set to 1 and +# extra_cred be used to provide the Credential data for Enrollees. +# +# wps_cred_processing=1 will disabled automatic updates of hostapd.conf file +# both for Credential processing and for marking AP Setup Locked based on +# validation failures of AP PIN. An external program is responsible on updating +# the configuration appropriately in this case. +#wps_cred_processing=0 + +# AP Settings Attributes for M7 +# By default, hostapd generates the AP Settings Attributes for M7 based on the +# current configuration. It is possible to override this by providing a file +# with pre-configured attributes. This is similar to extra_cred file format, +# but the AP Settings attributes are not encapsulated in a Credential +# attribute. +#ap_settings=hostapd.ap_settings + +# WPS UPnP interface +# If set, support for external Registrars is enabled. +#upnp_iface=br0 + +# Friendly Name (required for UPnP) +# Short description for end use. Should be less than 64 characters. +#friendly_name=Qualcomm Access Point + +# Manufacturer URL (optional for UPnP) +#manufacturer_url=http://www.qualcomm.com/ + +# Model Description (recommended for UPnP) +# Long description for end user. Should be less than 128 characters. +#model_description=Wireless Access Point + +# Model URL (optional for UPnP) +#model_url=http://www.qualcomm.com/ + +# Universal Product Code (optional for UPnP) +# 12-digit, all-numeric code that identifies the consumer package. +#upc=123456789012 + +# WPS RF Bands (a = 5G, b = 2.4G, g = 2.4G, ag = dual band, ad = 60 GHz) +# This value should be set according to RF band(s) supported by the AP if +# hw_mode is not set. For dual band dual concurrent devices, this needs to be +# set to ag to allow both RF bands to be advertized. +#wps_rf_bands=ag + +# NFC password token for WPS +# These parameters can be used to configure a fixed NFC password token for the +# AP. This can be generated, e.g., with nfc_pw_token from wpa_supplicant. When +# these parameters are used, the AP is assumed to be deployed with a NFC tag +# that includes the matching NFC password token (e.g., written based on the +# NDEF record from nfc_pw_token). +# +#wps_nfc_dev_pw_id: Device Password ID (16..65535) +#wps_nfc_dh_pubkey: Hexdump of DH Public Key +#wps_nfc_dh_privkey: Hexdump of DH Private Key +#wps_nfc_dev_pw: Hexdump of Device Password + +##### Wi-Fi Direct (P2P) ###################################################### + +# Enable P2P Device management +#manage_p2p=1 + +# Allow cross connection +#allow_cross_connection=1 + +#### TDLS (IEEE 802.11z-2010) ################################################# + +# Prohibit use of TDLS in this BSS +#tdls_prohibit=1 + +# Prohibit use of TDLS Channel Switching in this BSS +#tdls_prohibit_chan_switch=1 + +##### IEEE 802.11v-2011 ####################################################### + +# Time advertisement +# 0 = disabled (default) +# 2 = UTC time at which the TSF timer is 0 +#time_advertisement=2 + +# Local time zone as specified in 8.3 of IEEE Std 1003.1-2004: +# stdoffset[dst[offset][,start[/time],end[/time]]] +#time_zone=EST5 + +# WNM-Sleep Mode (extended sleep mode for stations) +# 0 = disabled (default) +# 1 = enabled (allow stations to use WNM-Sleep Mode) +#wnm_sleep_mode=1 + +# BSS Transition Management +# 0 = disabled (default) +# 1 = enabled +#bss_transition=1 + +# Proxy ARP +# 0 = disabled (default) +# 1 = enabled +#proxy_arp=1 + +# IPv6 Neighbor Advertisement multicast-to-unicast conversion +# This can be used with Proxy ARP to allow multicast NAs to be forwarded to +# associated STAs using link layer unicast delivery. +# 0 = disabled (default) +# 1 = enabled +#na_mcast_to_ucast=0 + +##### IEEE 802.11u-2011 ####################################################### + +# Enable Interworking service +#interworking=1 + +# Access Network Type +# 0 = Private network +# 1 = Private network with guest access +# 2 = Chargeable public network +# 3 = Free public network +# 4 = Personal device network +# 5 = Emergency services only network +# 14 = Test or experimental +# 15 = Wildcard +#access_network_type=0 + +# Whether the network provides connectivity to the Internet +# 0 = Unspecified +# 1 = Network provides connectivity to the Internet +#internet=1 + +# Additional Step Required for Access +# Note: This is only used with open network, i.e., ASRA shall ne set to 0 if +# RSN is used. +#asra=0 + +# Emergency services reachable +#esr=0 + +# Unauthenticated emergency service accessible +#uesa=0 + +# Venue Info (optional) +# The available values are defined in IEEE Std 802.11u-2011, 7.3.1.34. +# Example values (group,type): +# 0,0 = Unspecified +# 1,7 = Convention Center +# 1,13 = Coffee Shop +# 2,0 = Unspecified Business +# 7,1 Private Residence +#venue_group=7 +#venue_type=1 + +# Homogeneous ESS identifier (optional; dot11HESSID) +# If set, this shall be identifical to one of the BSSIDs in the homogeneous +# ESS and this shall be set to the same value across all BSSs in homogeneous +# ESS. +#hessid=02:03:04:05:06:07 + +# Roaming Consortium List +# Arbitrary number of Roaming Consortium OIs can be configured with each line +# adding a new OI to the list. The first three entries are available through +# Beacon and Probe Response frames. Any additional entry will be available only +# through ANQP queries. Each OI is between 3 and 15 octets and is configured as +# a hexstring. +#roaming_consortium=021122 +#roaming_consortium=2233445566 + +# Venue Name information +# This parameter can be used to configure one or more Venue Name Duples for +# Venue Name ANQP information. Each entry has a two or three character language +# code (ISO-639) separated by colon from the venue name string. +# Note that venue_group and venue_type have to be set for Venue Name +# information to be complete. +#venue_name=eng:Example venue +#venue_name=fin:Esimerkkipaikka +# Alternative format for language:value strings: +# (double quoted string, printf-escaped string) +#venue_name=P"eng:Example\nvenue" + +# Network Authentication Type +# This parameter indicates what type of network authentication is used in the +# network. +# format: [redirect URL] +# Network Authentication Type Indicator values: +# 00 = Acceptance of terms and conditions +# 01 = On-line enrollment supported +# 02 = http/https redirection +# 03 = DNS redirection +#network_auth_type=00 +#network_auth_type=02http://www.example.com/redirect/me/here/ + +# IP Address Type Availability +# format: <1-octet encoded value as hex str> +# (ipv4_type & 0x3f) << 2 | (ipv6_type & 0x3) +# ipv4_type: +# 0 = Address type not available +# 1 = Public IPv4 address available +# 2 = Port-restricted IPv4 address available +# 3 = Single NATed private IPv4 address available +# 4 = Double NATed private IPv4 address available +# 5 = Port-restricted IPv4 address and single NATed IPv4 address available +# 6 = Port-restricted IPv4 address and double NATed IPv4 address available +# 7 = Availability of the address type is not known +# ipv6_type: +# 0 = Address type not available +# 1 = Address type available +# 2 = Availability of the address type not known +#ipaddr_type_availability=14 + +# Domain Name +# format: [,] +#domain_name=example.com,another.example.com,yet-another.example.com + +# 3GPP Cellular Network information +# format: [;][;...] +#anqp_3gpp_cell_net=244,91;310,026;234,56 + +# NAI Realm information +# One or more realm can be advertised. Each nai_realm line adds a new realm to +# the set. These parameters provide information for stations using Interworking +# network selection to allow automatic connection to a network based on +# credentials. +# format: ,[,][,][,...] +# encoding: +# 0 = Realm formatted in accordance with IETF RFC 4282 +# 1 = UTF-8 formatted character string that is not formatted in +# accordance with IETF RFC 4282 +# NAI Realm(s): Semi-colon delimited NAI Realm(s) +# EAP Method: [:<[AuthParam1:Val1]>][<[AuthParam2:Val2]>][...] +# EAP Method types, see: +# http://www.iana.org/assignments/eap-numbers/eap-numbers.xhtml#eap-numbers-4 +# AuthParam (Table 8-188 in IEEE Std 802.11-2012): +# ID 2 = Non-EAP Inner Authentication Type +# 1 = PAP, 2 = CHAP, 3 = MSCHAP, 4 = MSCHAPV2 +# ID 3 = Inner authentication EAP Method Type +# ID 5 = Credential Type +# 1 = SIM, 2 = USIM, 3 = NFC Secure Element, 4 = Hardware Token, +# 5 = Softoken, 6 = Certificate, 7 = username/password, 9 = Anonymous, +# 10 = Vendor Specific +#nai_realm=0,example.com;example.net +# EAP methods EAP-TLS with certificate and EAP-TTLS/MSCHAPv2 with +# username/password +#nai_realm=0,example.org,13[5:6],21[2:4][5:7] + +# Arbitrary ANQP-element configuration +# Additional ANQP-elements with arbitrary values can be defined by specifying +# their contents in raw format as a hexdump of the payload. Note that these +# values will override ANQP-element contents that may have been specified in the +# more higher layer configuration parameters listed above. +# format: anqp_elem=: +# For example, AP Geospatial Location ANQP-element with unknown location: +#anqp_elem=265:0000 +# For example, AP Civic Location ANQP-element with unknown location: +#anqp_elem=266:000000 + +# GAS Address 3 behavior +# 0 = P2P specification (Address3 = AP BSSID) workaround enabled by default +# based on GAS request Address3 +# 1 = IEEE 802.11 standard compliant regardless of GAS request Address3 +# 2 = Force non-compliant behavior (Address3 = AP BSSID for all cases) +#gas_address3=0 + +# QoS Map Set configuration +# +# Comma delimited QoS Map Set in decimal values +# (see IEEE Std 802.11-2012, 8.4.2.97) +# +# format: +# [,],... +# +# There can be up to 21 optional DSCP Exceptions which are pairs of DSCP Value +# (0..63 or 255) and User Priority (0..7). This is followed by eight DSCP Range +# descriptions with DSCP Low Value and DSCP High Value pairs (0..63 or 255) for +# each UP starting from 0. If both low and high value are set to 255, the +# corresponding UP is not used. +# +# default: not set +#qos_map_set=53,2,22,6,8,15,0,7,255,255,16,31,32,39,255,255,40,47,255,255 + +##### Hotspot 2.0 ############################################################# + +# Enable Hotspot 2.0 support +#hs20=1 + +# Disable Downstream Group-Addressed Forwarding (DGAF) +# This can be used to configure a network where no group-addressed frames are +# allowed. The AP will not forward any group-address frames to the stations and +# random GTKs are issued for each station to prevent associated stations from +# forging such frames to other stations in the BSS. +#disable_dgaf=1 + +# OSU Server-Only Authenticated L2 Encryption Network +#osen=1 + +# ANQP Domain ID (0..65535) +# An identifier for a set of APs in an ESS that share the same common ANQP +# information. 0 = Some of the ANQP information is unique to this AP (default). +#anqp_domain_id=1234 + +# Deauthentication request timeout +# If the RADIUS server indicates that the station is not allowed to connect to +# the BSS/ESS, the AP can allow the station some time to download a +# notification page (URL included in the message). This parameter sets that +# timeout in seconds. +#hs20_deauth_req_timeout=60 + +# Operator Friendly Name +# This parameter can be used to configure one or more Operator Friendly Name +# Duples. Each entry has a two or three character language code (ISO-639) +# separated by colon from the operator friendly name string. +#hs20_oper_friendly_name=eng:Example operator +#hs20_oper_friendly_name=fin:Esimerkkioperaattori + +# Connection Capability +# This can be used to advertise what type of IP traffic can be sent through the +# hotspot (e.g., due to firewall allowing/blocking protocols/ports). +# format: :: +# IP Protocol: 1 = ICMP, 6 = TCP, 17 = UDP +# Port Number: 0..65535 +# Status: 0 = Closed, 1 = Open, 2 = Unknown +# Each hs20_conn_capab line is added to the list of advertised tuples. +#hs20_conn_capab=1:0:2 +#hs20_conn_capab=6:22:1 +#hs20_conn_capab=17:5060:0 + +# WAN Metrics +# format: :
:
    :
    :
      : +# WAN Info: B0-B1: Link Status, B2: Symmetric Link, B3: At Capabity +# (encoded as two hex digits) +# Link Status: 1 = Link up, 2 = Link down, 3 = Link in test state +# Downlink Speed: Estimate of WAN backhaul link current downlink speed in kbps; +# 1..4294967295; 0 = unknown +# Uplink Speed: Estimate of WAN backhaul link current uplink speed in kbps +# 1..4294967295; 0 = unknown +# Downlink Load: Current load of downlink WAN connection (scaled to 255 = 100%) +# Uplink Load: Current load of uplink WAN connection (scaled to 255 = 100%) +# Load Measurement Duration: Duration for measuring downlink/uplink load in +# tenths of a second (1..65535); 0 if load cannot be determined +#hs20_wan_metrics=01:8000:1000:80:240:3000 + +# Operating Class Indication +# List of operating classes the BSSes in this ESS use. The Global operating +# classes in Table E-4 of IEEE Std 802.11-2012 Annex E define the values that +# can be used in this. +# format: hexdump of operating class octets +# for example, operating classes 81 (2.4 GHz channels 1-13) and 115 (5 GHz +# channels 36-48): +#hs20_operating_class=5173 + +# OSU icons +# ::::: +#hs20_icon=32:32:eng:image/png:icon32:/tmp/icon32.png +#hs20_icon=64:64:eng:image/png:icon64:/tmp/icon64.png + +# OSU SSID (see ssid2 for format description) +# This is the SSID used for all OSU connections to all the listed OSU Providers. +#osu_ssid="example" + +# OSU Providers +# One or more sets of following parameter. Each OSU provider is started by the +# mandatory osu_server_uri item. The other parameters add information for the +# last added OSU provider. +# +#osu_server_uri=https://example.com/osu/ +#osu_friendly_name=eng:Example operator +#osu_friendly_name=fin:Esimerkkipalveluntarjoaja +#osu_nai=anonymous@example.com +#osu_method_list=1 0 +#osu_icon=icon32 +#osu_icon=icon64 +#osu_service_desc=eng:Example services +#osu_service_desc=fin:Esimerkkipalveluja +# +#osu_server_uri=... + +##### Multiband Operation (MBO) ############################################### +# +# MBO enabled +# 0 = disabled (default) +# 1 = enabled +#mbo=1 +# +# Cellular data connection preference +# 0 = Excluded - AP does not want STA to use the cellular data connection +# 1 = AP prefers the STA not to use cellular data connection +# 255 = AP prefers the STA to use cellular data connection +#mbo_cell_data_conn_pref=1 + +##### Optimized Connectivity Experience (OCE) ################################# +# +# Enable OCE specific features (bitmap) +# BIT(0) - Reserved +# Set BIT(1) (= 2) to enable OCE in STA-CFON mode +# Set BIT(2) (= 4) to enable OCE in AP mode +# Default is 0 = OCE disabled +#oce=0 + +##### Fast Session Transfer (FST) support ##################################### +# +# The options in this section are only available when the build configuration +# option CONFIG_FST is set while compiling hostapd. They allow this interface +# to be a part of FST setup. +# +# FST is the transfer of a session from a channel to another channel, in the +# same or different frequency bands. +# +# For detals, see IEEE Std 802.11ad-2012. + +# Identifier of an FST Group the interface belongs to. +#fst_group_id=bond0 + +# Interface priority within the FST Group. +# Announcing a higher priority for an interface means declaring it more +# preferable for FST switch. +# fst_priority is in 1..255 range with 1 being the lowest priority. +#fst_priority=100 + +# Default LLT value for this interface in milliseconds. The value used in case +# no value provided during session setup. Default is 50 ms. +# fst_llt is in 1..4294967 range (due to spec limitation, see 10.32.2.2 +# Transitioning between states). +#fst_llt=100 + +##### Radio measurements / location ########################################### + +# The content of a LCI measurement subelement +#lci= + +# The content of a location civic measurement subelement +#civic= + +# Enable neighbor report via radio measurements +#rrm_neighbor_report=1 + +# Enable beacon report via radio measurements +#rrm_beacon_report=1 + +# Publish fine timing measurement (FTM) responder functionality +# This parameter only controls publishing via Extended Capabilities element. +# Actual functionality is managed outside hostapd. +#ftm_responder=0 + +# Publish fine timing measurement (FTM) initiator functionality +# This parameter only controls publishing via Extended Capabilities element. +# Actual functionality is managed outside hostapd. +#ftm_initiator=0 +# +# Stationary AP config indicates that the AP doesn't move hence location data +# can be considered as always up to date. If configured, LCI data will be sent +# as a radio measurement even if the request doesn't contain a max age element +# that allows sending of such data. Default: 0. +#stationary_ap=0 + +##### TESTING OPTIONS ######################################################### +# +# The options in this section are only available when the build configuration +# option CONFIG_TESTING_OPTIONS is set while compiling hostapd. They allow +# testing some scenarios that are otherwise difficult to reproduce. +# +# Ignore probe requests sent to hostapd with the given probability, must be a +# floating point number in the range [0, 1). +#ignore_probe_probability=0.0 +# +# Ignore authentication frames with the given probability +#ignore_auth_probability=0.0 +# +# Ignore association requests with the given probability +#ignore_assoc_probability=0.0 +# +# Ignore reassociation requests with the given probability +#ignore_reassoc_probability=0.0 +# +# Corrupt Key MIC in GTK rekey EAPOL-Key frames with the given probability +#corrupt_gtk_rekey_mic_probability=0.0 +# +# Include only ECSA IE without CSA IE where possible +# (channel switch operating class is needed) +#ecsa_ie_only=0 + +##### Multiple BSSID support ################################################## +# +# Above configuration is using the default interface (wlan#, or multi-SSID VLAN +# interfaces). Other BSSIDs can be added by using separator 'bss' with +# default interface name to be allocated for the data packets of the new BSS. +# +# hostapd will generate BSSID mask based on the BSSIDs that are +# configured. hostapd will verify that dev_addr & MASK == dev_addr. If this is +# not the case, the MAC address of the radio must be changed before starting +# hostapd (ifconfig wlan0 hw ether ). If a BSSID is configured for +# every secondary BSS, this limitation is not applied at hostapd and other +# masks may be used if the driver supports them (e.g., swap the locally +# administered bit) +# +# BSSIDs are assigned in order to each BSS, unless an explicit BSSID is +# specified using the 'bssid' parameter. +# If an explicit BSSID is specified, it must be chosen such that it: +# - results in a valid MASK that covers it and the dev_addr +# - is not the same as the MAC address of the radio +# - is not the same as any other explicitly specified BSSID +# +# Alternatively, the 'use_driver_iface_addr' parameter can be used to request +# hostapd to use the driver auto-generated interface address (e.g., to use the +# exact MAC addresses allocated to the device). +# +# Not all drivers support multiple BSSes. The exact mechanism for determining +# the driver capabilities is driver specific. With the current (i.e., a recent +# kernel) drivers using nl80211, this information can be checked with "iw list" +# (search for "valid interface combinations"). +# +# Please note that hostapd uses some of the values configured for the first BSS +# as the defaults for the following BSSes. However, it is recommended that all +# BSSes include explicit configuration of all relevant configuration items. +# +#bss=wlan0_0 +#ssid=test2 +# most of the above items can be used here (apart from radio interface specific +# items, like channel) + +#bss=wlan0_1 +#bssid=00:13:10:95:fe:0b +# ... + +wowlan_triggers=any diff --git a/userspace/root/data/misc/wifi/hostapd.deny b/userspace/root/data/misc/wifi/hostapd.deny new file mode 100644 index 0000000..e4b6c09 --- /dev/null +++ b/userspace/root/data/misc/wifi/hostapd.deny @@ -0,0 +1,2 @@ +# List of MAC addresses that are not allowed to authenticate (IEEE 802.11) +# with the AP. diff --git a/userspace/root/data/misc/wifi/p2p_supplicant.conf b/userspace/root/data/misc/wifi/p2p_supplicant.conf new file mode 100644 index 0000000..a6f364b --- /dev/null +++ b/userspace/root/data/misc/wifi/p2p_supplicant.conf @@ -0,0 +1,11 @@ +ctrl_interface=/data/misc/wifi/sockets +disable_scan_offload=1 +update_config=1 +device_name=Android_700b +device_type=10-0050F204-5 +config_methods=display push_button keypad virtual_push_button physical_display +persistent_reconnect=1 +p2p_add_cli_chan=1 +p2p_no_group_iface=1 +bss_max_count=400 +pmf=1 diff --git a/userspace/root/data/misc/wifi/wpa_supplicant.conf b/userspace/root/data/misc/wifi/wpa_supplicant.conf new file mode 100644 index 0000000..dda8e75 --- /dev/null +++ b/userspace/root/data/misc/wifi/wpa_supplicant.conf @@ -0,0 +1,7 @@ +update_config=1 +eapol_version=1 +ap_scan=1 +fast_reauth=1 +pmf=1 +p2p_add_cli_chan=1 +wowlan_triggers=magic_pkt diff --git a/userspace/root/etc/build.prop b/userspace/root/etc/build.prop new file mode 100644 index 0000000..e69de29 diff --git a/userspace/root/etc/default/usbd b/userspace/root/etc/default/usbd new file mode 100644 index 0000000..e69de29 diff --git a/userspace/root/etc/filesystems b/userspace/root/etc/filesystems new file mode 100644 index 0000000..7e6c41c --- /dev/null +++ b/userspace/root/etc/filesystems @@ -0,0 +1,8 @@ +ext4 +ext3 +ext2 +vfat +fat +btrfs +minix +* diff --git a/userspace/root/etc/firmware/K2026090.mem b/userspace/root/etc/firmware/K2026090.mem new file mode 100755 index 0000000..47424d4 Binary files /dev/null and b/userspace/root/etc/firmware/K2026090.mem differ diff --git a/userspace/root/etc/init.d/init_sys_mss b/userspace/root/etc/init.d/init_sys_mss new file mode 100755 index 0000000..8a87223 --- /dev/null +++ b/userspace/root/etc/init.d/init_sys_mss @@ -0,0 +1,26 @@ +#! /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 new file mode 100755 index 0000000..ecfe7a3 --- /dev/null +++ b/userspace/root/etc/init.d/ipa_fws.sh @@ -0,0 +1,21 @@ +#!/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 new file mode 100755 index 0000000..3ed492f --- /dev/null +++ b/userspace/root/etc/init.d/start_cnss_daemon @@ -0,0 +1,43 @@ +#!/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/tftp_server.sh b/userspace/root/etc/init.d/tftp_server.sh new file mode 100755 index 0000000..b3943e9 --- /dev/null +++ b/userspace/root/etc/init.d/tftp_server.sh @@ -0,0 +1,40 @@ +#! /bin/sh + +### BEGIN INIT INFO +# Provides: Qualcomm.com +# Required-Start: +# Required-Stop: +# Default-Start: +# Default-Stop: +# Short-Description: tftp server +# Description: tftp server dasmon +### END INIT INFO +# Copyright (c) 2014 Qualcomm Technologies, Inc. All Rights Reserved. +# Qualcomm Technologies Proprietary and Confidential. + +set -e + +case "$1" in + start) + echo -n "Starting tftp_server: " + while [ ! -e /data/persist/rfs ] ; do sleep 0.1; done + start-stop-daemon -S -b -x /sbin/tftp_server + + echo "done" + ;; + stop) + echo -n "Stopping tftp_server: " + start-stop-daemon -K -n tftp_server + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage tftp_server { 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 new file mode 100755 index 0000000..fc2b95e --- /dev/null +++ b/userspace/root/etc/init.d/wlan @@ -0,0 +1,92 @@ +#!/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 new file mode 100755 index 0000000..8523d0c --- /dev/null +++ b/userspace/root/etc/initscripts/ab_mount.sh @@ -0,0 +1,48 @@ +#!/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 new file mode 100755 index 0000000..c01f11e --- /dev/null +++ b/userspace/root/etc/initscripts/adsp.sh @@ -0,0 +1,35 @@ +#!/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 new file mode 100755 index 0000000..03814dd --- /dev/null +++ b/userspace/root/etc/initscripts/chgrp-diag @@ -0,0 +1,7 @@ +#!/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/logd b/userspace/root/etc/initscripts/logd new file mode 100755 index 0000000..ee56cf6 --- /dev/null +++ b/userspace/root/etc/initscripts/logd @@ -0,0 +1,77 @@ +#! /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 +# +# Short-Description: logd daemon +# Description: init.d script to start logd daemon + +set -e +wait_for_logd_to_start() { + while [ -z $(pidof -o %PPID logd) ]; + do + echo "waiting for logd to start" + done +} + +case "$1" in + start) + if [ ! -d /dev/socket ]; then + mkdir /dev/socket + fi + chmod 777 /dev/socket + echo 600 > /proc/sys/net/unix/max_dgram_qlen + if [ -z $(pidof -o %PPID logd) ]; then + echo "Starting logd ..." + start-stop-daemon -S -b -x /sbin/logd + fi + wait_for_logd_to_start + # add a small delay, before socket permission are + # being set. + sleep 0.2s + echo "Logd running: Setting permission .." + chmod 0666 /dev/socket/logd + chmod 0666 /dev/socket/logdr + chmod 0222 /dev/socket/logdw + echo "done" + ;; + stop) + echo -n "Stopping logd: " + start-stop-daemon -K -n logd + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage logd { start | stop | restart}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/userspace/root/etc/initscripts/qseecomd b/userspace/root/etc/initscripts/qseecomd new file mode 100755 index 0000000..f03d8f7 --- /dev/null +++ b/userspace/root/etc/initscripts/qseecomd @@ -0,0 +1,41 @@ +#!/bin/sh +# +# qseecomd init.d script to start the securemsm qseecomd daemon +# +# + +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 + case "$1" in + start) + echo -n "Starting securemsm qseecomd daemon....: " + if [ -e /dev/qseecom ]; then + chmod 0666 /dev/qseecom + fi + chmod 0664 /dev/ion + if [ -e /dev/sde20 ]; then + chmod 0664 /dev/sde20 + fi + start-stop-daemon -S -b -x /usr/bin/qseecomd + echo "done" + ;; + stop) + echo -n "Stoping securemsm qseecomd daemon......: " + start-stop-daemon -K -n qseecomd + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage qseecomd { start | stop | restart}" >&2 + exit 1 + ;; + esac +fi + +exit 0 diff --git a/userspace/root/etc/initscripts/sfs_config b/userspace/root/etc/initscripts/sfs_config new file mode 100755 index 0000000..9d0dc7e --- /dev/null +++ b/userspace/root/etc/initscripts/sfs_config @@ -0,0 +1,50 @@ +#!/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/start_cnss_daemon b/userspace/root/etc/initscripts/start_cnss_daemon new file mode 100755 index 0000000..3ed492f --- /dev/null +++ b/userspace/root/etc/initscripts/start_cnss_daemon @@ -0,0 +1,43 @@ +#!/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/initscripts/start_pdmappersvc b/userspace/root/etc/initscripts/start_pdmappersvc new file mode 100755 index 0000000..7b25207 --- /dev/null +++ b/userspace/root/etc/initscripts/start_pdmappersvc @@ -0,0 +1,28 @@ +#! /bin/sh +# Copyright (c) 2015 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +set -e + +case "$1" in + start) + echo -n "Starting pdmapper service " + start-stop-daemon -S -b -x /usr/bin/pdmappersvc + echo "done" + ;; + stop) + echo -n "Stopping pdmapper service " + start-stop-daemon -K -n /usr/bin/pdmappersvc + echo "done" + ;; + restart) + $0 stop + $0 start + ;; + *) + echo "Usage pdmappersvc { start | stop | restart }" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/userspace/root/etc/initscripts/usb b/userspace/root/etc/initscripts/usb new file mode 100755 index 0000000..2e8375f --- /dev/null +++ b/userspace/root/etc/initscripts/usb @@ -0,0 +1,192 @@ +#!/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 new file mode 100755 index 0000000..fc2b95e --- /dev/null +++ b/userspace/root/etc/initscripts/wlan @@ -0,0 +1,92 @@ +#!/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/motd b/userspace/root/etc/motd new file mode 100644 index 0000000..e69de29 diff --git a/userspace/root/etc/rc2.d/S20tftp_server.sh b/userspace/root/etc/rc2.d/S20tftp_server.sh new file mode 120000 index 0000000..4aba7f0 --- /dev/null +++ b/userspace/root/etc/rc2.d/S20tftp_server.sh @@ -0,0 +1 @@ +../init.d/tftp_server.sh \ No newline at end of file diff --git a/userspace/root/etc/rc3.d/S20tftp_server.sh b/userspace/root/etc/rc3.d/S20tftp_server.sh new file mode 120000 index 0000000..4aba7f0 --- /dev/null +++ b/userspace/root/etc/rc3.d/S20tftp_server.sh @@ -0,0 +1 @@ +../init.d/tftp_server.sh \ No newline at end of file diff --git a/userspace/root/etc/rc4.d/S20tftp_server.sh b/userspace/root/etc/rc4.d/S20tftp_server.sh new file mode 120000 index 0000000..4aba7f0 --- /dev/null +++ b/userspace/root/etc/rc4.d/S20tftp_server.sh @@ -0,0 +1 @@ +../init.d/tftp_server.sh \ No newline at end of file diff --git a/userspace/root/etc/rc5.d/S20tftp_server.sh b/userspace/root/etc/rc5.d/S20tftp_server.sh new file mode 120000 index 0000000..4aba7f0 --- /dev/null +++ b/userspace/root/etc/rc5.d/S20tftp_server.sh @@ -0,0 +1 @@ +../init.d/tftp_server.sh \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/chgrp-diag.service b/userspace/root/etc/systemd/system/chgrp-diag.service new file mode 100644 index 0000000..761960f --- /dev/null +++ b/userspace/root/etc/systemd/system/chgrp-diag.service @@ -0,0 +1,17 @@ +# 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/cnss-daemon.service b/userspace/root/etc/systemd/system/cnss-daemon.service new file mode 100644 index 0000000..81fe956 --- /dev/null +++ b/userspace/root/etc/systemd/system/cnss-daemon.service @@ -0,0 +1,17 @@ +# Copyright (c) 2018 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=CNSS Daemon Service +SourcePath=/etc/initscripts/start_cnss_daemon + +[Service] +Restart=no +RemainAfterExit=yes +ExecStart=/etc/initscripts/start_cnss_daemon start +ExecStop=/etc/initscripts/start_cnss_daemon stop + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/local-fs.target.requires/systemrw.mount b/userspace/root/etc/systemd/system/local-fs.target.requires/systemrw.mount new file mode 120000 index 0000000..a3b5919 --- /dev/null +++ b/userspace/root/etc/systemd/system/local-fs.target.requires/systemrw.mount @@ -0,0 +1 @@ +../systemrw.mount \ No newline at end of file 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 new file mode 120000 index 0000000..7c1b64f --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/chgrp-diag.service @@ -0,0 +1 @@ +/etc/systemd/chgrp-diag.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/cnss-daemon.service b/userspace/root/etc/systemd/system/multi-user.target.wants/cnss-daemon.service new file mode 120000 index 0000000..e4c15ca --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/cnss-daemon.service @@ -0,0 +1 @@ +/etc/systemd/system/cnss-daemon.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/pdmapper.service b/userspace/root/etc/systemd/system/multi-user.target.wants/pdmapper.service new file mode 120000 index 0000000..a41928f --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/pdmapper.service @@ -0,0 +1 @@ +/etc/systemd/system/pdmapper.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/multi-user.target.wants/qseecomd.path b/userspace/root/etc/systemd/system/multi-user.target.wants/qseecomd.path new file mode 120000 index 0000000..7a49553 --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/qseecomd.path @@ -0,0 +1 @@ +/etc/systemd/system/qseecomd.path \ 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 new file mode 120000 index 0000000..5b2aa37 --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/sfsconfig.service @@ -0,0 +1 @@ +/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 new file mode 120000 index 0000000..f6caa9b --- /dev/null +++ b/userspace/root/etc/systemd/system/multi-user.target.wants/wlan_daemon.service @@ -0,0 +1 @@ +/etc/systemd/system/wlan_daemon.service \ No newline at end of file diff --git a/userspace/root/etc/systemd/system/pdmapper.service b/userspace/root/etc/systemd/system/pdmapper.service new file mode 100644 index 0000000..299aad8 --- /dev/null +++ b/userspace/root/etc/systemd/system/pdmapper.service @@ -0,0 +1,19 @@ +# Copyright (c) 2018 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=SS-Services Service +SourcePath=/etc/initscripts/start_pdmappersvc +After=init_sys_mss.service +Requires=init_sys_mss.service + +[Service] +Restart=no +RemainAfterExit=yes +ExecStart=/etc/initscripts/start_pdmappersvc start +ExecStop=/etc/initscripts/start_pdmappersvc stop + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/qseecomd.path b/userspace/root/etc/systemd/system/qseecomd.path new file mode 100644 index 0000000..84a09ca --- /dev/null +++ b/userspace/root/etc/systemd/system/qseecomd.path @@ -0,0 +1,16 @@ +# Copyright (c) 2018 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=Path watching for qseecomd.service +DefaultDependencies=no +Conflicts=shutdown.target +Before=paths.target shutdown.target systemd-udev-trigger.service + +[Path] +PathModified=/dev/qseecom + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/qseecomd.service b/userspace/root/etc/systemd/system/qseecomd.service new file mode 100644 index 0000000..90f4182 --- /dev/null +++ b/userspace/root/etc/systemd/system/qseecomd.service @@ -0,0 +1,19 @@ +# Copyright (c) 2017 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=Qseecomd Service +SourcePath=/etc/initscripts/qseecomd +After=leprop.service +Requires=leprop.service + +[Service] +Restart=no +RemainAfterExit=yes +ExecStart=/etc/initscripts/qseecomd start +ExecStop=/etc/initscripts/qseecomd stop + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/etc/systemd/system/sfsconfig.service b/userspace/root/etc/systemd/system/sfsconfig.service new file mode 100644 index 0000000..f61d4e6 --- /dev/null +++ b/userspace/root/etc/systemd/system/sfsconfig.service @@ -0,0 +1,17 @@ +# 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/systemrw.mount b/userspace/root/etc/systemd/system/systemrw.mount new file mode 100644 index 0000000..771954c --- /dev/null +++ b/userspace/root/etc/systemd/system/systemrw.mount @@ -0,0 +1,34 @@ +# 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 + +[Unit] +Before=local-fs.target + +[Mount] +What=/dev/disk/by-partlabel/systemrw +Where=/systemrw +Options=relatime,data=ordered,noauto_da_alloc,discard,noexec,nodev diff --git a/userspace/root/etc/systemd/system/wlan_daemon.service b/userspace/root/etc/systemd/system/wlan_daemon.service new file mode 100644 index 0000000..0c36c1b --- /dev/null +++ b/userspace/root/etc/systemd/system/wlan_daemon.service @@ -0,0 +1,42 @@ +# 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/50-log.rules b/userspace/root/etc/udev/rules.d/50-log.rules new file mode 100644 index 0000000..e2c7018 --- /dev/null +++ b/userspace/root/etc/udev/rules.d/50-log.rules @@ -0,0 +1,5 @@ +KERNEL=="binder", MODE="0666" +KERNEL=="log_main", SUBSYSTEM=="misc", NAME="log/main", MODE="0644" +KERNEL=="log_radio", SUBSYSTEM=="misc", NAME="log/radio", MODE="0644" +KERNEL=="log_system", SUBSYSTEM=="misc", NAME="log/system", MODE="0644" +KERNEL=="log_events", SUBSYSTEM=="misc", NAME="log/events", MODE="0644" diff --git a/userspace/root/etc/udev/rules.d/mountpartitions.rules b/userspace/root/etc/udev/rules.d/mountpartitions.rules new file mode 100644 index 0000000..4a15121 --- /dev/null +++ b/userspace/root/etc/udev/rules.d/mountpartitions.rules @@ -0,0 +1,20 @@ +# There are a number of modifiers are allowed to be used in some +# of the different fields. They provide the following subsitutions: +# +# %n the "kernel number" of the device. +# For example, 'sda3' has a "kernel number" of '3' +# %e the smallest number for that name which does not matches an existing node +# %k the kernel name for the device +# %M the kernel major number for the device +# %m the kernel minor number for the device +# %b the bus id for the device +# %c the string returned by the PROGRAM +# %s{filename} the content of a sysfs attribute +# %% the '%' char itself +# + +# Automount partitions +KERNEL=="mmcblk[0-9]*p[0-9]*", SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/automountsdcard.sh %k" +KERNEL=="mmcblk[0-9]*p[0-9]*", SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/automountsdcard.sh %k" +KERNEL=="[hs]d[a-z][0-9]*", SUBSYSTEM=="block", ACTION=="add" RUN+="/etc/udev/scripts/automountsdcard.sh %k" +KERNEL=="[hs]d[a-z][0-9]*", SUBSYSTEM=="block", ACTION=="remove" RUN+="/etc/udev/scripts/automountsdcard.sh %k" diff --git a/userspace/root/etc/udev/scripts/automountsdcard.sh b/userspace/root/etc/udev/scripts/automountsdcard.sh new file mode 100755 index 0000000..cfe7b5a --- /dev/null +++ b/userspace/root/etc/udev/scripts/automountsdcard.sh @@ -0,0 +1,60 @@ +#! /bin/sh + +destdir=/mnt/sdcard/ + +umount_partition() +{ + if grep -qs "^/dev/$1 " /proc/mounts ; then + umount -lf "${destdir}"; + fi +} + +mount_partition() +{ + if [ ! -d "${destdir}" ]; then + mkdir "${destdir}" + fi + if ! mount -t auto "/dev/$1" "${destdir}" -o nodev,noexec,nosuid; then + # failed to mount + exit 1 + fi +} + +check_if_boot_dev() +{ + ret_val=`cat /proc/cmdline | grep "androidboot.bootdevice" |wc -l` + if [ $ret_val -ne 0 ]; then + boot_dev_list=`cat /proc/cmdline | awk '{ for ( n=1; n<=NF; n++ ) if($n ~ "androidboot.bootdevice") print $n }' | awk '{split($0,a, "=");print a[2]}'` + boot_dev=`echo $boot_dev_list | awk '{print $NF}'` + real_sysfs_path=`realpath /sys/class/block/$1` + ret_val=`echo $real_sysfs_path | grep /sys/devices/ | grep $boot_dev | wc -l` + fi + echo $ret_val +} + + +create_symlink() +{ + real_sysfs_path=`realpath /sys/class/block/$1` + partition_name=`cat $real_sysfs_path/uevent | awk '{ for ( n=1; n<=NF; n++ ) if($n ~ "PARTNAME") print $n }' | awk '{split($0,a, "=");print a[2]}'` + mkdir -p /dev/block/bootdevice/by-name/ + partition_name=/dev/block/bootdevice/by-name/$partition_name + target_dev=/dev/$1 + ln -s $target_dev $partition_name +} + +case "${ACTION}" in +add|"") + result=`check_if_boot_dev $1` + if [ $result -eq 1 ]; then + create_symlink $1 & + else + umount_partition ${1} + mount_partition ${1} + fi + ;; +remove) + umount_partition ${1} + ;; +esac + diff --git a/userspace/root/etc/usb/boot_hsic_comp b/userspace/root/etc/usb/boot_hsic_comp new file mode 100644 index 0000000..e69de29 diff --git a/userspace/root/etc/usb/boot_hsusb_comp b/userspace/root/etc/usb/boot_hsusb_comp new file mode 100644 index 0000000..bf1ecb8 --- /dev/null +++ b/userspace/root/etc/usb/boot_hsusb_comp @@ -0,0 +1 @@ +901D diff --git a/userspace/root/lib/firmware/a630_gmu.bin b/userspace/root/lib/firmware/a630_gmu.bin new file mode 100644 index 0000000..7ab6857 Binary files /dev/null and b/userspace/root/lib/firmware/a630_gmu.bin differ diff --git a/userspace/root/lib/firmware/a630_sqe.fw b/userspace/root/lib/firmware/a630_sqe.fw new file mode 100644 index 0000000..e0576f7 Binary files /dev/null and b/userspace/root/lib/firmware/a630_sqe.fw differ diff --git a/userspace/root/lib/firmware/a630_zap.b00 b/userspace/root/lib/firmware/a630_zap.b00 new file mode 100644 index 0000000..7d5bcf1 Binary files /dev/null and b/userspace/root/lib/firmware/a630_zap.b00 differ diff --git a/userspace/root/lib/firmware/a630_zap.b01 b/userspace/root/lib/firmware/a630_zap.b01 new file mode 100644 index 0000000..21fac19 Binary files /dev/null and b/userspace/root/lib/firmware/a630_zap.b01 differ diff --git a/userspace/root/lib/firmware/a630_zap.b02 b/userspace/root/lib/firmware/a630_zap.b02 new file mode 100644 index 0000000..74585f2 Binary files /dev/null and b/userspace/root/lib/firmware/a630_zap.b02 differ diff --git a/userspace/root/lib/firmware/a630_zap.elf b/userspace/root/lib/firmware/a630_zap.elf new file mode 100644 index 0000000..2375d55 Binary files /dev/null and b/userspace/root/lib/firmware/a630_zap.elf differ diff --git a/userspace/root/lib/firmware/a630_zap.mdt b/userspace/root/lib/firmware/a630_zap.mdt new file mode 100644 index 0000000..a00b120 Binary files /dev/null and b/userspace/root/lib/firmware/a630_zap.mdt differ diff --git a/userspace/root/lib/firmware/ipa/ipa_fws.elf b/userspace/root/lib/firmware/ipa/ipa_fws.elf new file mode 100755 index 0000000..825ec2a Binary files /dev/null and b/userspace/root/lib/firmware/ipa/ipa_fws.elf differ diff --git a/userspace/root/lib/firmware/ipa_fws.b00 b/userspace/root/lib/firmware/ipa_fws.b00 new file mode 100755 index 0000000..0a2a52c Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.b00 differ diff --git a/userspace/root/lib/firmware/ipa_fws.b01 b/userspace/root/lib/firmware/ipa_fws.b01 new file mode 100755 index 0000000..ad88f5b Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.b01 differ diff --git a/userspace/root/lib/firmware/ipa_fws.b02 b/userspace/root/lib/firmware/ipa_fws.b02 new file mode 100755 index 0000000..a1b55bc Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.b02 differ diff --git a/userspace/root/lib/firmware/ipa_fws.b03 b/userspace/root/lib/firmware/ipa_fws.b03 new file mode 100755 index 0000000..4570aa1 Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.b03 differ diff --git a/userspace/root/lib/firmware/ipa_fws.b04 b/userspace/root/lib/firmware/ipa_fws.b04 new file mode 100755 index 0000000..62907c2 Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.b04 differ diff --git a/userspace/root/lib/firmware/ipa_fws.mdt b/userspace/root/lib/firmware/ipa_fws.mdt new file mode 100755 index 0000000..3af06d8 Binary files /dev/null and b/userspace/root/lib/firmware/ipa_fws.mdt differ diff --git a/userspace/root/lib/firmware/updates b/userspace/root/lib/firmware/updates new file mode 120000 index 0000000..7e3eb1e --- /dev/null +++ b/userspace/root/lib/firmware/updates @@ -0,0 +1 @@ +/firmware/image \ No newline at end of file diff --git a/userspace/root/lib/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini b/userspace/root/lib/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini new file mode 100644 index 0000000..07b1201 --- /dev/null +++ b/userspace/root/lib/firmware/wlan/qca_cld/WCNSS_qcom_cfg.ini @@ -0,0 +1,484 @@ +# This file allows user to override the factory +# defaults for the WLAN Driver + +# Enable IMPS or not +gEnableImps=1 + +# Enable BMPS or not +gEnableBmps=1 + +# Phy Mode (auto, b, g, n, etc) +# Valid values are 0-9, with 0 = Auto, 4 = 11n, 9 = 11ac +# 1 = 11abg, 2 = 11b, 3 = 11g, 5 = 11g only, 6 = 11n only +# 7 = 11b only 8 = 11ac only. +gDot11Mode=0 + +# Assigned MAC Addresses - This will be used until NV items are in place +# Each byte of MAC address is represented in Hex format as XX +Intf0MacAddress=000AF58989FF +Intf1MacAddress=000AF58989FE +Intf2MacAddress=000AF58989FD +Intf3MacAddress=000AF58989FC + +# UAPSD service interval for VO,VI, BE, BK traffic +InfraUapsdVoSrvIntv=0 +InfraUapsdViSrvIntv=0 +InfraUapsdBeSrvIntv=0 +InfraUapsdBkSrvIntv=0 + +# Flag to allow STA send AddTspec even when ACM is Off +gAddTSWhenACMIsOff=1 + +#Flag to enable HostARPOffload feature or not +hostArpOffload=1 + +#Flag to enable HostNSOffload feature or not +hostNSOffload=1 + +# 802.11n Protection flag +gEnableApProt=1 + +#Enable OBSS protection +gEnableApOBSSProt=1 + +#Enable/Disable UAPSD for SoftAP +gEnableApUapsd=1 + +# Fixed Rate +gFixedRate=0 + +# Maximum Tx power +# gTxPowerCap=30 + +# Fragmentation Threshold +# gFragmentationThreshold=2346 + +# RTS threshold +RTSThreshold=1048576 + +# Intra-BSS forward +gDisableIntraBssFwd=0 + +# WMM Enable/Disable +WmmIsEnabled=0 + +# 802.11d support +g11dSupportEnabled=1 +gCountrycode=CN + +# 802.11h support +g11hSupportEnabled=1 + +# DFS Master Capability +gEnableDFSMasterCap=1 + +# ESE Support and fast transition +EseEnabled=0 + +ImplicitQosIsEnabled=0 + +gNeighborLookupThreshold=76 +gNeighborScanChannelMinTime=20 +gNeighborScanChannelMaxTime=30 +gMaxNeighborReqTries=3 + +# Legacy (non-ESE, non-802.11r) Fast Roaming Support +# To enable, set FastRoamEnabled=1 +# To disable, set FastRoamEnabled=0 +FastRoamEnabled=1 + +# Check if the AP to which we are roaming is better than current AP in +# terms of RSSI. Checking is disabled if set to Zero.Otherwise it will +# use this value as to how better the RSSI of the new/roamable AP should +# be for roaming +RoamRssiDiff=3 + +# To enable, set gRoamIntraBand=1 (Roaming within band) +# To disable, set gRoamIntraBand=0 (Roaming across band) +gRoamIntraBand=0 + +# RSSI threshold offset for 2G to 5G roam +roam_bad_rssi_thresh_offset_2g=0 + +#Short Guard Interval Enable/disable +gShortGI20Mhz=1 +gShortGI40Mhz=1 + +#Auto Shutdown Value in seconds. A value of 0 means Auto shutoff is disabled +gAPAutoShutOff=0 + +#Auto Shutdown wlan : Value in Seconds. 0 means disabled. Max 1 day = 86400 sec +gWlanAutoShutdown = 0 + +# Not used. +gApAutoChannelSelection=0 + +#Preferred band (both or 2.4 only or 5 only) +BandCapability=0 + +#Channel Bonding +gChannelBondingMode5GHz=1 + +#Say gGoKeepAlivePeriod(5 seconds) and gGoLinkMonitorPeriod(10 seconds). +#For every 10 seconds DUT send Qos Null frame(i.e., Keep Alive frame if link +#is idle for last 10 seconds.) For both active and power save clients. + +#Power save clients: DUT set TIM bit from 10th second onwards and till client +#honors TIM bit. If doesn't honor for 5 seconds then DUT remove client. + +#Active clients: DUT send Qos Null frame for 10th seconds onwards if it is not +#success still we try on 11th second if not tries on 12th and so on till 15th +#second. Hence before disconnection DUT will send 5 NULL frames. Hence in any +#case DUT will detect client got removed in (10+5) seconds. +#i.e., (gGoKeepAlivePeriod + gGoLinkMonitorPeriod).. + +#gGoLinkMonitorPeriod/ gApLinkMonitorPeriod is period where link is idle and +#it is period where we send NULL frame. +#gApLinkMonitorPeriod = 10 +#gGoLinkMonitorPeriod = 10 + +#gGoKeepAlivePeriod/gApKeepAlivePeriod is time to spend to check whether frame +#are succeed to send or not. Hence total effective detection time is +# (gGoLinkMonitorPeriod + gGoKeepAlivePeriod) / +# (gApLinkMonitorPeriod + gApKeepAlivePeriod) +gGoKeepAlivePeriod = 20 +gApKeepAlivePeriod = 20 + +#If set will start with active scan after driver load, otherwise will start with +#passive scan to find out the domain +gEnableBypass11d=1 + +#If set to 0, will not scan DFS channels +gEnableDFSChnlScan=1 + +# Enable DFS channel roam +# 0: DISABLE, 1: ENABLED_NORMAL, 2: ENABLED_ACTIVE +gAllowDFSChannelRoam=1 + +gVhtChannelWidth=2 + +#Data Inactivity Timeout when in powersave (in ms) +gDataInactivityTimeout=200 + +# Set txchainmask and rxchainmask +# These parameters are used only if gEnable2x2 is 0 +# Valid values are 1,2 +# Set gSetTxChainmask1x1=1 or gSetRxChainmask1x1=1 to select chain0. +# Set gSetTxChainmask1x1=2 or gSetRxChainmask1x1=2 to select chain1. +gSetTxChainmask1x1=1 +gSetRxChainmask1x1=1 + +# Scan Timing Parameters +# gPassiveMaxChannelTime=110 +# gPassiveMinChannelTime=60 +gActiveMaxChannelTime=40 +gActiveMinChannelTime=20 + +#If set to 0, MCC is not allowed. +gEnableMCCMode=1 + +# MCC to SCC Switch mode: +# 0-Disable +# 1-Enable +# 2-Force SCC if same band, with SAP restart +# 3-Force SCC if same band, without SAP restart by sending (E)CSA +# 4-Force SCC if same band (or) use SAP mandatory channel for DBS, +# without SAP restart by sending (E)CSA +gWlanMccToSccSwitchMode = 3 + +# 1=enable STBC; 0=disable STBC +gEnableRXSTBC=1 + +# 1=enable tx STBC; 0=disable +gEnableTXSTBC=1 + +# 1=enable rx LDPC; 0=disable +gEnableRXLDPC=1 + +#Enable/Disable Tx beamforming +gTxBFEnable=1 + +#Enable/Disable Tx beamformee in SAP mode +gEnableTxBFeeSAP=1 + +# Enable Tx beamforming in VHT20MHz +# Valid values are 0,1. If commented out, the default value is 0. +# 0=disable, 1=enable +gEnableTxBFin20MHz=1 + +#Enable/Disable SU Tx beamformer support. +gEnableTxSUBeamformer=1 + +gEnableFastRoamInConcurrency=1 + +#Maxium Channel time in msec +gMaxMediumTime = 6000 + +# 802.11K support +gRrmEnable=1 + +#Enable Power Save offload +gEnablePowerSaveOffload=2 + +#Enable firmware uart print +gEnablefwprint=0 + +# Firmware log mode +# Valid values are 0,1,2 +# 0=Disable, 1=WMI, 2=DIAG +gEnablefwlog=1 + +# Maximum Receive AMPDU size (VHT only. Valid values: +# 0->8k 1->16k 2->32k 3->64k 4->128k) +gVhtAmpduLenExponent=7 + +# Maximum MPDU length (VHT only. Valid values: +# 0->3895 octets, 1->7991 octets, 2->11454 octets) +gVhtMpduLen=2 + +# Maximum number of wow filters required +#gMaxWoWFilters=22 + +# WOW Enable/Disable. +# 0 - Disable both magic pattern match and pattern byte match. +# 1 - Enable magic pattern match on all interfaces. +# 2 - Enable pattern byte match on all interfaces. +# 3 - Enable both magic pattern and pattern byte match on all interfaces. +# Default value of gEnableWoW is 3. +# gEnableWoW=0 + +# Enable or Disable MCC Adaptive Scheduler at the FW +# 1=Enable (default), 0=Disable +gEnableMCCAdaptiveScheduler=1 + +#Enable or Disable p2p device address administered +isP2pDeviceAddrAdministrated=0 + +# Set Thermal Power limit +TxPower2g=10 +TxPower5g=10 + +# Remove Overlap channel restriction +gEnableOverLapCh=0 + +#Enable VHT on 2.4Ghz +gEnableVhtFor24GHzBand=1 + +#Maximum number of offload peers supported +# gMaxOffloadPeers=2 + +# controlling the following offload patterns +# through ini parameter. Default value is 1 +# to disable set it to zero. ssdp = 0 +# Setup multicast pattern for mDNS 224.0.0.251, +# SSDP 239.255.255.250 and LLMNR 224.0.0.252 +ssdp=0 + +#Enable Memory Deep Sleep +gEnableMemDeepSleep=1 + +# Regulatory Setting; 0=STRICT; 1=CUSTOM +gRegulatoryChangeCountry=1 + +# RA filtering rate limit param, the current value would not +# help if the lifetime in RA is less than 3*60=3min. Then +# we need to change it, though it is uncommon. +# gRAFilterEnable=0 +gRArateLimitInterval=600 + +# Maximum number of concurrent connections +gMaxConcurrentActiveSessions=3 + +# Disable/Enable GreenAP +# 0 to disable, 1 to enable, default: 1 +gEnableGreenAp=0 + +# Radar PRI multiplier +gDFSradarMappingPriMultiplier=4 + +gPNOScanSupport=1 + +#Enable/Disable LPASS support +# 0 to disable, 1 to enable +gEnableLpassSupport=1 + +# Whether userspace country code setting shld have priority +gCountryCodePriority=1 + +# Enable(1)/Disable(0) SIFS burst +gEnableSifsBurst=1 + +# Enable or Disable Multi-user MIMO +# 1=Enable (default), 0=Disable +gEnableMuBformee=1 + +# Enable/Disable channel avoidance for SAP in SCC scenario +# 0 - disable +# 1 - enable +gSapSccChanAvoidance=0 + +# Inactivity time (in ms) to end TX Service Period while in IBSS power save mode +gIbssTxSpEndInactivityTime=10 + +# Enable support for TDLS +# 0 - disable +# 1 - enable +gEnableTDLSSupport=1 + +# Enable support for Implicit Trigger of TDLS. That is, wlan driver shall +# initiate TDLS Discovery towards a peer whenever setup criteria (throughput +# and RSSI) is met and then will initiate teardown when teardown criteria +# (idle packet count and RSSI) is met. +# 0 - disable +# 1 - enable +gEnableTDLSImplicitTrigger=1 + +# Enable TDLS External Control. That is, user space application has to +# first configure a peer MAC in wlan driver towards which TDLS is desired. +# Device will establish TDLS only towards those configured peers whenever +# TDLS criteria (throughput and RSSI threshold) is met and teardown TDLS +# when teardown criteria (idle packet count and RSSI) is met. However, +# device will accept TDLS connection if it is initiated from any other peer, +# even if that peer is not configured. +# 0 - disable +# 1 - enable +# For TDLS External Control, Implicit Trigger must also be enabled. +gTDLSExternalControl=1 + +# Enable support for TDLS off-channel operation +# 0 - disable +# 1 - enable +# TDLS off-channel operation will be invoked when there is only one +# TDLS connection. +gEnableTDLSOffChannel=1 + +# Enable or Disable Random MAC (Spoofing) +# 1=Enable, 0=Disable (default) +gEnableMacAddrSpoof=1 + +################ Datapath feature set Begin ################ +# Bus bandwidth threshold values in terms of number of packets +gBusBandwidthHighThreshold=2000 +gBusBandwidthMediumThreshold=500 +gBusBandwidthLowThreshold=150 + +# Bus bandwidth compute timeout value in ms +gBusBandwidthComputeInterval=100 + +# VHT Tx/Rx MCS values +# Valid values are 0,1,2. If commented out, the default value is 0. +# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 +gVhtRxMCS=2 +gVhtTxMCS=2 + +# VHT Tx/Rx MCS values for 2x2 +# Valid values are 0,1,2. If commented out, the default value is 0. +# 0=MCS0-7, 1=MCS0-8, 2=MCS0-9 +gEnable2x2=1 +gVhtRxMCS2x2=2 +gVhtTxMCS2x2=2 + +#IPA config is a bit mask and following are the configurations. +#bit0 IPA Enable +#bit1 IPA PRE Filter enable +#bit2 IPv6 enable +#bit3 IPA Resource Manager (RM) enable +#bit4 IPA Clock scaling enable +#bit5 IPA uC ENABLE +#bit6 IPA uC STA ENABLE +#bit8 IPA Real Time Debugging +#gIPAConfig=0x7d +gIPAConfig=0 +gIPADescSize=800 + +# Enable/Disable RX full reorder offload +gReorderOffloadSupported=1 + +# Enable CE classification +# 1 - enable(default) 0 - disable +gCEClassifyEnable=1 + +# Enable Rx handling options +# Rx_thread=1 RPS=2(default for ROME) NAPI=4(default for ihelium) +rx_mode=5 + +# Enable(Tx) fastpath for data traffic. +# 1 - enable(default) 0 - disable +gEnableFastPath=1 + +# This flag enables IP, TCP and UDP checksum offload +# 1 - enable(default) 0 - disable +gEnableIpTcpUdpChecksumOffload=1 + +# Enable TCP Segmentation Offload +# 1 - enable 0 - disable +TSOEnable=1 + +# Enable Generic Receive Offload +# LRO and GRO are exclusive to each other +# LRO support is deprecated on latest 4.9(SDM845) kernel +GROEnable=1 + +# Enable HT MPDU Density +# 4 for 2 micro sec +ght_mpdu_density=4 + +# Enable flow steering to enable multiple CEs for Rx flows. +# Multiple Rx CEs<==>Multiple Rx IRQs<==>probably different CPUs. +# Parallel Rx paths. +# 1 - enable 0 - disable(default) +gEnableFlowSteering=1 + +# Time in microseconds after which a NAPI poll must yield +ce_service_max_yield_time=500 + +#Maximum number of HTT messages to be processed per NAPI poll +ce_service_max_rx_ind_flush=1 + +# Maximum number of MSDUs the firmware will pack in one HTT_T2H_MSG_TYPE_RX_IN_ORD_PADDR_IND +maxMSDUsPerRxInd=8 +################ Datapath feature set End ################ + +################ NAN feature set start ################### + +# Enable NAN discovery (NAN 1.0) +# 1 - enable 0 - disable(default) +gEnableNanSupport=1 +genable_nan_datapath=1 +################ NAN feature set end ##################### + +adaptive_dwell_mode_enabled=1 + +hostscan_adaptive_dwell_mode=1 + +adapt_dwell_lpf_weight=80 + +adapt_dwell_wifi_act_threshold=10 + +# Enable/Disable DTIM Synth +# 1- Enable DTIM Synth +# 0- Disable DTIM Synth +gEnableLPRx=0 + +############################################# +# MAWC related configurations +############################################# + +# MAWCEnabled - Enable/Disable Motion Aided Wireless Connectivity Global +MAWCEnabled=0 + +# mawc_roam_enabled - Enable/Disable MAWC during roaming +mawc_roam_enabled=0 + +# Enable/Disable the Motion Aided Wireless Connectivity +# based NLO using this parameter +mawc_nlo_enabled=0 + +END + +# Note: Configuration parser would not read anything past the END marker + +qdf_trace_enable_hdd=255 +qdf_trace_enable_sme=255 +qdf_trace_enable_pe=255 +qdf_trace_enable_wma=255 diff --git a/userspace/root/lib/systemd/system/adsp.service b/userspace/root/lib/systemd/system/adsp.service new file mode 100644 index 0000000..220ee0c --- /dev/null +++ b/userspace/root/lib/systemd/system/adsp.service @@ -0,0 +1,18 @@ +# 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/adsprpcd.service b/userspace/root/lib/systemd/system/adsprpcd.service new file mode 100644 index 0000000..b181dbf --- /dev/null +++ b/userspace/root/lib/systemd/system/adsprpcd.service @@ -0,0 +1,15 @@ +# Copyright (c) 2017 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=adsprpc Service +SourcePath= /usr/bin/adsprpcd + +[Service] +Restart=always +ExecStart= /usr/bin/adsprpcd + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/cdsp.service b/userspace/root/lib/systemd/system/cdsp.service new file mode 100644 index 0000000..59eaa1a --- /dev/null +++ b/userspace/root/lib/systemd/system/cdsp.service @@ -0,0 +1,16 @@ +# Copyright (c) 2018 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=start dsp variants +SourcePath=/usr/bin/cdsp.sh +Before=cdsprpcd.service + +[Service] +Restart=always +ExecStart=/bin/sh /usr/bin/cdsp.sh + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/cdsprpcd.service b/userspace/root/lib/systemd/system/cdsprpcd.service new file mode 100644 index 0000000..fe376ea --- /dev/null +++ b/userspace/root/lib/systemd/system/cdsprpcd.service @@ -0,0 +1,15 @@ +# Copyright (c) 2018 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description=cdsprpc Service +SourcePath= /usr/bin/cdsprpcd + +[Service] +Restart=always +ExecStart= /usr/bin/cdsprpcd + +[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 new file mode 120000 index 0000000..6b3e25b --- /dev/null +++ b/userspace/root/lib/systemd/system/ffbm.target.wants/init_sys_mss.service @@ -0,0 +1 @@ +/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 new file mode 120000 index 0000000..777636e --- /dev/null +++ b/userspace/root/lib/systemd/system/ffbm.target.wants/rmt_storage.service @@ -0,0 +1 @@ +/lib/systemd/system/rmt_storage.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/init_sys_mss.service b/userspace/root/lib/systemd/system/init_sys_mss.service new file mode 100644 index 0000000..f5b670f --- /dev/null +++ b/userspace/root/lib/systemd/system/init_sys_mss.service @@ -0,0 +1,39 @@ +# 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=/sbin/init_mss +Description=Modem Init Service +After=firmware-mount.service + +[Service] +Restart=on-failure +RemainAfterExit=yes +ExecStart=/sbin/init_mss + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/ipa_fws.service b/userspace/root/lib/systemd/system/ipa_fws.service new file mode 100644 index 0000000..f718b55 --- /dev/null +++ b/userspace/root/lib/systemd/system/ipa_fws.service @@ -0,0 +1,16 @@ +# 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 new file mode 100644 index 0000000..c008bac --- /dev/null +++ b/userspace/root/lib/systemd/system/irsc_util.service @@ -0,0 +1,17 @@ +# Copyright (c) 2017 Qualcomm Technologies, Inc. +# All Rights Reserved. +# Confidential and Proprietary - Qualcomm Technologies, Inc. +# + +[Unit] +Description= irsc-util Service +SourcePath=/usr/bin/irsc_util +DefaultDependencies=no + +[Service] +Restart=no +RemainAfterExit=yes +ExecStart=/usr/bin/irsc_util /etc/sec_config + +[Install] +WantedBy=sysinit.target diff --git a/userspace/root/lib/systemd/system/leprop.service b/userspace/root/lib/systemd/system/leprop.service new file mode 100644 index 0000000..ad3d788 --- /dev/null +++ b/userspace/root/lib/systemd/system/leprop.service @@ -0,0 +1,12 @@ +[Unit] +SourcePath=/sbin/leprop-service +Description=leprop Service +After=systemrw-build.prop.service +Before=persist-prop.service + +[Service] +Restart=always +ExecStart=/sbin/leprop-service + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/logd.service b/userspace/root/lib/systemd/system/logd.service new file mode 100644 index 0000000..da6657d --- /dev/null +++ b/userspace/root/lib/systemd/system/logd.service @@ -0,0 +1,41 @@ +# 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/logd +Description=logd Service + +[Service] +Type=forking +Restart=no +IgnoreSIGPIPE=no +KillMode=process +GuessMainPID=no +RemainAfterExit=yes +ExecStart=/etc/initscripts/logd start +ExecStop=/etc/initscripts/logd stop 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 new file mode 120000 index 0000000..00ed3b9 --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/adsp.service @@ -0,0 +1 @@ +/lib/systemd/system/adsp.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/init_sys_mss.service b/userspace/root/lib/systemd/system/multi-user.target.wants/init_sys_mss.service new file mode 120000 index 0000000..6b3e25b --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/init_sys_mss.service @@ -0,0 +1 @@ +/lib/systemd/system/init_sys_mss.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 new file mode 120000 index 0000000..0e9d114 --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/ipa_fws.service @@ -0,0 +1 @@ +/lib/systemd/system/ipa_fws.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/leprop.service b/userspace/root/lib/systemd/system/multi-user.target.wants/leprop.service new file mode 120000 index 0000000..4be59b3 --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/leprop.service @@ -0,0 +1 @@ +/lib/systemd/system/leprop.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/logd.service b/userspace/root/lib/systemd/system/multi-user.target.wants/logd.service new file mode 120000 index 0000000..0c5ddb2 --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/logd.service @@ -0,0 +1 @@ +/lib/systemd/system/logd.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/persist-prop.service b/userspace/root/lib/systemd/system/multi-user.target.wants/persist-prop.service new file mode 120000 index 0000000..0ee7b30 --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/persist-prop.service @@ -0,0 +1 @@ +/lib/systemd/system/persist-prop.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/multi-user.target.wants/rmt_storage.service b/userspace/root/lib/systemd/system/multi-user.target.wants/rmt_storage.service new file mode 120000 index 0000000..777636e --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/rmt_storage.service @@ -0,0 +1 @@ +/lib/systemd/system/rmt_storage.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 new file mode 120000 index 0000000..5a71eff --- /dev/null +++ b/userspace/root/lib/systemd/system/multi-user.target.wants/usb.service @@ -0,0 +1 @@ +/lib/systemd/system/usb.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/persist-prop.service b/userspace/root/lib/systemd/system/persist-prop.service new file mode 100644 index 0000000..0654527 --- /dev/null +++ b/userspace/root/lib/systemd/system/persist-prop.service @@ -0,0 +1,11 @@ +[Unit] +Description=persist-prop service +After=leprop.service +Requires=leprop.service + +[Service] +ExecStart=/sbin/persist-prop.sh +Type=oneshot + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/rmt_storage.service b/userspace/root/lib/systemd/system/rmt_storage.service new file mode 100644 index 0000000..134a099 --- /dev/null +++ b/userspace/root/lib/systemd/system/rmt_storage.service @@ -0,0 +1,13 @@ +[Unit] +Description= Remote Storage Service +SourcePath=/sbin/rmt_storage +After=usb.service +Before=init_sys_mss.service + +[Service] +Restart=always +ExecStartPre=/bin/bash -c "/usr/comma/wait_for_file.sh /dev/block/bootdevice/by-name/modemst1; /usr/comma/wait_for_file.sh /dev/block/bootdevice/by-name/modemst2; /usr/comma/wait_for_file.sh /dev/block/bootdevice/by-name/fsc; /usr/comma/wait_for_file.sh /dev/block/bootdevice/by-name/fsg" +ExecStart=/sbin/rmt_storage + +[Install] +WantedBy=multi-user.target diff --git a/userspace/root/lib/systemd/system/sysinit.target.wants/irsc_util.service b/userspace/root/lib/systemd/system/sysinit.target.wants/irsc_util.service new file mode 120000 index 0000000..1d8157a --- /dev/null +++ b/userspace/root/lib/systemd/system/sysinit.target.wants/irsc_util.service @@ -0,0 +1 @@ +/lib/systemd/system/irsc_util.service \ No newline at end of file diff --git a/userspace/root/lib/systemd/system/usb.service b/userspace/root/lib/systemd/system/usb.service new file mode 100644 index 0000000..cfe72af --- /dev/null +++ b/userspace/root/lib/systemd/system/usb.service @@ -0,0 +1,44 @@ +# 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/lib64/ld-linux-aarch64.so.1 b/userspace/root/lib64/ld-linux-aarch64.so.1 new file mode 120000 index 0000000..0593873 --- /dev/null +++ b/userspace/root/lib64/ld-linux-aarch64.so.1 @@ -0,0 +1 @@ +/lib/ld-linux-aarch64.so.1 \ No newline at end of file diff --git a/userspace/root/sbin/abctl b/userspace/root/sbin/abctl new file mode 100755 index 0000000..7ef82df Binary files /dev/null and b/userspace/root/sbin/abctl differ diff --git a/userspace/root/sbin/init_mss b/userspace/root/sbin/init_mss new file mode 100755 index 0000000..6ca18c0 Binary files /dev/null and b/userspace/root/sbin/init_mss differ diff --git a/userspace/root/sbin/leprop-service b/userspace/root/sbin/leprop-service new file mode 100755 index 0000000..d54862f Binary files /dev/null and b/userspace/root/sbin/leprop-service differ diff --git a/userspace/root/sbin/logd b/userspace/root/sbin/logd new file mode 100755 index 0000000..2bcdb31 Binary files /dev/null and b/userspace/root/sbin/logd differ diff --git a/userspace/root/sbin/persist-prop.sh b/userspace/root/sbin/persist-prop.sh new file mode 100755 index 0000000..53e533f --- /dev/null +++ b/userspace/root/sbin/persist-prop.sh @@ -0,0 +1,34 @@ +#!/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. +# +# persist-prop init.d script to start persist properties usage +# + +# Start using persist properties +while [ ! -e /dev/socket/leprop-service ] ; do sleep 0.01; done +setprop le.persistprop.enable true diff --git a/userspace/root/sbin/rmt_storage b/userspace/root/sbin/rmt_storage new file mode 100755 index 0000000..25cf81f Binary files /dev/null and b/userspace/root/sbin/rmt_storage differ diff --git a/userspace/root/sbin/tftp_server b/userspace/root/sbin/tftp_server new file mode 100755 index 0000000..0b20bda Binary files /dev/null and b/userspace/root/sbin/tftp_server differ diff --git a/userspace/root/sbin/usb/compositions/901D b/userspace/root/sbin/usb/compositions/901D new file mode 100755 index 0000000..671513c --- /dev/null +++ b/userspace/root/sbin/usb/compositions/901D @@ -0,0 +1,103 @@ +#!/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 new file mode 100755 index 0000000..ca4ac9e --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9021 @@ -0,0 +1,177 @@ +#!/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 new file mode 100755 index 0000000..0cba54e --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9022 @@ -0,0 +1,205 @@ +#!/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 new file mode 100755 index 0000000..57f8156 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9024 @@ -0,0 +1,170 @@ +#!/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 new file mode 100755 index 0000000..ac4d5c3 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9025 @@ -0,0 +1,252 @@ +#!/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 new file mode 100755 index 0000000..d489a51 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/902B @@ -0,0 +1,169 @@ +#!/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 new file mode 100755 index 0000000..8e8c18b --- /dev/null +++ b/userspace/root/sbin/usb/compositions/902D @@ -0,0 +1,172 @@ +#!/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 new file mode 100755 index 0000000..bfc8b58 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9039 @@ -0,0 +1,77 @@ +#!/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 new file mode 100755 index 0000000..f2d87ea --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9049 @@ -0,0 +1,242 @@ +#!/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 new file mode 100755 index 0000000..26528dc --- /dev/null +++ b/userspace/root/sbin/usb/compositions/904A @@ -0,0 +1,112 @@ +#!/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 new file mode 100755 index 0000000..5e193ac --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9056 @@ -0,0 +1,229 @@ +#!/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 new file mode 100755 index 0000000..35532cc --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9057 @@ -0,0 +1,152 @@ +#!/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 new file mode 100755 index 0000000..fcbfe49 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9059 @@ -0,0 +1,191 @@ +#!/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 new file mode 100755 index 0000000..0c9f15f --- /dev/null +++ b/userspace/root/sbin/usb/compositions/905B @@ -0,0 +1,161 @@ +#!/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 new file mode 100755 index 0000000..1768aba --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9060 @@ -0,0 +1,131 @@ +#!/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 new file mode 100755 index 0000000..0796d7c --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9063 @@ -0,0 +1,183 @@ +#!/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 new file mode 100755 index 0000000..470014d --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9064 @@ -0,0 +1,274 @@ +#!/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 new file mode 100755 index 0000000..61034a2 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9067 @@ -0,0 +1,202 @@ +#!/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 new file mode 100755 index 0000000..e6ed96d --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9084 @@ -0,0 +1,205 @@ +#!/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 new file mode 100755 index 0000000..bf830e4 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9085 @@ -0,0 +1,208 @@ +#!/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 new file mode 100755 index 0000000..97736b6 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/9091 @@ -0,0 +1,179 @@ +#!/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 new file mode 100755 index 0000000..4494c40 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90A1 @@ -0,0 +1,149 @@ +#!/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 new file mode 100755 index 0000000..f0c6030 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90A9 @@ -0,0 +1,219 @@ +#!/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 new file mode 100755 index 0000000..4b5eadd --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90AD @@ -0,0 +1,183 @@ +#!/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 new file mode 100755 index 0000000..3275b49 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90B0 @@ -0,0 +1,62 @@ +#!/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 new file mode 100755 index 0000000..7807626 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90B1 @@ -0,0 +1,77 @@ +#!/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 new file mode 100755 index 0000000..887c88d --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90B8 @@ -0,0 +1,111 @@ +#!/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 new file mode 100755 index 0000000..e3a72a9 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90C0 @@ -0,0 +1,102 @@ +#!/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 new file mode 100755 index 0000000..7bca8d4 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90CA @@ -0,0 +1,72 @@ +#!/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 new file mode 100755 index 0000000..47ece9d --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90CD @@ -0,0 +1,101 @@ +#!/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 new file mode 100755 index 0000000..04c2941 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90D5 @@ -0,0 +1,140 @@ +#!/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 new file mode 100755 index 0000000..c8216e5 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90D6 @@ -0,0 +1,125 @@ +#!/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 new file mode 100755 index 0000000..31d2c16 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90DB @@ -0,0 +1,78 @@ +#!/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 new file mode 100755 index 0000000..fd58a22 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/90E2 @@ -0,0 +1,97 @@ +#!/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 new file mode 100755 index 0000000..da32a22 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/F000 @@ -0,0 +1,75 @@ +#!/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 new file mode 100755 index 0000000..3b8f743 --- /dev/null +++ b/userspace/root/sbin/usb/compositions/empty @@ -0,0 +1,3 @@ +#!/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 new file mode 100755 index 0000000..573541a --- /dev/null +++ b/userspace/root/sbin/usb/compositions/hsic_next @@ -0,0 +1 @@ +0 diff --git a/userspace/root/sbin/usb/compositions/hsusb_next b/userspace/root/sbin/usb/compositions/hsusb_next new file mode 100755 index 0000000..49ce78f --- /dev/null +++ b/userspace/root/sbin/usb/compositions/hsusb_next @@ -0,0 +1 @@ +9025 diff --git a/userspace/root/sbin/usb/debuger/debugFiles b/userspace/root/sbin/usb/debuger/debugFiles new file mode 100755 index 0000000..1bab46a --- /dev/null +++ b/userspace/root/sbin/usb/debuger/debugFiles @@ -0,0 +1,33 @@ +_______________________________________ +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 new file mode 100755 index 0000000..35a1c91 --- /dev/null +++ b/userspace/root/sbin/usb/debuger/help @@ -0,0 +1,28 @@ +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 new file mode 100755 index 0000000..98404cc --- /dev/null +++ b/userspace/root/sbin/usb/target @@ -0,0 +1,85 @@ +#!/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 new file mode 100755 index 0000000..1463ac2 --- /dev/null +++ b/userspace/root/sbin/usb_composition @@ -0,0 +1,288 @@ +#!/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 new file mode 100755 index 0000000..5d95a34 --- /dev/null +++ b/userspace/root/sbin/usb_debug @@ -0,0 +1,355 @@ +#!/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/system/rfs/mdm/adsp/hlos b/userspace/root/system/rfs/mdm/adsp/hlos new file mode 120000 index 0000000..4392d65 --- /dev/null +++ b/userspace/root/system/rfs/mdm/adsp/hlos @@ -0,0 +1 @@ +/data/persist/hlos_rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/adsp/ramdumps b/userspace/root/system/rfs/mdm/adsp/ramdumps new file mode 120000 index 0000000..6de5142 --- /dev/null +++ b/userspace/root/system/rfs/mdm/adsp/ramdumps @@ -0,0 +1 @@ +/data/tombstones/lpass \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/adsp/readonly/firmware b/userspace/root/system/rfs/mdm/adsp/readonly/firmware new file mode 120000 index 0000000..9de451a --- /dev/null +++ b/userspace/root/system/rfs/mdm/adsp/readonly/firmware @@ -0,0 +1 @@ +/firmware \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/adsp/readwrite b/userspace/root/system/rfs/mdm/adsp/readwrite new file mode 120000 index 0000000..027b9d0 --- /dev/null +++ b/userspace/root/system/rfs/mdm/adsp/readwrite @@ -0,0 +1 @@ +/data/persist/rfs/mdm/adsp \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/adsp/shared b/userspace/root/system/rfs/mdm/adsp/shared new file mode 120000 index 0000000..83816bc --- /dev/null +++ b/userspace/root/system/rfs/mdm/adsp/shared @@ -0,0 +1 @@ +/data/persist/rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/mpss/hlos b/userspace/root/system/rfs/mdm/mpss/hlos new file mode 120000 index 0000000..4392d65 --- /dev/null +++ b/userspace/root/system/rfs/mdm/mpss/hlos @@ -0,0 +1 @@ +/data/persist/hlos_rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/mpss/ramdumps b/userspace/root/system/rfs/mdm/mpss/ramdumps new file mode 120000 index 0000000..84298ba --- /dev/null +++ b/userspace/root/system/rfs/mdm/mpss/ramdumps @@ -0,0 +1 @@ +/data/tombstones/modem \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/mpss/readonly/firmware b/userspace/root/system/rfs/mdm/mpss/readonly/firmware new file mode 120000 index 0000000..9de451a --- /dev/null +++ b/userspace/root/system/rfs/mdm/mpss/readonly/firmware @@ -0,0 +1 @@ +/firmware \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/mpss/readwrite b/userspace/root/system/rfs/mdm/mpss/readwrite new file mode 120000 index 0000000..6df3340 --- /dev/null +++ b/userspace/root/system/rfs/mdm/mpss/readwrite @@ -0,0 +1 @@ +/data/persist/rfs/mdm/mpss \ No newline at end of file diff --git a/userspace/root/system/rfs/mdm/mpss/shared b/userspace/root/system/rfs/mdm/mpss/shared new file mode 120000 index 0000000..83816bc --- /dev/null +++ b/userspace/root/system/rfs/mdm/mpss/shared @@ -0,0 +1 @@ +/data/persist/rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/adsp/hlos b/userspace/root/system/rfs/msm/adsp/hlos new file mode 120000 index 0000000..4392d65 --- /dev/null +++ b/userspace/root/system/rfs/msm/adsp/hlos @@ -0,0 +1 @@ +/data/persist/hlos_rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/adsp/ramdumps b/userspace/root/system/rfs/msm/adsp/ramdumps new file mode 120000 index 0000000..6de5142 --- /dev/null +++ b/userspace/root/system/rfs/msm/adsp/ramdumps @@ -0,0 +1 @@ +/data/tombstones/lpass \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/adsp/readonly/firmware b/userspace/root/system/rfs/msm/adsp/readonly/firmware new file mode 120000 index 0000000..9de451a --- /dev/null +++ b/userspace/root/system/rfs/msm/adsp/readonly/firmware @@ -0,0 +1 @@ +/firmware \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/adsp/readwrite b/userspace/root/system/rfs/msm/adsp/readwrite new file mode 120000 index 0000000..54cd963 --- /dev/null +++ b/userspace/root/system/rfs/msm/adsp/readwrite @@ -0,0 +1 @@ +/data/persist/rfs/msm/adsp \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/adsp/shared b/userspace/root/system/rfs/msm/adsp/shared new file mode 120000 index 0000000..83816bc --- /dev/null +++ b/userspace/root/system/rfs/msm/adsp/shared @@ -0,0 +1 @@ +/data/persist/rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/mpss/hlos b/userspace/root/system/rfs/msm/mpss/hlos new file mode 120000 index 0000000..4392d65 --- /dev/null +++ b/userspace/root/system/rfs/msm/mpss/hlos @@ -0,0 +1 @@ +/data/persist/hlos_rfs/shared \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/mpss/ramdumps b/userspace/root/system/rfs/msm/mpss/ramdumps new file mode 120000 index 0000000..84298ba --- /dev/null +++ b/userspace/root/system/rfs/msm/mpss/ramdumps @@ -0,0 +1 @@ +/data/tombstones/modem \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/mpss/readonly/firmware b/userspace/root/system/rfs/msm/mpss/readonly/firmware new file mode 120000 index 0000000..9de451a --- /dev/null +++ b/userspace/root/system/rfs/msm/mpss/readonly/firmware @@ -0,0 +1 @@ +/firmware \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/mpss/readwrite b/userspace/root/system/rfs/msm/mpss/readwrite new file mode 120000 index 0000000..b8445b6 --- /dev/null +++ b/userspace/root/system/rfs/msm/mpss/readwrite @@ -0,0 +1 @@ +/data/persist/rfs/msm/mpss \ No newline at end of file diff --git a/userspace/root/system/rfs/msm/mpss/shared b/userspace/root/system/rfs/msm/mpss/shared new file mode 120000 index 0000000..83816bc --- /dev/null +++ b/userspace/root/system/rfs/msm/mpss/shared @@ -0,0 +1 @@ +/data/persist/rfs/shared \ No newline at end of file diff --git a/userspace/root/usr/bin/PktRspTest b/userspace/root/usr/bin/PktRspTest new file mode 100755 index 0000000..ba71033 Binary files /dev/null and b/userspace/root/usr/bin/PktRspTest differ diff --git a/userspace/root/usr/bin/adsprpcd b/userspace/root/usr/bin/adsprpcd new file mode 100755 index 0000000..088233b Binary files /dev/null and b/userspace/root/usr/bin/adsprpcd differ diff --git a/userspace/root/usr/bin/cdsp.sh b/userspace/root/usr/bin/cdsp.sh new file mode 100755 index 0000000..8d3f9e8 --- /dev/null +++ b/userspace/root/usr/bin/cdsp.sh @@ -0,0 +1,16 @@ +#!/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/cdsprpcd b/userspace/root/usr/bin/cdsprpcd new file mode 100755 index 0000000..8792eaf Binary files /dev/null and b/userspace/root/usr/bin/cdsprpcd differ diff --git a/userspace/root/usr/bin/crasher64 b/userspace/root/usr/bin/crasher64 new file mode 100755 index 0000000..46ee243 Binary files /dev/null and b/userspace/root/usr/bin/crasher64 differ diff --git a/userspace/root/usr/bin/debuggerd64 b/userspace/root/usr/bin/debuggerd64 new file mode 100755 index 0000000..4104ee1 Binary files /dev/null and b/userspace/root/usr/bin/debuggerd64 differ diff --git a/userspace/root/usr/bin/diag_callback_sample b/userspace/root/usr/bin/diag_callback_sample new file mode 100755 index 0000000..1e48dea Binary files /dev/null and b/userspace/root/usr/bin/diag_callback_sample differ diff --git a/userspace/root/usr/bin/diag_dci_sample b/userspace/root/usr/bin/diag_dci_sample new file mode 100755 index 0000000..eab280c Binary files /dev/null and b/userspace/root/usr/bin/diag_dci_sample differ diff --git a/userspace/root/usr/bin/diag_klog b/userspace/root/usr/bin/diag_klog new file mode 100755 index 0000000..58ef192 Binary files /dev/null and b/userspace/root/usr/bin/diag_klog differ diff --git a/userspace/root/usr/bin/diag_mdlog b/userspace/root/usr/bin/diag_mdlog new file mode 100755 index 0000000..112a737 Binary files /dev/null and b/userspace/root/usr/bin/diag_mdlog differ diff --git a/userspace/root/usr/bin/diag_socket_log b/userspace/root/usr/bin/diag_socket_log new file mode 100755 index 0000000..7e02365 Binary files /dev/null and b/userspace/root/usr/bin/diag_socket_log differ diff --git a/userspace/root/usr/bin/diag_uart_log b/userspace/root/usr/bin/diag_uart_log new file mode 100755 index 0000000..d650def Binary files /dev/null and b/userspace/root/usr/bin/diag_uart_log differ diff --git a/userspace/root/usr/bin/fs_mgr b/userspace/root/usr/bin/fs_mgr new file mode 100755 index 0000000..9f411bd Binary files /dev/null and b/userspace/root/usr/bin/fs_mgr differ diff --git a/userspace/root/usr/bin/gbmtest b/userspace/root/usr/bin/gbmtest new file mode 100755 index 0000000..e43beae Binary files /dev/null and b/userspace/root/usr/bin/gbmtest differ diff --git a/userspace/root/usr/bin/getprop b/userspace/root/usr/bin/getprop new file mode 100755 index 0000000..40d30e4 Binary files /dev/null and b/userspace/root/usr/bin/getprop differ diff --git a/userspace/root/usr/bin/getslotsuffix b/userspace/root/usr/bin/getslotsuffix new file mode 100755 index 0000000..4a34db7 --- /dev/null +++ b/userspace/root/usr/bin/getslotsuffix @@ -0,0 +1,31 @@ +#!/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/irsc_util b/userspace/root/usr/bin/irsc_util new file mode 100755 index 0000000..1c48159 Binary files /dev/null and b/userspace/root/usr/bin/irsc_util differ diff --git a/userspace/root/usr/bin/logcat b/userspace/root/usr/bin/logcat new file mode 100755 index 0000000..514aa1a Binary files /dev/null and b/userspace/root/usr/bin/logcat differ diff --git a/userspace/root/usr/bin/logwrapper b/userspace/root/usr/bin/logwrapper new file mode 100755 index 0000000..71d0b6e Binary files /dev/null and b/userspace/root/usr/bin/logwrapper differ diff --git a/userspace/root/usr/bin/pdapitest b/userspace/root/usr/bin/pdapitest new file mode 100755 index 0000000..761a1de Binary files /dev/null and b/userspace/root/usr/bin/pdapitest differ diff --git a/userspace/root/usr/bin/pdmappersvc b/userspace/root/usr/bin/pdmappersvc new file mode 100755 index 0000000..6c8eb57 Binary files /dev/null and b/userspace/root/usr/bin/pdmappersvc differ diff --git a/userspace/root/usr/bin/qmi_test_mt_client_init_instance b/userspace/root/usr/bin/qmi_test_mt_client_init_instance new file mode 100755 index 0000000..1688258 Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_mt_client_init_instance differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_0000 b/userspace/root/usr/bin/qmi_test_service_clnt_test_0000 new file mode 100755 index 0000000..b39c16e Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_0000 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_0001 b/userspace/root/usr/bin/qmi_test_service_clnt_test_0001 new file mode 100755 index 0000000..ac1eff6 Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_0001 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_1000 b/userspace/root/usr/bin/qmi_test_service_clnt_test_1000 new file mode 100755 index 0000000..7897024 Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_1000 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_1001 b/userspace/root/usr/bin/qmi_test_service_clnt_test_1001 new file mode 100755 index 0000000..0f0fd7c Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_1001 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_2000 b/userspace/root/usr/bin/qmi_test_service_clnt_test_2000 new file mode 100755 index 0000000..c8496de Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_2000 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_3000 b/userspace/root/usr/bin/qmi_test_service_clnt_test_3000 new file mode 100755 index 0000000..7d4916f Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_3000 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_3001 b/userspace/root/usr/bin/qmi_test_service_clnt_test_3001 new file mode 100755 index 0000000..4c9f456 Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_3001 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_4000 b/userspace/root/usr/bin/qmi_test_service_clnt_test_4000 new file mode 100755 index 0000000..c57399b Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_4000 differ diff --git a/userspace/root/usr/bin/qmi_test_service_clnt_test_4001 b/userspace/root/usr/bin/qmi_test_service_clnt_test_4001 new file mode 100755 index 0000000..b2144ee Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_clnt_test_4001 differ diff --git a/userspace/root/usr/bin/qmi_test_service_start_svc b/userspace/root/usr/bin/qmi_test_service_start_svc new file mode 100755 index 0000000..85cbf9e Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_start_svc differ diff --git a/userspace/root/usr/bin/qmi_test_service_test b/userspace/root/usr/bin/qmi_test_service_test new file mode 100755 index 0000000..daed83b Binary files /dev/null and b/userspace/root/usr/bin/qmi_test_service_test differ diff --git a/userspace/root/usr/bin/qseecom_sample_client b/userspace/root/usr/bin/qseecom_sample_client new file mode 100755 index 0000000..63c1ea4 Binary files /dev/null and b/userspace/root/usr/bin/qseecom_sample_client differ diff --git a/userspace/root/usr/bin/qseecomd b/userspace/root/usr/bin/qseecomd new file mode 100755 index 0000000..7c94044 Binary files /dev/null and b/userspace/root/usr/bin/qseecomd differ diff --git a/userspace/root/usr/bin/setprop b/userspace/root/usr/bin/setprop new file mode 100755 index 0000000..fea8899 Binary files /dev/null and b/userspace/root/usr/bin/setprop differ diff --git a/userspace/root/usr/bin/sync_test b/userspace/root/usr/bin/sync_test new file mode 100755 index 0000000..5b1f1e4 Binary files /dev/null and b/userspace/root/usr/bin/sync_test differ diff --git a/userspace/root/usr/bin/test_diag b/userspace/root/usr/bin/test_diag new file mode 100755 index 0000000..c3b11cf Binary files /dev/null and b/userspace/root/usr/bin/test_diag differ diff --git a/userspace/root/usr/bin/usb_composition_switch b/userspace/root/usr/bin/usb_composition_switch new file mode 100755 index 0000000..307e94e Binary files /dev/null and b/userspace/root/usr/bin/usb_composition_switch differ diff --git a/userspace/root/usr/bin/wcap-decode b/userspace/root/usr/bin/wcap-decode new file mode 100755 index 0000000..f8d22d7 Binary files /dev/null and b/userspace/root/usr/bin/wcap-decode differ diff --git a/userspace/root/usr/bin/wcnssfilter b/userspace/root/usr/bin/wcnssfilter new file mode 100755 index 0000000..c9a329e Binary files /dev/null and b/userspace/root/usr/bin/wcnssfilter differ diff --git a/userspace/root/usr/bin/weston b/userspace/root/usr/bin/weston new file mode 100755 index 0000000..133f901 Binary files /dev/null and b/userspace/root/usr/bin/weston differ diff --git a/userspace/root/usr/bin/weston-flower b/userspace/root/usr/bin/weston-flower new file mode 100755 index 0000000..2fb5cd9 Binary files /dev/null and b/userspace/root/usr/bin/weston-flower differ diff --git a/userspace/root/usr/bin/weston-fullscreen b/userspace/root/usr/bin/weston-fullscreen new file mode 100755 index 0000000..9c27f0f Binary files /dev/null and b/userspace/root/usr/bin/weston-fullscreen differ diff --git a/userspace/root/usr/bin/weston-info b/userspace/root/usr/bin/weston-info new file mode 100755 index 0000000..86e8f2e Binary files /dev/null and b/userspace/root/usr/bin/weston-info differ diff --git a/userspace/root/usr/bin/weston-terminal b/userspace/root/usr/bin/weston-terminal new file mode 100755 index 0000000..8c14dcc Binary files /dev/null and b/userspace/root/usr/bin/weston-terminal differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libC2D2.so b/userspace/root/usr/lib/aarch64-linux-gnu/libC2D2.so new file mode 100644 index 0000000..9511cd3 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libC2D2.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libCB.so b/userspace/root/usr/lib/aarch64-linux-gnu/libCB.so new file mode 100644 index 0000000..c85c81b Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libCB.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1 new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1 @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0 new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0 @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0.0 new file mode 120000 index 0000000..db30f17 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL.so.1.0.0 @@ -0,0 +1 @@ +libEGL_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libEGL_adreno.so b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL_adreno.so new file mode 100644 index 0000000..d7dd211 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libEGL_adreno.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1 new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1 @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0 new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0 @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0.0 new file mode 120000 index 0000000..f07b3bf --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM.so.1.0.0 @@ -0,0 +1 @@ +libGLESv1_CM_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM_adreno.so b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM_adreno.so new file mode 100644 index 0000000..2841023 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv1_CM_adreno.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2 new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2 @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0 new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0 @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0.0 new file mode 120000 index 0000000..8af4254 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2.so.2.0.0 @@ -0,0 +1 @@ +libGLESv2_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2_adreno.so b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2_adreno.so new file mode 100644 index 0000000..5593fee Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libGLESv2_adreno.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libOpenCL.so b/userspace/root/usr/lib/aarch64-linux-gnu/libOpenCL.so new file mode 100644 index 0000000..850b76a Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libOpenCL.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libQTapGLES.so b/userspace/root/usr/lib/aarch64-linux-gnu/libQTapGLES.so new file mode 100644 index 0000000..e29abc4 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libQTapGLES.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so new file mode 100755 index 0000000..798bb63 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1 new file mode 100755 index 0000000..798bb63 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1.0.0 new file mode 100755 index 0000000..798bb63 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libQseeComApi.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0 new file mode 120000 index 0000000..877b013 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0 @@ -0,0 +1 @@ +libabctl.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0.0.0 new file mode 100755 index 0000000..4a7c6a5 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libabctl.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0 new file mode 120000 index 0000000..5a12ef7 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0 @@ -0,0 +1 @@ +libadbd.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0.0.0 new file mode 100755 index 0000000..7d870c5 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libadbd.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libadreno_utils.so b/userspace/root/usr/lib/aarch64-linux-gnu/libadreno_utils.so new file mode 100644 index 0000000..7c71a8e Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libadreno_utils.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libadsp_default_listener.so b/userspace/root/usr/lib/aarch64-linux-gnu/libadsp_default_listener.so new file mode 100755 index 0000000..d75ac93 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libadsp_default_listener.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libadsprpc.so b/userspace/root/usr/lib/aarch64-linux-gnu/libadsprpc.so new file mode 100755 index 0000000..7f0be9d Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libadsprpc.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0 new file mode 120000 index 0000000..5f42312 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0 @@ -0,0 +1 @@ +libbacktrace.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0.0.0 new file mode 100755 index 0000000..4fd10ed Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libbacktrace.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0 new file mode 120000 index 0000000..90d4060 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0 @@ -0,0 +1 @@ +libbase.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0.0.0 new file mode 100755 index 0000000..03d4113 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libbase.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0 new file mode 120000 index 0000000..3ee0fb2 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0 @@ -0,0 +1 @@ +libbinder.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0.0.0 new file mode 100755 index 0000000..e810dff Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libbinder.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0 new file mode 120000 index 0000000..b0bb479 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0 @@ -0,0 +1 @@ +libbtnv.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0.0.0 new file mode 100755 index 0000000..e85b8c2 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libbtnv.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30-a5xx.so b/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30-a5xx.so new file mode 100644 index 0000000..cdf6ceb Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30-a5xx.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30_bltlib.so b/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30_bltlib.so new file mode 100644 index 0000000..3d22adf Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libc2d30_bltlib.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libcdsp_default_listener.so b/userspace/root/usr/lib/aarch64-linux-gnu/libcdsp_default_listener.so new file mode 100755 index 0000000..28ac8a3 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libcdsp_default_listener.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libcdsprpc.so b/userspace/root/usr/lib/aarch64-linux-gnu/libcdsprpc.so new file mode 100755 index 0000000..fe843fd Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libcdsprpc.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0 new file mode 120000 index 0000000..9486850 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0 @@ -0,0 +1 @@ +libconfigdb.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0.0.0 new file mode 100755 index 0000000..3ce33aa Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libconfigdb.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0 new file mode 120000 index 0000000..76129ed --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0 @@ -0,0 +1 @@ +libcutils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0.0.0 new file mode 100755 index 0000000..629fde9 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libcutils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1 new file mode 120000 index 0000000..4cd198a --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1 @@ -0,0 +1 @@ +libdiag.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1.0.0 new file mode 100755 index 0000000..7743fbd Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdiag.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so new file mode 100755 index 0000000..ef86d41 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1 new file mode 100755 index 0000000..ef86d41 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1.0.0 new file mode 100755 index 0000000..ef86d41 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmfs.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so new file mode 100755 index 0000000..48397dc Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1 new file mode 100755 index 0000000..48397dc Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1.0.0 new file mode 100755 index 0000000..48397dc Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdrmtime.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1 new file mode 120000 index 0000000..0bf5853 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1 @@ -0,0 +1 @@ +libdsutils.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1.0.0 new file mode 100755 index 0000000..b8a03cf Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libdsutils.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libeglSubDriverWayland.so b/userspace/root/usr/lib/aarch64-linux-gnu/libeglSubDriverWayland.so new file mode 100644 index 0000000..4c3d15c Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libeglSubDriverWayland.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0 new file mode 120000 index 0000000..2f6861e --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0 @@ -0,0 +1 @@ +libext4_utils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0.0.0 new file mode 100755 index 0000000..3a394fa Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libext4_utils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0 new file mode 120000 index 0000000..a1445e4 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0 @@ -0,0 +1 @@ +libfs_mgr.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0.0.0 new file mode 100755 index 0000000..257c08f Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libfs_mgr.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libgbm.so b/userspace/root/usr/lib/aarch64-linux-gnu/libgbm.so new file mode 100755 index 0000000..0e42732 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libgbm.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0 new file mode 120000 index 0000000..484ae3a --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0 @@ -0,0 +1 @@ +libgpt.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0.0.0 new file mode 100755 index 0000000..13a6b31 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libgpt.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libgsl.so b/userspace/root/usr/lib/aarch64-linux-gnu/libgsl.so new file mode 100644 index 0000000..4ec8fc4 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libgsl.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0 new file mode 120000 index 0000000..ec72fc4 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0 @@ -0,0 +1 @@ +libhardware.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0.0.0 new file mode 100755 index 0000000..0d2e200 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhardware.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so new file mode 100755 index 0000000..3ae0fe6 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1 new file mode 100755 index 0000000..3ae0fe6 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1.0.0 new file mode 100755 index 0000000..3ae0fe6 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp1prov.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so new file mode 100755 index 0000000..94cee31 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1 new file mode 100755 index 0000000..94cee31 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1.0.0 new file mode 100755 index 0000000..94cee31 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libhdcp2p2prov.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-glnext.so b/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-glnext.so new file mode 100644 index 0000000..e575ec9 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-glnext.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-qcom.so b/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-qcom.so new file mode 100644 index 0000000..494f5ad Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libllvm-qcom.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblmclient.so b/userspace/root/usr/lib/aarch64-linux-gnu/liblmclient.so new file mode 100755 index 0000000..df3105e Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/liblmclient.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 new file mode 120000 index 0000000..cb4f402 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0 @@ -0,0 +1 @@ +liblog.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0.0.0 new file mode 100755 index 0000000..a73e45c Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/liblog.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0 new file mode 120000 index 0000000..2324cdb --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0 @@ -0,0 +1 @@ +liblogwrap.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0.0.0 new file mode 100755 index 0000000..9ec12b9 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/liblogwrap.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libmdsprpc.so b/userspace/root/usr/lib/aarch64-linux-gnu/libmdsprpc.so new file mode 100755 index 0000000..9f7fd9f Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libmdsprpc.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0 new file mode 120000 index 0000000..d6bffcc --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0 @@ -0,0 +1 @@ +libmincrypt.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0.0.0 new file mode 100755 index 0000000..e2e8f98 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libmincrypt.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 new file mode 120000 index 0000000..34fdfd1 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1 @@ -0,0 +1 @@ +libpcre.so.1.2.6 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1.2.6 b/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1.2.6 new file mode 100755 index 0000000..9893618 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libpcre.so.1.2.6 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0 new file mode 120000 index 0000000..5948461 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0 @@ -0,0 +1 @@ +libpdmapper.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0.0.0 new file mode 100755 index 0000000..49f3fff Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libpdmapper.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0 new file mode 120000 index 0000000..35996cc --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0 @@ -0,0 +1 @@ +libpdnotifier.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0.0.0 new file mode 100755 index 0000000..d434d6d Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libpdnotifier.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_adreno.so b/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_adreno.so new file mode 100644 index 0000000..b137a9f Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_adreno.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_esx.so b/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_esx.so new file mode 100644 index 0000000..384d631 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libq3dtools_esx.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1 new file mode 120000 index 0000000..1a947ae --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1 @@ -0,0 +1 @@ +libqmi.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1.0.0 new file mode 100755 index 0000000..9fba599 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1 new file mode 120000 index 0000000..2da3812 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1 @@ -0,0 +1 @@ +libqmi_cci.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1.0.0 new file mode 100755 index 0000000..461777d Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_cci.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1 new file mode 120000 index 0000000..ed6bc82 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1 @@ -0,0 +1 @@ +libqmi_client_qmux.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1.0.0 new file mode 100755 index 0000000..70fef85 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_client_qmux.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1 new file mode 120000 index 0000000..8894326 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1 @@ -0,0 +1 @@ +libqmi_common_so.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1.0.0 new file mode 100755 index 0000000..a6d36fc Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_common_so.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1 new file mode 120000 index 0000000..fb54174 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1 @@ -0,0 +1 @@ +libqmi_csi.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1.0.0 new file mode 100755 index 0000000..506b193 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_csi.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1 new file mode 120000 index 0000000..b9bc15c --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1 @@ -0,0 +1 @@ +libqmi_encdec.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1.0.0 new file mode 100755 index 0000000..29bdb5e Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_encdec.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1 new file mode 120000 index 0000000..1e42f18 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1 @@ -0,0 +1 @@ +libqmi_sap.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1.0.0 new file mode 100755 index 0000000..a779258 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmi_sap.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1 new file mode 120000 index 0000000..19940b2 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1 @@ -0,0 +1 @@ +libqmiidl.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1.0.0 new file mode 100755 index 0000000..5ae9c2d Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiidl.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1 new file mode 120000 index 0000000..e9d2915 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1 @@ -0,0 +1 @@ +libqmiservices.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1.0.0 new file mode 100755 index 0000000..af92247 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libqmiservices.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so new file mode 100755 index 0000000..3c74c65 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1 new file mode 100755 index 0000000..3c74c65 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1.0.0 new file mode 100755 index 0000000..3c74c65 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/librpmb.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsdsp_default_listener.so b/userspace/root/usr/lib/aarch64-linux-gnu/libsdsp_default_listener.so new file mode 100755 index 0000000..034a3e9 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libsdsp_default_listener.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsdsprpc.so b/userspace/root/usr/lib/aarch64-linux-gnu/libsdsprpc.so new file mode 100755 index 0000000..6d8e6f0 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libsdsprpc.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0 new file mode 120000 index 0000000..67eec79 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0 @@ -0,0 +1 @@ +libselinux.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0.0.0 new file mode 100755 index 0000000..c32ed77 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libselinux.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 new file mode 120000 index 0000000..7133e1e --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0 @@ -0,0 +1 @@ +libsparse.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0.0.0 new file mode 100755 index 0000000..d62d1f8 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libsparse.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so new file mode 100755 index 0000000..de11b8b Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1 new file mode 100755 index 0000000..de11b8b Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1.0.0 new file mode 100755 index 0000000..de11b8b Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libssd.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0 new file mode 120000 index 0000000..7fc7b27 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0 @@ -0,0 +1 @@ +libsync.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0.0.0 new file mode 100755 index 0000000..d6fdec0 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libsync.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0 new file mode 120000 index 0000000..fb8dac1 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0 @@ -0,0 +1 @@ +libsysutils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0.0.0 new file mode 100755 index 0000000..e0b22ce Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libsysutils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1 new file mode 120000 index 0000000..6bb6de0 --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1 @@ -0,0 +1 @@ +libtime_genoff.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1.0.0 new file mode 100755 index 0000000..1f8b14b Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libtime_genoff.so.1.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0 new file mode 120000 index 0000000..2a36ebd --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0 @@ -0,0 +1 @@ +libunwind.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0.0.0 new file mode 100755 index 0000000..23779bd Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libunwind.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0 new file mode 120000 index 0000000..6f5422f --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0 @@ -0,0 +1 @@ +libutils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0.0.0 new file mode 100755 index 0000000..0fe72cf Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libutils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so b/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so new file mode 120000 index 0000000..f04dfff --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so @@ -0,0 +1 @@ +libwayland-egl.so.1 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so.1 b/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so.1 new file mode 100644 index 0000000..ca94b3c Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libwayland-egl.so.1 differ diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libwaylandegl.so b/userspace/root/usr/lib/aarch64-linux-gnu/libwaylandegl.so new file mode 120000 index 0000000..f04dfff --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libwaylandegl.so @@ -0,0 +1 @@ +libwayland-egl.so.1 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0 new file mode 120000 index 0000000..a33d92f --- /dev/null +++ b/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0 @@ -0,0 +1 @@ +libxml.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0.0.0 b/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0.0.0 new file mode 100755 index 0000000..de93ec5 Binary files /dev/null and b/userspace/root/usr/lib/aarch64-linux-gnu/libxml.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/hw/gralloc.default.so b/userspace/root/usr/lib/arm-linux-gnueabihf/hw/gralloc.default.so new file mode 120000 index 0000000..2849c69 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/hw/gralloc.default.so @@ -0,0 +1 @@ +/usr/lib/libgralloc.so \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libC2D2.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libC2D2.so new file mode 100644 index 0000000..845820e Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libC2D2.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libCB.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libCB.so new file mode 100644 index 0000000..adea5ed Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libCB.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1 b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1 new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1 @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0 new file mode 120000 index 0000000..ecdb31b --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0 @@ -0,0 +1 @@ +libEGL.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 new file mode 120000 index 0000000..db30f17 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL.so.1.0.0 @@ -0,0 +1 @@ +libEGL_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL_adreno.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL_adreno.so new file mode 100644 index 0000000..432461a Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libEGL_adreno.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1 @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0 new file mode 120000 index 0000000..20d9890 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0 @@ -0,0 +1 @@ +libGLESv1_CM.so.1.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0.0 new file mode 120000 index 0000000..f07b3bf --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM.so.1.0.0 @@ -0,0 +1 @@ +libGLESv1_CM_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM_adreno.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM_adreno.so new file mode 100644 index 0000000..e873a36 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv1_CM_adreno.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2 @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0 new file mode 120000 index 0000000..2f3ba82 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0 @@ -0,0 +1 @@ +libGLESv2.so.2.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 new file mode 120000 index 0000000..8af4254 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2.so.2.0.0 @@ -0,0 +1 @@ +libGLESv2_adreno.so \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2_adreno.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2_adreno.so new file mode 100644 index 0000000..b96bb95 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libGLESv2_adreno.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libOpenCL.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libOpenCL.so new file mode 100644 index 0000000..1b32317 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libOpenCL.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libQTapGLES.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libQTapGLES.so new file mode 100644 index 0000000..e9629c5 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libQTapGLES.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libadreno_utils.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libadreno_utils.so new file mode 100644 index 0000000..d08c700 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libadreno_utils.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libadsp_default_listener.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libadsp_default_listener.so new file mode 100755 index 0000000..1280da5 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libadsp_default_listener.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libadsprpc.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libadsprpc.so new file mode 100755 index 0000000..5b03c4b Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libadsprpc.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0 new file mode 120000 index 0000000..3ee0fb2 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0 @@ -0,0 +1 @@ +libbinder.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0.0.0 new file mode 100755 index 0000000..468ccd6 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libbinder.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30-a5xx.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30-a5xx.so new file mode 100644 index 0000000..4c3528a Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30-a5xx.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30_bltlib.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30_bltlib.so new file mode 100644 index 0000000..748dcb5 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libc2d30_bltlib.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsp_default_listener.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsp_default_listener.so new file mode 100755 index 0000000..a0f6625 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsp_default_listener.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsprpc.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsprpc.so new file mode 100755 index 0000000..7a85472 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libcdsprpc.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0 new file mode 120000 index 0000000..76129ed --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0 @@ -0,0 +1 @@ +libcutils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0.0.0 new file mode 100755 index 0000000..20718e8 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libcutils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libdrmutils.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libdrmutils.so new file mode 100755 index 0000000..f96cc6d Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libdrmutils.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libeglSubDriverWayland.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libeglSubDriverWayland.so new file mode 100644 index 0000000..8cdba95 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libeglSubDriverWayland.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libgbm.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libgbm.so new file mode 100755 index 0000000..932629c Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libgbm.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libgpu_tonemapper.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libgpu_tonemapper.so new file mode 100755 index 0000000..017bed7 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libgpu_tonemapper.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libgsl.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libgsl.so new file mode 100644 index 0000000..a79241f Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libgsl.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0 new file mode 120000 index 0000000..ec72fc4 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0 @@ -0,0 +1 @@ +libhardware.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0.0.0 new file mode 100755 index 0000000..3184fcb Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libhardware.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libhdr_tm.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libhdr_tm.so new file mode 100755 index 0000000..97aee07 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libhdr_tm.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-glnext.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-glnext.so new file mode 100644 index 0000000..d62bf6c Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-glnext.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-qcom.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-qcom.so new file mode 100644 index 0000000..09c84d1 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libllvm-qcom.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0 new file mode 120000 index 0000000..cb4f402 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0 @@ -0,0 +1 @@ +liblog.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0.0.0 new file mode 100755 index 0000000..334810f Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/liblog.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0 new file mode 120000 index 0000000..2324cdb --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0 @@ -0,0 +1 @@ +liblogwrap.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0.0.0 new file mode 100755 index 0000000..60f5738 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/liblogwrap.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libmdsprpc.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libmdsprpc.so new file mode 100755 index 0000000..faadf24 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libmdsprpc.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1 b/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1 new file mode 120000 index 0000000..34fdfd1 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1 @@ -0,0 +1 @@ +libpcre.so.1.2.6 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1.2.6 b/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1.2.6 new file mode 100755 index 0000000..e08d710 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libpcre.so.1.2.6 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_adreno.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_adreno.so new file mode 100644 index 0000000..9138ee6 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_adreno.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_esx.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_esx.so new file mode 100644 index 0000000..021cd26 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libq3dtools_esx.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libscalar.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libscalar.so new file mode 100755 index 0000000..cd8fee3 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libscalar.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsdedrm.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdedrm.so new file mode 100755 index 0000000..7875915 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdedrm.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmcore.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmcore.so new file mode 100755 index 0000000..8e59e69 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmcore.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmextension.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmextension.so new file mode 100755 index 0000000..a4d9eb5 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmextension.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmutils.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmutils.so new file mode 100755 index 0000000..d9321de Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libsdmutils.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0 new file mode 120000 index 0000000..7fc7b27 --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0 @@ -0,0 +1 @@ +libsync.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0.0.0 new file mode 100755 index 0000000..06a4a9d Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libsync.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0 new file mode 120000 index 0000000..6f5422f --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0 @@ -0,0 +1 @@ +libutils.so.0.0.0 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0.0.0 b/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0.0.0 new file mode 100755 index 0000000..c9f19c2 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libutils.so.0.0.0 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so new file mode 120000 index 0000000..f04dfff --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so @@ -0,0 +1 @@ +libwayland-egl.so.1 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so.1 b/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so.1 new file mode 100644 index 0000000..3938064 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/libwayland-egl.so.1 differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/libwaylandegl.so b/userspace/root/usr/lib/arm-linux-gnueabihf/libwaylandegl.so new file mode 120000 index 0000000..f04dfff --- /dev/null +++ b/userspace/root/usr/lib/arm-linux-gnueabihf/libwaylandegl.so @@ -0,0 +1 @@ +libwayland-egl.so.1 \ No newline at end of file diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/desktop-shell.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/desktop-shell.so new file mode 100755 index 0000000..b9ddaac Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/desktop-shell.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/drm-backend.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/drm-backend.so new file mode 100755 index 0000000..ce8259a Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/drm-backend.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/fullscreen-shell.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/fullscreen-shell.so new file mode 100755 index 0000000..0a0c935 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/fullscreen-shell.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/gl-renderer.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/gl-renderer.so new file mode 100755 index 0000000..607c66b Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/gl-renderer.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/hmi-controller.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/hmi-controller.so new file mode 100755 index 0000000..58011ae Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/hmi-controller.so differ diff --git a/userspace/root/usr/lib/arm-linux-gnueabihf/weston/ivi-shell.so b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/ivi-shell.so new file mode 100755 index 0000000..dae4e96 Binary files /dev/null and b/userspace/root/usr/lib/arm-linux-gnueabihf/weston/ivi-shell.so differ diff --git a/userspace/root/usr/lib64/libOpenCL.so b/userspace/root/usr/lib64/libOpenCL.so new file mode 120000 index 0000000..bb23dbc --- /dev/null +++ b/userspace/root/usr/lib64/libOpenCL.so @@ -0,0 +1 @@ +/usr/lib/aarch64-linux-gnu/libOpenCL.so \ No newline at end of file diff --git a/userspace/root/usr/libexec/weston-desktop-shell b/userspace/root/usr/libexec/weston-desktop-shell new file mode 100755 index 0000000..99c92d1 Binary files /dev/null and b/userspace/root/usr/libexec/weston-desktop-shell differ diff --git a/userspace/root/usr/libexec/weston-ivi-shell-user-interface b/userspace/root/usr/libexec/weston-ivi-shell-user-interface new file mode 100755 index 0000000..a30d5ee Binary files /dev/null and b/userspace/root/usr/libexec/weston-ivi-shell-user-interface differ diff --git a/userspace/root/usr/libexec/weston-keyboard b/userspace/root/usr/libexec/weston-keyboard new file mode 100755 index 0000000..f8b155f Binary files /dev/null and b/userspace/root/usr/libexec/weston-keyboard differ diff --git a/userspace/root/usr/libexec/weston-screenshooter b/userspace/root/usr/libexec/weston-screenshooter new file mode 100755 index 0000000..f94f004 Binary files /dev/null and b/userspace/root/usr/libexec/weston-screenshooter differ diff --git a/userspace/root/usr/libexec/weston-simple-im b/userspace/root/usr/libexec/weston-simple-im new file mode 100755 index 0000000..d041103 Binary files /dev/null and b/userspace/root/usr/libexec/weston-simple-im differ diff --git a/userspace/root/usr/local/qr-linux/adsp-start.sh b/userspace/root/usr/local/qr-linux/adsp-start.sh new file mode 100755 index 0000000..2531fd8 --- /dev/null +++ b/userspace/root/usr/local/qr-linux/adsp-start.sh @@ -0,0 +1,67 @@ +#!/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/root/usr/sbin/cnss_daemon b/userspace/root/usr/sbin/cnss_daemon new file mode 100755 index 0000000..ed171dd Binary files /dev/null and b/userspace/root/usr/sbin/cnss_daemon differ diff --git a/userspace/root/usr/share/wayland-sessions/weston.desktop b/userspace/root/usr/share/wayland-sessions/weston.desktop new file mode 100644 index 0000000..102ee17 --- /dev/null +++ b/userspace/root/usr/share/wayland-sessions/weston.desktop @@ -0,0 +1,5 @@ +[Desktop Entry] +Name=Weston +Comment=The reference Wayland server +Exec=dbus-launch --exit-with-session weston +Type=Application diff --git a/userspace/root/usr/share/weston/background.png b/userspace/root/usr/share/weston/background.png new file mode 100644 index 0000000..60c317c Binary files /dev/null and b/userspace/root/usr/share/weston/background.png differ diff --git a/userspace/root/usr/share/weston/border.png b/userspace/root/usr/share/weston/border.png new file mode 100644 index 0000000..6a3a8f9 Binary files /dev/null and b/userspace/root/usr/share/weston/border.png differ diff --git a/userspace/root/usr/share/weston/fullscreen.png b/userspace/root/usr/share/weston/fullscreen.png new file mode 100644 index 0000000..dc5a302 Binary files /dev/null and b/userspace/root/usr/share/weston/fullscreen.png differ diff --git a/userspace/root/usr/share/weston/home.png b/userspace/root/usr/share/weston/home.png new file mode 100644 index 0000000..af9f603 Binary files /dev/null and b/userspace/root/usr/share/weston/home.png differ diff --git a/userspace/root/usr/share/weston/icon_ivi_clickdot.png b/userspace/root/usr/share/weston/icon_ivi_clickdot.png new file mode 100644 index 0000000..711bcfc Binary files /dev/null and b/userspace/root/usr/share/weston/icon_ivi_clickdot.png differ diff --git a/userspace/root/usr/share/weston/icon_ivi_flower.png b/userspace/root/usr/share/weston/icon_ivi_flower.png new file mode 100644 index 0000000..0a71479 Binary files /dev/null and b/userspace/root/usr/share/weston/icon_ivi_flower.png differ diff --git a/userspace/root/usr/share/weston/icon_ivi_simple-egl.png b/userspace/root/usr/share/weston/icon_ivi_simple-egl.png new file mode 100644 index 0000000..0253950 Binary files /dev/null and b/userspace/root/usr/share/weston/icon_ivi_simple-egl.png differ diff --git a/userspace/root/usr/share/weston/icon_ivi_simple-shm.png b/userspace/root/usr/share/weston/icon_ivi_simple-shm.png new file mode 100644 index 0000000..6aacaaa Binary files /dev/null and b/userspace/root/usr/share/weston/icon_ivi_simple-shm.png differ diff --git a/userspace/root/usr/share/weston/icon_ivi_smoke.png b/userspace/root/usr/share/weston/icon_ivi_smoke.png new file mode 100644 index 0000000..0dbe20e Binary files /dev/null and b/userspace/root/usr/share/weston/icon_ivi_smoke.png differ diff --git a/userspace/root/usr/share/weston/icon_window.png b/userspace/root/usr/share/weston/icon_window.png new file mode 100644 index 0000000..2587ca3 Binary files /dev/null and b/userspace/root/usr/share/weston/icon_window.png differ diff --git a/userspace/root/usr/share/weston/panel.png b/userspace/root/usr/share/weston/panel.png new file mode 100644 index 0000000..0fd72b8 Binary files /dev/null and b/userspace/root/usr/share/weston/panel.png differ diff --git a/userspace/root/usr/share/weston/pattern.png b/userspace/root/usr/share/weston/pattern.png new file mode 100644 index 0000000..5ac8986 Binary files /dev/null and b/userspace/root/usr/share/weston/pattern.png differ diff --git a/userspace/root/usr/share/weston/random.png b/userspace/root/usr/share/weston/random.png new file mode 100644 index 0000000..7640aa0 Binary files /dev/null and b/userspace/root/usr/share/weston/random.png differ diff --git a/userspace/root/usr/share/weston/sidebyside.png b/userspace/root/usr/share/weston/sidebyside.png new file mode 100644 index 0000000..98ea780 Binary files /dev/null and b/userspace/root/usr/share/weston/sidebyside.png differ diff --git a/userspace/root/usr/share/weston/sign_close.png b/userspace/root/usr/share/weston/sign_close.png new file mode 100644 index 0000000..741ea0b Binary files /dev/null and b/userspace/root/usr/share/weston/sign_close.png differ diff --git a/userspace/root/usr/share/weston/sign_maximize.png b/userspace/root/usr/share/weston/sign_maximize.png new file mode 100644 index 0000000..2443a4c Binary files /dev/null and b/userspace/root/usr/share/weston/sign_maximize.png differ diff --git a/userspace/root/usr/share/weston/sign_minimize.png b/userspace/root/usr/share/weston/sign_minimize.png new file mode 100644 index 0000000..f4f3d9d Binary files /dev/null and b/userspace/root/usr/share/weston/sign_minimize.png differ diff --git a/userspace/root/usr/share/weston/terminal.png b/userspace/root/usr/share/weston/terminal.png new file mode 100644 index 0000000..3c02dd2 Binary files /dev/null and b/userspace/root/usr/share/weston/terminal.png differ diff --git a/userspace/root/usr/share/weston/tiling.png b/userspace/root/usr/share/weston/tiling.png new file mode 100644 index 0000000..dd3e02c Binary files /dev/null and b/userspace/root/usr/share/weston/tiling.png differ diff --git a/userspace/root/usr/share/weston/wayland.png b/userspace/root/usr/share/weston/wayland.png new file mode 100644 index 0000000..1b7363e Binary files /dev/null and b/userspace/root/usr/share/weston/wayland.png differ diff --git a/userspace/root/usr/share/weston/wayland.svg b/userspace/root/usr/share/weston/wayland.svg new file mode 100644 index 0000000..f148815 --- /dev/null +++ b/userspace/root/usr/share/weston/wayland.svg @@ -0,0 +1,101 @@ + + + + + + + + + + + image/svg+xml + + + + + + + + + + + +