From a3ccb527b2024c049d2be9f86268f3c28f94576c Mon Sep 17 00:00:00 2001 From: Neucrack Date: Thu, 17 Apr 2025 19:58:46 +0800 Subject: [PATCH] add usb adbd support, enable with create /boot/usb.adbd file --- .gitignore | 1 + .../SG200X/overlay/etc/init.d/S03usbdev | 28 ++++++++++++++++++- .../cvitek_SG200X_musl_riscv64_defconfig | 7 +++++ 3 files changed, 35 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index b6e7800af..c8415f20e 100644 --- a/.gitignore +++ b/.gitignore @@ -420,3 +420,4 @@ osdrv/extdrv/wireless/.tmp_4261/ middleware/v2/lib host-tools/ kvm/ +.vscode* diff --git a/buildroot/board/cvitek/SG200X/overlay/etc/init.d/S03usbdev b/buildroot/board/cvitek/SG200X/overlay/etc/init.d/S03usbdev index 27f2cc88f..a5dff6b7d 100755 --- a/buildroot/board/cvitek/SG200X/overlay/etc/init.d/S03usbdev +++ b/buildroot/board/cvitek/SG200X/overlay/etc/init.d/S03usbdev @@ -168,7 +168,33 @@ then ln -s functions/hid.GS2 configs/c.1 fi - ls /sys/class/udc/ | cat > UDC + # adbd + if [ -e /boot/usb.adbd ] + then + echo 0x18d1 > idVendor # google + mkdir -p configs/c.1/strings/0x409 + echo "" > configs/c.1/strings/0x409/configuration + echo 0x80 > configs/c.1/bmAttributes + mkdir functions/ffs.adb + ln -s functions/ffs.adb configs/c.1/ + mkdir -p /dev/usb-ffs/adb + mount -t functionfs adb /dev/usb-ffs/adb/ + /usr/bin/adbd & + for i in $(seq 1 40); do + if [ -e /dev/usb-ffs/adb/ep2 ]; then + break + fi + sleep 0.1 + done + fi + while true; do + ls /sys/class/udc/ | cat > UDC || true + res=$(cat UDC) + if [[ "x$res" != "x" ]]; then + break + fi + sleep 0.4 + done echo device > /proc/cviusb/otg_role fi fi diff --git a/buildroot/configs/cvitek_SG200X_musl_riscv64_defconfig b/buildroot/configs/cvitek_SG200X_musl_riscv64_defconfig index e8be2933d..1038fdb1b 100644 --- a/buildroot/configs/cvitek_SG200X_musl_riscv64_defconfig +++ b/buildroot/configs/cvitek_SG200X_musl_riscv64_defconfig @@ -41,6 +41,13 @@ BR2_PACKAGE_AIC8800_SDIO_FIRMWARE=y BR2_PACKAGE_CVITEK_RISCV64_MUSL_SYSROOT=y +BR2_PACKAGE_ANDROID_TOOLS=y +BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT_GOOD_KERNEL_HEADERS=y +# BR2_PACKAGE_ANDROID_TOOLS_FASTBOOT is not set +# BR2_PACKAGE_ANDROID_TOOLS_ADB is not set +BR2_PACKAGE_ANDROID_TOOLS_ADBD=y +# BR2_PACKAGE_HOST_ANDROID_TOOLS is not set + BR2_INIT_SYSV=y BR2_ROOTFS_MERGED_USR=y BR2_ENABLE_LOCALE_WHITELIST="C en_US en_US.utf8"