ALSA: usb-audio: add Studio 1824 support

Adapt the already implemented support for the Studio 1824c
audio interface to the predecessor Studio 1824.

Basically just a change adding the
different hardware ID in the relevant places.

Tested as much as possible.
All implemented functionality seemingly works.

Signed-off-by: Frederic Popp <frederic.l.popp@t-online.de>
Link: https://patch.msgid.link/20260308153334.50433-2-frederic.l.popp@t-online.de
Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
Frederic Popp
2026-03-09 13:00:57 +01:00
committed by Takashi Iwai
parent 9558a2cbec
commit c4791ce96b
3 changed files with 9 additions and 0 deletions
+4
View File
@@ -455,6 +455,10 @@ static int parse_uac2_sample_rate_range(struct snd_usb_audio *chip,
if (chip->usb_id == USB_ID(0x194f, 0x010d) &&
!s1810c_valid_sample_rate(fp, rate))
goto skip_rate;
/* Filter out invalid rates on Presonus Studio 1824 */
if (chip->usb_id == USB_ID(0x194f, 0x0107) &&
!s1810c_valid_sample_rate(fp, rate))
goto skip_rate;
/* Filter out invalid rates on Focusrite devices */
if (USB_ID_VENDOR(chip->usb_id) == 0x1235 &&
+3
View File
@@ -4477,6 +4477,9 @@ int snd_usb_mixer_apply_create_quirk(struct usb_mixer_interface *mixer)
case USB_ID(0x194f, 0x010d): /* Presonus Studio 1824c */
err = snd_sc1810_init_mixer(mixer);
break;
case USB_ID(0x194f, 0x0107): /* Presonus Studio 1824 */
err = snd_sc1810_init_mixer(mixer);
break;
case USB_ID(0x2a39, 0x3fb0): /* RME Babyface Pro FS */
err = snd_bbfpro_controls_create(mixer);
break;
+2
View File
@@ -362,6 +362,7 @@ static int snd_s1810c_init_mixer_maps(struct snd_usb_audio *chip)
snd_s1810c_send_ctl_packet(dev, a, 3, 0, 1, MIXER_LEVEL_0DB);
break;
case USB_ID(0x194f, 0x0107): /* 1824 */
case USB_ID(0x194f, 0x010d): /* 1824c */
/* Set all output faders to unity gain */
a = SC1810C_SEL_OUTPUT;
@@ -685,6 +686,7 @@ int snd_sc1810_init_mixer(struct usb_mixer_interface *mixer)
return ret;
break;
case USB_ID(0x194f, 0x0107): /* Presonus Studio 1824 */
case USB_ID(0x194f, 0x010d): /* Presonus Studio 1824c */
ret = snd_s1810c_switch_init(mixer, &snd_s1824c_mono_sw);
if (ret < 0)