USB Wireless device support

Bastien Nocera hadess at hadess.net
Wed Jan 13 16:03:39 CET 2021


On Wed, 2021-01-13 at 15:49 +0100, Takashi Iwai wrote:
> On Wed, 13 Jan 2021 15:36:19 +0100,
> Bastien Nocera wrote:
> > 
> > Hey,
> > 
> > On Wed, 2020-12-09 at 14:30 +0100, Bastien Nocera wrote:
> > > Hey,
> > > 
> > > I've recently bought a SteelSeries Arctis 1 wireless headset:
> > > https://steelseries.com/gaming-headsets/arctis-1-wireless-xbox
> > > and wanted to write a kernel driver to export a few features of
> > > the
> > > device, and needed some help getting started.
> > > 
> > > The receiver shows up as a audio class USB device, with extra
> > > features
> > > on a separate USB interface.[1]
> > > 
> > > The extra features that can be accessed are:
> > > - Presence detection. I wanted to use that so PulseAudio or
> > > Pipewire
> > > could make routing decisions based on whether the headset is
> > > available,
> > > or probably better, implementing a "jack detection" emulation for
> > > the
> > > main audio interface?
> > > - A slider to change the sidetone volume
> > > - Export the battery level
> > > 
> > > The latter is the only one I know how to do, so I'd be happy with
> > > any
> > > pointers or examples about the first two items.
> > 
> > 
> > I sent this in December and didn't get any answers, and I would
> > appreciate any guidance/examples if you have any into implementing
> > this.
> 
> Judging from the link, is it controlled through HID?  If so, it's
> primarily done by a HID driver, and it doesn't belong to the sound
> card stuff, so far.
> Though....
> 
> > I would imagine that the new features would be implemented through
> > a
> > separate ALSA device with few features, which PulseAudio/Pipewire
> > could
> > merge with the existing USB audio device.
> 
> ... given that it's implemented in a HID driver, the integration to
> the system is a different question.  But unless it's implemented as a
> sound card device, the rest will become a totally different,
> e.g. another PA or PW module.

I think that it might be good to have the sidetone configuration
implemented as a channel mixer, so it could be shown along with the
device volume in sound settings.

I believe there's already a device group feature in PulseAudio that
could be used to merge the sidetone level with the rest of the USB
audio mixers.

Is there an example of a mixer like that implemented in a hid or
another type of non-ALSA/sound driver?



More information about the Alsa-devel mailing list