2727if [ -z " $__INIT_ENV_LOADED " ]; then
2828 # shellcheck disable=SC1090
2929 . " $INIT_ENV "
30+ __INIT_ENV_LOADED=1
3031fi
3132# Always source functestlib.sh, using $TOOLS exported by init_env
3233# shellcheck disable=SC1090,SC1091
@@ -42,20 +43,16 @@ log_info "----------------------------------------------------------------------
4243log_info " -------------------Starting $TESTNAME Testcase----------------------------"
4344log_info " === Test Initialization ==="
4445
45- # Check if lsusb is installed, else skip test
46- check_dependencies lsusb grep || {
47- log_skip " $TESTNAME SKIP - lsusb is missing"
48- echo " $TESTNAME SKIP" > " $RES_FILE "
49- exit 0
50- }
46+ # Check if grep is installed, else skip test
47+ deps_list=" grep"
48+ check_dependencies " $deps_list "
5149
50+ # Count interfaces with bInterfaceClass = 03 (HID) under /sys/bus/usb/devices
51+ hid_iface_count=0
5252log_info " === USB HID device Detection ==="
53- hid_iface_count=" $( lsusb -v 2> /dev/null | grep -i ' Human Interface Device ' | wc -l) "
53+ hid_iface_count=" $( cat /sys/bus/usb/devices/ * /bInterfaceClass 2> /dev/null | grep -i ' 03 ' | wc -l) "
5454
55- echo " lsusb -v HID descriptors:"
56- lsusb -v 2> /dev/null | grep -i ' Human Interface Device' || true
57-
58- echo " Number of HID interfaces found: $hid_iface_count "
55+ printf " Number of HID interfaces found: $hid_iface_count "
5956
6057if [ " $hid_iface_count " -gt 0 ]; then
6158 log_pass " $TESTNAME : Test Passed - USB HID interface(s) detected"
0 commit comments