Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TinyUSB Video not working on ESP32 S3 #469

Open
pschatzmann opened this issue Nov 4, 2024 · 5 comments
Open

TinyUSB Video not working on ESP32 S3 #469

pschatzmann opened this issue Nov 4, 2024 · 5 comments
Labels
Bug Something isn't working

Comments

@pschatzmann
Copy link

Operating System

Linux

Arduino IDE version

2.3.3

Board

ESP32 S3 Dev Board

ArduinoCore version

3.07

TinyUSB Library version

3.4.0

Sketch as ATTACHED TXT

Pease use your example video_capture Example Sketch

Compiled Log as ATTACHED TXT

compile_log.txt

What happened ?

  • I needed to reboot to get the right Video USB descriptor.
  • Trying out the device with the VLC Media Player displays the device, but opening it gives an error
  • After unplugging and replugging the ESP32S3 the video dscriptor has diappeard

I tried the same with an RP2040 and there it is working w/o any problems.

How to reproduce ?

See above

Debug Log

Please provide instructions how to get to this log.
I am not getty any output via CDC

Screenshots

No response

@pschatzmann pschatzmann added the Bug Something isn't working label Nov 4, 2024
@umeiko
Copy link

umeiko commented Nov 18, 2024

seems mine rp2040 video_capture also not working. windows and andriod both can't open rp2040 camera device

@maxgerhardt
Copy link
Contributor

maxgerhardt commented Nov 19, 2024

RP2040 + Linux + video_capture.ino + Arduino-Pico core works.

grafik

grafik

[   77.928096] usb 1-2: new full-speed USB device number 3 using xhci_hcd
[   78.414378] usb 1-2: New USB device found, idVendor=2e8a, idProduct=000a, bcdDevice= 1.00
[   78.414388] usb 1-2: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[   78.414392] usb 1-2: Product: Pico
[   78.414395] usb 1-2: Manufacturer: Raspberry Pi
[   78.414398] usb 1-2: SerialNumber: E66038B7133C5D30
[   78.440293] cdc_acm 1-2:1.0: ttyACM0: USB ACM device
[   78.440459] usbcore: registered new interface driver cdc_acm
[   78.440466] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
[   78.442097] mc: Linux media interface: v0.10
[   78.463797] videodev: Linux video capture interface: v2.00
[   78.481348] usb 1-2: Found UVC 1.50 device Pico (2e8a:000a)
[   78.493684] usbcore: registered new interface driver uvcvideo

On Windows, I can reproduce the failure.

grafik
grafik

@maxgerhardt
Copy link
Contributor

maxgerhardt commented Nov 19, 2024

I'm looking into the USB packet flow when using Windows, and Windows issues a special URB_FUNCTION_GET_MS_FEATURE_DESCRIPTOR packets, which seems to be linked to Microsoft OS Feature Descriptors. Maybe TinyUSB doesn't return something here that Microsoft Windows definitely needs or wants to know, and this the RP2040 example fails on Windows but not on Linux.

grafik

@maxgerhardt
Copy link
Contributor

There's also a discussion open about it: #417

@umeiko
Copy link

umeiko commented Nov 20, 2024

I'm looking forword this fix, it will be much great if rp2040 can have full uvc support

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Bug Something isn't working
Projects
None yet
Development

No branches or pull requests

3 participants