From 2a874016ea79307ae29a7abe03350feafc2ad448 Mon Sep 17 00:00:00 2001 From: Aanchal Chaurasia Date: Thu, 15 May 2025 11:07:18 +0530 Subject: [PATCH 1/2] Add test script to validate USB Host mode The shell script verifies the enumeration of USB devices connected to DUT for testing USB Host mode functionality. Signed-off-by: Aanchal Chaurasia --- .../FunctionalArea/baseport/USBHost/run.sh | 45 +++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Runner/suites/Kernel/FunctionalArea/baseport/USBHost/run.sh diff --git a/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/run.sh b/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/run.sh new file mode 100644 index 00000000..d60e8f02 --- /dev/null +++ b/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/run.sh @@ -0,0 +1,45 @@ +#!/bin/sh + +# Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. +# SPDX-License-Identifier: BSD-3-Clause-Clear + +#Setup requires at least one USB peripheral connected to USB port that supports Host mode function + +# Import test suite definitions +. "${PWD}"/init_env +TESTNAME="USBHost" + +#import test functions library +. "${TOOLS}"/functestlib.sh +test_path=$(find_test_case_by_name "$TESTNAME") +log_info "-----------------------------------------------------------------------------------------" +log_info "-------------------Starting $TESTNAME Testcase----------------------------" + +log_info "Running USB Host enumeration test" + +# Check if lsusb is installed +check_dependencies lsusb + +# Run lsusb and capture output +usb_output=$(lsusb) +device_count=$(echo "$usb_output" | wc -l) + +# Filter out USB hubs +non_hub_count=$(echo "$usb_output" | grep -vi "hub" | wc -l) + +echo "Enumerated USB devices..." +echo "$usb_output" + +# Check if any USB devices were found +if [ "$device_count" -eq 0 ]; then +    log_fail "$TESTNAME : Test Failed - No USB devices found." +    echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res +elif [ "$non_hub_count" -eq 0 ]; then +    log_fail "$TESTNAME : Test Failed - Only USB hubs detected, no functional USB devices." +    echo "$TESTNAME FAIL" > $test_path/$TESTNAME.res +else +    log_pass "$TESTNAME : Test Passed - $non_hub_count non-hub USB device(s) found." +    echo "$TESTNAME PASS" > $test_path/$TESTNAME.res +fi + +log_info "-------------------Completed $TESTNAME Testcase----------------------------" \ No newline at end of file From fd1982324ca641ff173b5bc0864b26e625938014 Mon Sep 17 00:00:00 2001 From: Aanchal Chaurasia Date: Fri, 16 May 2025 15:52:39 +0530 Subject: [PATCH 2/2] Add documentation for Runner/../USBHost/run.sh Added setup information and basic requirements. This informs the tester of the hardware setup requirement before starting test. Signed-off-by: Aanchal Chaurasia --- .../FunctionalArea/baseport/USBHost/README.md | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 Runner/suites/Kernel/FunctionalArea/baseport/USBHost/README.md diff --git a/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/README.md b/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/README.md new file mode 100644 index 00000000..aa5937d7 --- /dev/null +++ b/Runner/suites/Kernel/FunctionalArea/baseport/USBHost/README.md @@ -0,0 +1,27 @@ +``` +Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. +SPDX-License-Identifier: BSD-3-Clause-Clear +``` + +# USB Host Mode Validation + +## Overview + +This shell script executes on the DUT (Device-Under-Test) and verifies enumeration of connected USB devices. + +--- + +## Setup + +- Connect USB peripheral(s) to USB port(s) on DUT. +- Only applicable for USB ports that support Host Mode functionality. +- USB peripherals examples: Mass Storage devices (pendrives, SSD, hard drives, etc.), HID devices (Mouse, Keyboard, USB headset, USB camera, etc.) + +--- + +## License + +``` +Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries. +SPDX-License-Identifier: BSD-3-Clause-Clear +```