Hi all, I have played usbtest and g_zero (f_sourcesink & f_loopback) to do the tests between two boards these days, and have found some restrictions, I list them here, and to see if they are common problems and can be improved or not. - Test 13 will fail due to there is pending IN request (f_sourcesink will queue a request unconditionally at its completion), and udc driver will run out error if that. udc driver must do that if it wants to pass USB CV2.0 MSC TEST. (othwerwise, "Command Set Test - Device Configured" will fail) - The parameter 'vary' must be the same with 'length' when do bulk/iso READ test, the host's packet size can't be smaller than device's. And 'vary' must be smaller than 'length' when do ctrl test. - When using pattern = 1 as module parameters to compare the data, the packet size must be same between host and device's. So, I do the test, I need to write customize commands for kinds of tests Eg: below are two module parameters: modprobe usbtest pattern=1 alt=1 (host side) modprobe g_zero pattern=1 buflen=512 isoc_interval=1 isoc_mult=2 (device side) The test script is like below: counter = 0 while [ 1 ] do i=0; while [ "$i" -lt 14 ] do ./testusb -a -t $i i=$(( $i + 1 )) done ./testusb -a -t 14 -v 128 ./testusb -a -t 15 ./testusb -a -t 16 -s 3072 ./testusb -a -t 17 ./testusb -a -t 18 ./testusb -a -t 19 ./testusb -a -t 20 ./testusb -a -t 21 -v 128 ./testusb -a -t 22 ./testusb -a -t 23 -s 3072 ./testusb -a -t 24 counter=$(( $counter + 1 )) echo "loop $counter th ends\n" done Thanks. -- Best Regards, Peter Chen -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html