Audio expansion card not working (worked before)

Which Linux distro are you using?
Which release version?

Debian Sid, updated about a week ago.

Which kernel are you using?

6.11.4

Which BIOS version are you using?

3.03

Which Framework Laptop 16 model are you using? (AMD Ryzen™ 7040 Series)

AMD Ryzen 7 7840HS w/ Radeon 780M Graphics

I have had this laptop for about a month. When I first got it, I tested the audio expansion card. My notes were that this showed up under ALSA as card #2 and I didn’t have any issues. I hadn’t used the audio card since then, until I tried to now, and I can’t make it work.

To be clear, I am referring to:

I don’t have the device listed:

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Generic [HD-Audio Generic], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: Generic [HD-Audio Generic], device 8: HDMI 2 [HDMI 2]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 1: Generic_1 [HD-Audio Generic], device 0: ALC295 Analog [ALC295 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

I had thought the audio card was a USB device. I don’t see it in lsusb, though.

$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 002: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 003: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 004: ID 05e3:0610 Genesys Logic, Inc. Hub
Bus 001 Device 005: ID 32ac:0014 Framework Laptop 16 Numpad Module
Bus 001 Device 006: ID 0e8d:e616 MediaTek Inc. Wireless_Device
Bus 001 Device 007: ID 27c6:609c Shenzhen Goodix Technology Co.,Ltd. Goodix USB2.0 MISC
Bus 001 Device 008: ID 32ac:0012 Framework Laptop 16 Keyboard Module - ANSI
Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 002 Device 002: ID 05e3:0625 Genesys Logic, Inc. USB3.2 Hub
Bus 002 Device 005: ID 0bda:8156 Realtek Semiconductor Corp. USB 10/100/1G/2.5G LAN
Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 003 Device 002: ID 0bda:5634 Realtek Semiconductor Corp. Laptop Camera
Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 006 Device 002: ID 32ac:0002 Framework HDMI Expansion Card
Bus 007 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Things I have tried are:

  1. Reverting to the Linux 6.10 kernel that I think was running when I initially tested the audio card.
  2. Unplugging and re-plugging the card; nothing shows up in dmesg for the disconnect or the connect.
  3. Plugging the module into a different known-working slot (still nothing in dmesg). Likewise, using my Ethernet module to ensure that my usual audio module slot is working fine.
  4. Booting a Debian stable live USB stick, checking lsusb and dmesg and unplugging/plugging the module.
  5. Plugging in a separate, brand-new audio module; same results.
  6. modprobe snd_usb_audio (module loads, but doesn’t do anything).

At this point given that a brand new card does not work either, I’m pretty sure I have a software/configuration issue, but I don’t know what is wrong.

Can somebody with an audio expansion card and Linux please help me with:

  1. Does the device show up in lsusb? If so, please paste the entry.
  2. What driver is responsible for handling the audio device? sudo dmesg | grep snd should show it, I think.

Any other advice would be welcome.

Thank you,
Corey

Do you mean something like usbreset? I don’t think that can help me here, since the device is never even detected, but I’m not sure what you mean.

Physically unplugging and re-plugging the card should reset it as well, I would think, but I see no messages from the kernel when I do that.

I also tried a power cycle of the laptop, with 30 seconds in between power off and power on.

I tried Ununtu 24.04.1 LTS live from a USB stick. That did not work either, as far as I could tell.

  • no listing in aplay -l
  • no apparent listing in lsusb
  • no messages from the kernel when unplugging and re-plugging the card

-Corey

Ok, I figured it out. The USB device doesn’t appear until headphones (or some such) are plugged in. Then:

 Nov 02 19:35:37 lizard kernel: usb 1-2.3: new high-speed USB device number 10 using xhci_hcd
Nov 02 19:35:37 lizard kernel: usb 1-2.3: New USB device found, idVendor=32ac, idProduct=0010, bcdDevice= 0.02
Nov 02 19:35:37 lizard kernel: usb 1-2.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
Nov 02 19:35:37 lizard kernel: usb 1-2.3: Product: Audio Expansion Card
Nov 02 19:35:37 lizard kernel: usb 1-2.3: Manufacturer: Framework
Nov 02 19:35:37 lizard kernel: input: Framework Audio Expansion Card Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:c2:00.3/usb1/1-2/1-2.3/1-2.3:1.2/0003:32AC:0010.000D/input/input21
Nov 02 19:35:37 lizard kernel: hid-generic 0003:32AC:0010.000D: input,hidraw12: USB HID v1.11 Device [Framework Audio Expansion Card] on usb-0000:c2:00.3-2.3/input2
Nov 02 19:35:37 lizard acpid[1424]: input device has been disconnected, fd 20
Nov 02 19:35:38 lizard kernel: usbcore: registered new interface driver snd-usb-audio

The device shows up in lsusb as:

Bus 001 Device 010: ID 32ac:0010 Framework Audio Expansion Card

When headphones are unplugged, the device disappears.

Nov 02 19:38:21 lizard kernel: usb 1-2.3: USB disconnect, device number 10
Nov 02 19:38:21 lizard acpid[1424]: input device has been disconnected, fd 20

Wow, that behavior is counterintuitive. There should be no problem now that I understand, but this should really be documented in a manual somewhere.

I have a USB C to 3.5mm by ugreen that does this

I think Framework’s card readers do the same.

I think they do it for power saving reasons

2 Likes

I am experiencing what appears to be the same problem. On plugging in headplones, the kernel reports:
[766864.558600] usb 1-2.2: new high-speed USB device number 16 using xhci_hcd
[766864.679872] usb 1-2.2: New USB device found, idVendor=32ac, idProduct=0010, bcdDevice= 0.02
[766864.679877] usb 1-2.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[766864.679879] usb 1-2.2: Product: Audio Expansion Card
[766864.679880] usb 1-2.2: Manufacturer: Framework
[766864.933659] input: Framework Audio Expansion Card Consumer Control as /devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-2/1-2.2/1-2.2:1.2/0003:32AC:0010.0010/input/input26
[766864.986514] hid-generic 0003:32AC:0010.0010: input,hidraw11: USB HID v1.11 Device [Framework Audio Expansion Card] on usb-0000:c1:00.3-2.2/input2

Laptop 16 (AMD Ryzen 7040 Series)
Rembrandt Radeon High Definition Audio Controller

I think what @sinatosk says makes sense: that it’s probably to save power.

For all I know, that’s expected behavior for USB audio devices in general, but first-time users of such things (like myself) can get tripped up. This could easily be cleared up by documentation, but the audio expansion card doesn’t have any that I can find. That’s my only gripe.

Here’s a configuration that works on Fedora 40 and xfce4. Select the Volume icon and mouse down to “Family 17h…” verify that it’s selected. Plug in earphones. Now mouse down and verify that “Audio Expansion Card …” has been added to the list. Select that and verify that the earphones are active.

My previous experience with earlier Fedoras and other hardware woud suggest that someone has screwed up. The switch should be automatic. Whether its the fault of Frameworks or Fedora/xfce … I have no idea.