HI Uwe,

On 26.06.25 18:21, Uwe Kleine-König wrote:
Hello Richard,

On Tue, Jun 24, 2025 at 06:09:05PM +0200, Richard wrote:
Hi Uwe,

it looks like I've spoken too soon. It just happened again on 6.15.3. I'm back 
to 6.15.2 again to check if it happens there or if something was reintroduced 
in 6.15.3 that triggers this.


[...]
This time around though, not the whole audio systems seems to crash. Audio 
output via speakers is still available.


Sadly, rebinding the driver doesn't seem to be an option still. Upon plugging 
in headphones to the audio expansion card, I see a new device under 
/sys/class/sound:


card2 -> 
../../devices/pci0000:00/0000:00:08.1/0000:c1:00.3/usb1/1-2/1-2.2/1-2.2:1.0/sound/card2


So technically I should be able to do


cd -P /sys/class/sound/card2/device/driver

echo 0000:c1:00.3 > unbind


but that only gives me


-bash: echo: write error: No such device
I would expect

        echo 1-2.2:1.0 > unbind

instead. As long as the device is bound, there is a symlink in the
driver dir with the device that you can echo into unbind.

As example from my machine: I have /sys/class/sound/card0 pointing to
../../devices/pci0000:00/0000:00:1f.3/sound/card0.

uwe@taurus:~$ cd -P /sys/class/sound/card0/device/driver

uwe@taurus:/sys/bus/pci/drivers/snd_hda_intel$ ls
0000:00:1f.3  bind  module  new_id  remove_id  uevent  unbind

So I could do:

        echo 0000:00:1f.3 > /sys/bus/pci/drivers/snd_hda_intel/unbind
        echo 0000:00:1f.3 > /sys/bus/pci/drivers/snd_hda_intel/bind

.


So the good news is, unbinding 1-2.2:1.0 does remove the module, but binding it 
again doesn't activate it again. Not even unplugging the module and plugging it 
back in results in it showing up again. Not in Gnome settings, not in lsusb. 
That's what logs have to say about the process:


Jun 26 18:54:09 kernel: usb 1-2.2: USB disconnect, device number 11
Jun 26 18:54:13 kernel: usb 1-2.2: new high-speed USB device number 12 using 
xhci_hcd
Jun 26 18:54:13 kernel: usb 1-2.2: New USB device found, idVendor=32ac, 
idProduct=0010, bcdDevice= 0.02
Jun 26 18:54:13 kernel: usb 1-2.2: New USB device strings: Mfr=1, Product=2, 
SerialNumber=0
Jun 26 18:54:13 kernel: usb 1-2.2: Product: Audio Expansion Card
Jun 26 18:54:13 kernel: usb 1-2.2: Manufacturer: Framework
Jun 26 18:54:13 kernel: 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.000F/input/input24
Jun 26 18:54:13 kernel: hid-generic 0003:32AC:0010.000F: input,hidraw7: USB HID 
v1.11 Device [Framework Audio Expansion Card] on usb-0000:c1:00.3-2.2/input2
Jun 26 18:54:14 kernel: 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/input25
Jun 26 18:54:14 kernel: hid-generic 0003:32AC:0010.0010: input,hidraw7: USB HID 
v1.11 Device [Framework Audio Expansion Card] on usb-0000:c1:00.3-2.2/input2

(sent unbind at roughl 18:53:28, with bind following just a couple moments 
later. Yet there are no other entries by the Kernel from between that time 
stamp and 18:54:09. In the /sys/bus/usb/drivers/snd-usb-audio directory is 
also, 1-2.2:1.1, but I can only unbind it but not bind it. But that just seems 
to be the DP module, as removing it also removes the entry.


So, not sure what the cause is. You mentioned I could also try to restart the 
driver of the whole hub. But how would I do so? The expansion card is on bus 1 
with three entries:
from the data you provided I would expect that you can do that with:

        cd -P /sys/devices/pci0000:00/0000:00:08.1/driver
        echo 0000:00:08.1 > unbind
        echo 0000:00:08.1 > bind

Best regards
Uwe


That one actually looks like it's not really doing anything. Even with that device unbound, audio 
still works through the module. And yes, it's still showing in Kernel logs to be located at 
"/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.0004/input/input7".
 It doesn't even change the number of entries of lspci. Though unbinding seems to be successful, as 
unbinding again before bind results in "no such device". Only logs entries for that 
(unbind and then bind) being


Jun 26 19:13:11 framework16 kernel: pcieport 0000:00:08.1: PME: Signaling with 
IRQ 42
Jun 26 19:13:11 framework16 boltd[1359]: probing: started [1000]
Jun 26 19:13:13 framework16 boltd[1359]: probing: timeout, done: [2002817] 
(2000000)


I'll be testing 6.15.2 at least for another two weeks to see if that's also 
affected. If we find a solution to successfully unbind and bind the device, 
I'll give 6.15.3 another shot and see if that helps when the issue appears.


Best regards

Richard

Reply via email to