cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

usbip_test.sh (5972B)


      1#!/bin/bash
      2# SPDX-License-Identifier: GPL-2.0
      3
      4# Kselftest framework requirement - SKIP code is 4.
      5ksft_skip=4
      6
      7usage() { echo "usbip_test.sh -b <busid> -p <usbip tools path>"; exit 1; }
      8
      9while getopts "h:b:p:" arg; do
     10    case "${arg}" in
     11	h)
     12	    usage
     13	    ;;
     14	b)
     15	    busid=${OPTARG}
     16	    ;;
     17	p)
     18	    tools_path=${OPTARG}
     19	    ;;
     20	*)
     21	    usage
     22	    ;;
     23    esac
     24done
     25shift $((OPTIND-1))
     26
     27if [ -z "${busid}" ]; then
     28	usage
     29fi
     30
     31echo "Running USB over IP Testing on $busid";
     32
     33test_end_msg="End of USB over IP Testing on $busid"
     34
     35if [ $UID != 0 ]; then
     36	echo "Please run usbip_test as root [SKIP]"
     37	echo $test_end_msg
     38	exit $ksft_skip
     39fi
     40
     41echo "Load usbip_host module"
     42if ! /sbin/modprobe -q -n usbip_host; then
     43	echo "usbip_test: module usbip_host is not found [SKIP]"
     44	echo $test_end_msg
     45	exit $ksft_skip
     46fi
     47
     48if /sbin/modprobe -q usbip_host; then
     49	echo "usbip_test: module usbip_host is loaded [OK]"
     50else
     51	echo "usbip_test: module usbip_host failed to load [FAIL]"
     52	echo $test_end_msg
     53	exit 1
     54fi
     55
     56echo "Load vhci_hcd module"
     57if /sbin/modprobe -q vhci_hcd; then
     58	echo "usbip_test: module vhci_hcd is loaded [OK]"
     59else
     60	echo "usbip_test: module vhci_hcd failed to load [FAIL]"
     61	echo $test_end_msg
     62	exit 1
     63fi
     64echo "=============================================================="
     65
     66cd $tools_path;
     67
     68if [ ! -f src/usbip ]; then
     69	echo "Please build usbip tools"
     70	echo $test_end_msg
     71	exit $ksft_skip
     72fi
     73
     74echo "Expect to see export-able devices";
     75src/usbip list -l;
     76echo "=============================================================="
     77
     78echo "Run lsusb to see all usb devices"
     79lsusb -t;
     80echo "=============================================================="
     81
     82src/usbipd -D;
     83
     84echo "Get exported devices from localhost - expect to see none";
     85src/usbip list -r localhost;
     86echo "=============================================================="
     87
     88echo "bind devices";
     89src/usbip bind -b $busid;
     90echo "=============================================================="
     91
     92echo "Run lsusb - bound devices should be under usbip_host control"
     93lsusb -t;
     94echo "=============================================================="
     95
     96echo "bind devices - expect already bound messages"
     97src/usbip bind -b $busid;
     98echo "=============================================================="
     99
    100echo "Get exported devices from localhost - expect to see exported devices";
    101src/usbip list -r localhost;
    102echo "=============================================================="
    103
    104echo "unbind devices";
    105src/usbip unbind -b $busid;
    106echo "=============================================================="
    107
    108echo "Run lsusb - bound devices should be rebound to original drivers"
    109lsusb -t;
    110echo "=============================================================="
    111
    112echo "unbind devices - expect no devices bound message";
    113src/usbip unbind -b $busid;
    114echo "=============================================================="
    115
    116echo "Get exported devices from localhost - expect to see none";
    117src/usbip list -r localhost;
    118echo "=============================================================="
    119
    120echo "List imported devices - expect to see none";
    121src/usbip port;
    122echo "=============================================================="
    123
    124echo "Import devices from localhost - should fail with no devices"
    125src/usbip attach -r localhost -b $busid;
    126echo "=============================================================="
    127
    128echo "bind devices";
    129src/usbip bind -b $busid;
    130echo "=============================================================="
    131
    132echo "List imported devices - expect to see exported devices";
    133src/usbip list -r localhost;
    134echo "=============================================================="
    135
    136echo "List imported devices - expect to see none";
    137src/usbip port;
    138echo "=============================================================="
    139
    140echo "Import devices from localhost - should work"
    141src/usbip attach -r localhost -b $busid;
    142echo "=============================================================="
    143
    144# Wait for sysfs file to be updated. Without this sleep, usbip port
    145# shows no imported devices.
    146sleep 3;
    147
    148echo "List imported devices - expect to see imported devices";
    149src/usbip port;
    150echo "=============================================================="
    151
    152echo "Import devices from localhost - expect already imported messages"
    153src/usbip attach -r localhost -b $busid;
    154echo "=============================================================="
    155
    156echo "Un-import devices";
    157src/usbip detach -p 00;
    158src/usbip detach -p 01;
    159echo "=============================================================="
    160
    161echo "List imported devices - expect to see none";
    162src/usbip port;
    163echo "=============================================================="
    164
    165echo "Un-import devices - expect no devices to detach messages";
    166src/usbip detach -p 00;
    167src/usbip detach -p 01;
    168echo "=============================================================="
    169
    170echo "Detach invalid port tests - expect invalid port error message";
    171src/usbip detach -p 100;
    172echo "=============================================================="
    173
    174echo "Expect to see export-able devices";
    175src/usbip list -l;
    176echo "=============================================================="
    177
    178echo "Remove usbip_host module";
    179rmmod usbip_host;
    180
    181echo "Run lsusb - bound devices should be rebound to original drivers"
    182lsusb -t;
    183echo "=============================================================="
    184
    185echo "Run bind without usbip_host - expect fail"
    186src/usbip bind -b $busid;
    187echo "=============================================================="
    188
    189echo "Run lsusb - devices that failed to bind aren't bound to any driver"
    190lsusb -t;
    191echo "=============================================================="
    192
    193echo "modprobe usbip_host - does it work?"
    194/sbin/modprobe usbip_host
    195echo "Should see -busid- is not in match_busid table... skip! dmesg"
    196echo "=============================================================="
    197dmesg | grep "is not in match_busid table"
    198echo "=============================================================="
    199
    200echo $test_end_msg