Open angmolin opened 1 year ago
Hello, I think I have the same problem. Have you found any leads since then?
I believe this is fixed by https://github.com/hathach/tinyusb/pull/1802. Give it a go, and do report back.
A new ISO endpoints allocation API was introduced to resolve this issue. It's implemented in audio and video class and dcd driver of stm32, esp32 etc. But nobody works on rp2040 driver yet which is much simpler than #1802
Operating System
Linux
Board
RP2040
Firmware
examples/device/uac2_headset
What happened ?
After upload the
.uf2
file fromuac2_headset
example compilation it works, but after changing a song or keep listening for a while it fails calling the functiontud_audio_set_itf_cb
with parametersinterface 1 alt X
(alt varies between 0~2) but it always fails on this function. I also connected an UART to the pins 0 and 1 of the raspberry and it says*** PANIC *** Hard assert
I will try to find the cause of the problem and provide a solution for it.How to reproduce ?
uac2_headset
example for the Raspberry Pi Pico (not H or W in my case).uf2
fileDebug Log as txt file
tud_mount_cb:50 : USB device mounted! tud_audio_clock_get_request:87 : Clock get 2 freq ranges tud_audio_clock_get_request:101 : Range 0 (44100, 44100, 0) tud_audio_clock_get_request:101 : Range 1 (48000, 48000, 0) tud_audio_clock_get_request:87 : Clock get 2 freq ranges tud_audio_clock_get_request:101 : Range 0 (44100, 44100, 0) tud_audio_clock_get_request:101 : Range 1 (48000, 48000, 0) tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_set_request:138 : Clock set current freq: 48000 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_clock_get_request:87 : Clock get 2 freq ranges tud_audio_clock_get_request:101 : Range 0 (44100, 44100, 0) tud_audio_clock_get_request:101 : Range 1 (48000, 48000, 0) tud_audio_clock_get_request:87 : Clock get 2 freq ranges tud_audio_clock_get_request:101 : Range 0 (44100, 44100, 0) tud_audio_clock_get_request:101 : Range 1 (48000, 48000, 0) tud_audio_set_itf_cb:317 : Set interface 2 alt 1 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_cb:317 : Set interface 2 alt 0 tud_audio_feature_unit_get_request:182 : Get channel 1 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 1 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 1 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 1 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:189 : Get channel 1 volume 0 dB tud_audio_feature_unit_set_request:227 : Set channel 1 volume: -1 dB tud_audio_feature_unit_get_request:189 : Get channel 1 volume -1 dB tud_audio_feature_unit_set_request:227 : Set channel 1 volume: 0 dB tud_audio_feature_unit_get_request:182 : Get channel 0 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 0 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 0 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:182 : Get channel 0 volume range (-50, 0, 1) dB tud_audio_feature_unit_get_request:189 : Get channel 0 volume 0 dB tud_audio_feature_unit_set_request:227 : Set channel 0 volume: -1 dB tud_audio_feature_unit_get_request:189 : Get channel 0 volume -1 dB tud_audio_feature_unit_set_request:227 : Set channel 0 volume: 0 dB tud_audio_feature_unit_get_request:163 : Get channel 1 mute 0 tud_audio_feature_unit_get_request:163 : Get channel 2 mute 0 tud_audio_feature_unit_get_request:163 : Get channel 0 mute 0 tud_audio_feature_unit_get_request:189 : Get channel 2 volume 0 dB tud_audio_feature_unit_set_request:227 : Set channel 0 volume: -20 dB tud_audio_set_itf_cb:317 : Set interface 2 alt 1 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_set_request:138 : Clock set current freq: 44100 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_set_itf_cb:317 : Set interface 2 alt 0 tud_audio_set_itf_cb:317 : Set interface 2 alt 1 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_cb:317 : Set interface 2 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_cb:317 : Set interface 2 alt 1 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_cb:317 : Set interface 2 alt 0 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_cb:317 : Set interface 2 alt 1 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_set_request:138 : Clock set current freq: 48000 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_set_request:138 : Clock set current freq: 44100 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_set_request:138 : Clock set current freq: 48000 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_set_request:138 : Clock set current freq: 44100 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_set_request:138 : Clock set current freq: 48000 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_set_request:138 : Clock set current freq: 44100 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_clock_set_request:138 : Clock set current freq: 48000 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_clock_get_request:75 : Clock get current freq 48000 tud_audio_clock_set_request:138 : Clock set current freq: 44100 tud_audio_clock_get_request:75 : Clock get current freq 44100 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0 tud_audio_set_itf_cb:317 : Set interface 1 alt 1 tud_audio_set_itf_cb:321 : Audio streaming started! tud_audio_clock_get_request:110 : Clock get is valid 1 tud_audio_set_itf_close_EP_cb:305 : Audio streaming stopped! tud_audio_set_itf_cb:317 : Set interface 1 alt 0
Screenshots
No response
I have checked existing issues, dicussion and documentation