~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/tools/testing/selftests/drivers/usb/usbip/usbip_test.sh

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php