USB Sound Card Crackling

Hello!

My config:

Fedora 37 with latest updates
PipeWire + WirePlumber with default configs

MSI GE77 (i7-12800HX+NV RTX 3070Ti)

USB Sound Card Focusrite Scarlett 2i2 Gen 2

Some time after launching a game (native/wine/proton) that requires high performance i hear crackling. If i switch to integrated audio, i don’t hear it. Also i don’t hear it in windows. I’m setuped Fedora 37 with that soundcard on other PC and there are no problem.

I think that it’s a USB power management issue.

Can you help me?

If you have it on a USB2 you could try an USB3 interface instead. Did you do this already?

I have only USB3 in laptop while Focusrite Scarlett 2i2 Gen 2 is a USB2 sound card.

Doing a quick search for your audio device, shows that several point out to have a loose connector.
Yours is ok?

When i reboot to Windows all works as expected without crackling. Also i reconect sound card to PC and there are no problem.

Perhaps Linux doesn’t know about the HM670 chipset?

What output gives the following lspci -nnk | grep -i audio -A2 command in Terminal? If output is empty please try this:

sudo lsusb -t |grep -i audio

This we try to find out now …

lspci -nnk | grep -i audio -A2 :

00:1f.3 Multimedia audio controller [0401]: Intel Corporation Alder Lake-S HD Audio Controller [8086:7ad0] (rev 11)
	DeviceName: Onboard - Sound
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:1399]
	Kernel driver in use: sof-audio-pci-intel-tgl
	Kernel modules: snd_hda_intel, snd_sof_pci_intel_tgl
00:1f.4 SMBus [0c05]: Intel Corporation Alder Lake-S PCH SMBus Controller [8086:7aa3] (rev 11)
--
01:00.1 Audio device [0403]: NVIDIA Corporation GA104 High Definition Audio Controller [10de:228b] (rev a1)
	Subsystem: Micro-Star International Co., Ltd. [MSI] Device [1462:1399]
	Kernel driver in use: snd_hda_intel

sudo lsusb -t |grep -i audio :

 Port 4: Dev 7, If 2, Class=Audio, Driver=snd-usb-audio, 480M
 Port 4: Dev 7, If 0, Class=Audio, Driver=snd-usb-audio, 480M
 Port 4: Dev 7, If 1, Class=Audio, Driver=snd-usb-audio, 480M

hwinfo --usb :

11: USB 00.2: 0000 Unclassified device
  [Created at usb.122]
  Unique ID: 2XPK.nGCZ9N7zOeC
  Parent ID: cLrx.lRoCB54l1cE
  SysFS ID: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.4/1-2.4:1.2
  SysFS BusID: 1-2.4:1.2
  Hardware Class: unknown
  Model: "Focusrite-Novation Focusrite Scarlett 2i2 2nd Gen"
  Hotplug: USB
  Vendor: usb 0x1235 "Focusrite-Novation"
  Device: usb 0x8202 "Focusrite Scarlett 2i2 2nd Gen"
  Revision: "4.1b"
  Driver: "snd-usb-audio"
  Driver Modules: "snd_usb_audio"
  Speed: 480 Mbps
  Module Alias: "usb:v1235p8202d041BdcEFdsc02dp01ic01isc02ip20in02"
  Config Status: cfg=new, avail=yes, need=no, active=unknown
  Attached to: #6 (Hub)

As i see: system doesn’t know that this is an audio device, but it uses right driver.

After some trying i found something: i can run pavucontrol and set latency for I/O, and it works while pavucontrol is running. But when i try to set properties to pipewire and pipewire-pulse it doesn’t help.