#!/bin/sh set -e # Wait for adbd to open ep0 before activating the UDC. Without systemd # sd_notify synchronisation there is no other signal that adbd is ready, so # a fixed delay is used. When this script is invoked via ExecStartPost in a # Type=notify service, adbd has already sent READY=1 before this runs and # no delay is needed; set ANDROID_GADGET_UDC_DELAY=0 in that case (e.g. via # a systemd drop-in Environment= line). ANDROID_GADGET_UDC_DELAY="${ANDROID_GADGET_UDC_DELAY:-10}" sleep "$ANDROID_GADGET_UDC_DELAY" ls /sys/class/udc/ | head -n 1 | xargs echo -n > /sys/kernel/config/usb_gadget/adb/UDC echo "Setting UDC $(ls /sys/class/udc/ | head -n 1) for USB ADB Gadget usage"