zephyrproject-rtos / zephyr

Primary Git Repository for the Zephyr Project. Zephyr is a new generation, scalable, optimized, secure RTOS for multiple hardware architectures.
https://docs.zephyrproject.org
Apache License 2.0
10.07k stars 6.18k forks source link

USB conformance tests #11803

Open carlescufi opened 5 years ago

carlescufi commented 5 years ago

There are 2 sets of USB conformance tests that the Zephyr USB stack should be compliant with:

This issue tracks the status of the different tests against the Zephyr USB stack:

Note: I recommend you use https://www.tablesgenerator.com/markdown_tables#

USB3CV

dw nrfx stm32 kinetis sam sam0
HID :heavy_check_mark: :heavy_check_mark:
MSC :x: :heavy_check_mark:
CDC_ACM :heavy_check_mark:

Linux usb-test

test case dw nrfx stm32 kinetis sam sam0
0 :heavy_check_mark: :heavy_check_mark:
1 :heavy_check_mark: :heavy_check_mark:
2 :heavy_check_mark: :heavy_check_mark:
3 :heavy_check_mark: :heavy_check_mark:
4 :heavy_check_mark: :heavy_check_mark:
5 :heavy_check_mark: :heavy_check_mark:
6 :heavy_check_mark: :heavy_check_mark:
7 :heavy_check_mark: :heavy_check_mark:
8 :heavy_check_mark: :heavy_check_mark:
9 :heavy_check_mark: :heavy_check_mark:
10 :heavy_check_mark: :heavy_check_mark:
11 :heavy_check_mark: :heavy_check_mark:
12 :heavy_check_mark: :heavy_check_mark:
13 :heavy_check_mark: :heavy_check_mark:
14 :heavy_check_mark: :heavy_check_mark:
15 N/A N/A
16 N/A N/A
17 :heavy_check_mark: :heavy_check_mark:
18 :heavy_check_mark: :heavy_check_mark:
19 :heavy_check_mark: :heavy_check_mark:
20 :heavy_check_mark: :heavy_check_mark:
21 :heavy_check_mark: :heavy_check_mark:
22 N/A N/A
23 N/A N/A
24 :heavy_check_mark: :heavy_check_mark:
25 N/A N/A
26 N/A N/A
27 :heavy_check_mark: :heavy_check_mark:
28 :heavy_check_mark: :heavy_check_mark:
29 :question: :heavy_check_mark:
jfischer-no commented 5 years ago

The tests are never just against the stack, respective controller driver or shim driver is also heavily involved, especially on STM32 and nRF52.

carlescufi commented 5 years ago

The tests are never just against the stack, respective controller driver or shim driver is also heavily involved, especially on STM32 and nRF52.

@jfischer-phytec-iot yes, that's why on the table there's a column for the respective drivers

pawelzadrozniak commented 5 years ago

I have noticed an issue with testusb aplication build from kernel 4.15.0 - test case 14 and 21 always fail (invalid argument). Works fine on 4.13.0. Have anyone else tried 4.15?

jfischer-no commented 5 years ago

Tested usb_dc_kinetis.c with testusb tool, zephyr master eb9f13e3e2f8a97bbfaa0ae83705d610457b9251, host 4.18.0-2-amd64

nzmichaelh commented 4 years ago

Once #26288 lands, testusb also passes on the SAM0 based Arduino Zero. I don't have Windows so I can't run USBCV3.

Note the "-v 512" to limit the vary. Without this you hit a bug in the test driver itself.

 $ sudo ~/src/linux-source-5.4.0/tools/usb/testusb -D /dev/bus/usb/003/023 -v 512
/home/michaelh/src/linux-source-5.4.0/tools/usb/testusb: /dev/bus/usb/003/023 may see only control tests
/dev/bus/usb/003/023 test 0,    0.000007 secs
/dev/bus/usb/003/023 test 1,    2.122639 secs
/dev/bus/usb/003/023 test 2,    1.976459 secs
/dev/bus/usb/003/023 test 3,    1.126099 secs
/dev/bus/usb/003/023 test 4,    0.978835 secs
/dev/bus/usb/003/023 test 5,   50.055506 secs
/dev/bus/usb/003/023 test 6,   56.671430 secs
/dev/bus/usb/003/023 test 7,   30.818122 secs
/dev/bus/usb/003/023 test 8,   29.223321 secs
/dev/bus/usb/003/023 test 9,    0.993517 secs
/dev/bus/usb/003/023 test 10,    4.000794 secs
/dev/bus/usb/003/023 test 11,   16.533300 secs
/dev/bus/usb/003/023 test 12,   17.067570 secs
/dev/bus/usb/003/023 test 13,    6.192024 secs
/dev/bus/usb/003/023 test 14,    0.857532 secs
/dev/bus/usb/003/023 test 17,    2.076458 secs
/dev/bus/usb/003/023 test 18,    1.810554 secs
/dev/bus/usb/003/023 test 19,    2.057047 secs
/dev/bus/usb/003/023 test 20,    1.961440 secs
/dev/bus/usb/003/023 test 21,    1.084660 secs
/dev/bus/usb/003/023 test 24,   60.971644 secs
/dev/bus/usb/003/023 test 27,   59.683283 secs
/dev/bus/usb/003/023 test 28,   56.814628 secs
/dev/bus/usb/003/023 test 29,    0.804098 secs
nzmichaelh commented 4 years ago

The SAM0 fixes have landed.

nashif commented 1 year ago

now sure what part of this is an enhancement, if we are to track usb test results, we need to do this somewhere else, coverting this to Meta now.

zephyrbot commented 4 months ago

Hi @jfischer-no,

This issue, marked as an Issue, was opened a while ago and did not get any traction. Please confirm the issue is correctly assigned and re-assign it otherwise.

Please take a moment to review if the issue is still relevant to the project. If it is, please provide feedback and direction on how to move forward. If it is not, has already been addressed, is a duplicate, or is no longer relevant, please close it with a short comment explaining the reason.

@carlescufi you are also encouraged to help moving this issue forward by providing additional information and confirming this request/issue is still relevant to you.

Thanks!