USB speakers with volume/mute buttons - controls not recognized?


#1

I’m trying to use a pair of Logitech Z105 USB speakers on my setup based on a Pi Zero W with Pi Musicbox running local MP3 files . The speakers work very well but the 3 button controls are not working although they work fine on other OS’s (Win, Ubuntu etc).

The whole setup is very promising as long as I don’t need to log in remotely to simply adjust the volume or temporarily mute the output. The system will be running headless and unconnected most of the time (background music looping).

Is there a specific driver or add-on that ‘sees’ these buttons?


#2

Further findings:
I installed Mopidy with ‘Radio Rough’ on a RPi 3 with the ‘Jessie’ OS installed and had similar problems until doing a dist-upgrade which fixed all the USB button problems. So the perfect solution appears to be the port of PiMusicbox to ‘Jessie’ or ‘Stretch’ which was being discussed a long time back - any progress on that as yet?


#3

Hi,

I did look into this, I think the usb_snd_audio driver is supposed to interface with the HID event stuff to grab those volume events and have them change the volume. I guess it’s a bug they fixed in later versions of alsa but I couldn’t find any specific info on that when I looked.

Thanks for the update regarding it working on stretch. I’ve sadly not had much time to get into the upgrade which is actually quite a large job. With the summer now behind us it’s more likely to happen. I’ve actually been working on the plan over the last week and I can share that. Perhaps it would encourage people to get involved, something which historically has been quite difficult.


#4

Happy to help, just lacking in knowledge - just let me know how I can become involved (albeit at a basic level)


#5

Thanks for the reply

It appears that alsa is integral to the kernel so a simple fix is unlikely (later kernel required)
My USB device volume buttons are returning codes nut they’re not hooked into anything in Wheezy

Cheers from downunder


#6

Not strictly speaking, plus our kernel is from 6/4/18. But we are stuck with whatever version of alsa-base Wheezy has. Maybe something like LIRC can be used to hook the codes up, I don’t know.