Respeaker Lite USB connections issues, stops working after couple of minutes

Hi,

I’m trying to run the respeaker on a raspberry pi zero 2 but after some minutes with an active microphone input the USB connection crashes.

On a fresh installed Raspberry OS Bookworm 64 Bit lite, without installing anything else and just running arecord -D plughw:CARD=Lite,DEV=0 -r 16000 -c 1 -f S16_LE -t wav /dev/null, at some point, after pressing strg-c and re run the command I get:

pi@pi-1:~ $ arecord -D plughw:CARD=Lite,DEV=0 -r 16000 -c 1 -f S16_LE -t wav -v /dev/null
Recording WAVE '/dev/null' : Signed 16 bit Little Endian, Rate 16000 Hz, Mono
arecord: set_params:1416: Unable to install hw params:
ACCESS:  RW_INTERLEAVED
FORMAT:  S16_LE
SUBFORMAT:  STD
SAMPLE_BITS: 16
FRAME_BITS: 16
CHANNELS: 1
RATE: 16000
PERIOD_TIME: 125000
PERIOD_SIZE: 2000
PERIOD_BYTES: 4000
PERIODS: 4
BUFFER_TIME: 500000
BUFFER_SIZE: 8000
BUFFER_BYTES: 16000
TICK_TIME: 0

And the journalctl shows the following errors:


Sep 10 14:07:32 pi-1 kernel: usb 1-1: 2:0: usb_set_interface failed (-110)
Sep 10 14:07:39 pi-1 kernel: usb 1-1: 2:0: usb_set_interface failed (-71)
Sep 10 14:07:39 pi-1 kernel: usb 1-1: uac_clock_source_is_valid(): cannot get clock validity for id 1
Sep 10 14:07:39 pi-1 kernel: usb 1-1: clock source 1 is not valid, cannot use
Sep 10 14:07:39 pi-1 kernel: usb 1-1: 2:1: cannot get freq (v2/v3): err -71
Sep 10 14:07:39 pi-1 kernel: usb 1-1: uac_clock_source_is_valid(): cannot get clock validity for id 1
Sep 10 14:07:39 pi-1 kernel: usb 1-1: 2:0: usb_set_interface failed (-71)

At this moment a lsusb still shows the respeaker but after a reboot it does not show up anymore.
Only way to reset the respeaker is to shutdown and power cycle the Pi.

It does work for some time as excepted but then it fail. I’ve got the feeling I can trigger it with some load on the cpu for example after an apt update but it does not trigger the event every time.
I’ve the got same behavior when using pulseaudio.

I tried using different DC Plugs and currently I am using an official Pi Plug with 2.5A.

I’ve ordered another USB cable from a different brand (in case the first cable which is only 2 weeks old is broken) but still the same issue.

I also tried another PI Zero 2 W, same result… Both PI’s are running fine with a ReSpeaker Mic Array v2.0 and ReSpeaker 2-Mics Pi HAT.

So I guess the Respeaker Lite is the issue.

Seems like I am not the only one, I found an similar issue on Github. Could be an problem with the raspberry or some update.

Hi Ray,

I use the following OS with Pi Zero 2 and don’t meet the same issue as yours.

  • Raspberry Pi OS Lite (64-bit) 2024-07-04

And I drive the CPU to 100% and the audio stream is still fine.

Hi thanks for testing.
How long did you let it run?

After a lot of tests, I am not sure cpu load will trigger it. Sometimes it was running for 3-4 hours and other times it stopped working after 30 Minutes.

It wouldn’t be a big problem for my application if the microphone just crashes but the main problem is I either have to unplug it or have to power cycle the pi…

Hi Ray,
After running “arecord” and “aplay” 3 hours, I meet the same issue as yours.
I will try the following commands when I encounter a USB crash next time.

sudo sh -c "echo 0 > /sys/bus/usb/devices/1-1/authorized"
sudo sh -c "echo 1 > /sys/bus/usb/devices/1-1/authorized"