USB Wireless device support

Takashi Iwai tiwai at suse.de
Wed Jan 13 15:49:05 CET 2021


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.


thanks,

Takashi

> 
> Cheers
> 
> > [1]: User-space code that accesses those features:
> >  
> > https://github.com/Sapd/HeadsetControl/blob/master/src/devices/steelseries_arctis_1_xbox.c
> 
> 


More information about the Alsa-devel mailing list