Bug 1207211

Summary: modalias did not work
Product: [openSUSE] openSUSE Tumbleweed Reporter: Luna D Dragon <luna.dragon>
Component: libzyppAssignee: E-mail List <zypp-maintainers>
Status: RESOLVED FIXED QA Contact: E-mail List <qa-bugs>
Severity: Normal    
Priority: P5 - None CC: davidliu8023, fvogt, luna.dragon, mls, tiwai
Version: Current   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE Tumbleweed   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---
Attachments: all modalias on system

Description Luna D Dragon 2023-01-17 09:43:27 UTC
`modalias(pci:v00008086d000043C8sv*sd*bc*sc*i*)` did not work and should have installed sof-firmware but did not resulting in the internal speakers not working.
Comment 1 Fabian Vogt 2023-01-17 10:01:25 UTC
There is also some weirdness with acpi modaliases:

> zypper if --supplements sof-firmware
...
    (acpi* and namespace:modalias(80860F28:*))
    (acpi* and namespace:modalias(808622A8:*))
    (acpi* and namespace:modalias(INT3438:*))
    namespace:modalias(pci:v00008086d000002C8sv*sd*bc*sc*i*)
    namespace:modalias(pci:v00008086d000006C8sv*sd*bc*sc*i*)
    namespace:modalias(pci:v00008086d00003198sv*sd*bc*sc*i*)
...

> rpm -q --supplements -p sof-firmware-2.2.2-1.1.noarch.rpm
modalias(acpi*:80860F28:*)
modalias(acpi*:808622A8:*)
modalias(acpi*:INT3438:*)
modalias(pci:v00008086d000002C8sv*sd*bc*sc*i*)
modalias(pci:v00008086d000006C8sv*sd*bc*sc*i*)
modalias(pci:v00008086d0000119Asv*sd*bc*sc*i*)
...
Comment 2 Michael Andres 2023-01-17 11:38:59 UTC
@Michael: That's also how dumpsolv displays the acpi modaliases. Parser issue?

 solvable:supplements:
  (acpi* and namespace:modalias(80860F28:*))
  (acpi* and namespace:modalias(808622A8:*))
  (acpi* and namespace:modalias(INT3438:*))
  namespace:modalias(pci:v00008086d000002C8sv*sd*bc*sc*i*)
  namespace:modalias(pci:v00008086d000006C8sv*sd*bc*sc*i*)
  namespace:modalias(pci:v00008086d00003198sv*sd*bc*sc*i*)
  namespace:modalias(pci:v00008086d00005A98sv*sd*bc*sc*i*)
  namespace:modalias(pci:v00008086d00009DC8sv*sd*bc*sc*i*)
Comment 3 Michael Andres 2023-01-17 13:05:03 UTC
@Luna D Dragon:
Regarding `modalias(pci:v00008086d000043C8sv*sd*bc*sc*i*)` did not work...

It depends on what modalias definitions are present on your system. 
Please run (as root!):
> find /sys/ -type f -name modalias -print0 | xargs -0 cat > /tmp/1207211modalias
and attach the created /tmp/1207211modalias.

The sof-firmware maintiner should then be able to judge whether the pattern is wrong or the HW not present on your system.
Comment 4 Michael Andres 2023-01-17 14:46:05 UTC
@Takashi: (as maintainer of sof-firmware)
I just learned that a modalias pattern must not contain more than one ':' unless the part before the 1st ':' should be interpreted as a package name. Like in:
> modalias(xorg-x11-server:pci:v0000105Dd*sv*sd*bc03sc*i*)
> translated to
> ( xorg-x11-server and modalias(pci:v0000105Dd*sv*sd*bc03sc*i*) )

In the plain modalias pattern  all but the 1st ':' must be %-encoded as '%3A':
> modalias(x86cpu:vendor%3A0000%3Afamily%3A*%3Amodel%3A*%3Afeature%3A*)

So (at least) the acpi* modaliases in sof-firmware must be fixed

> - modalias(acpi*:80860F28:*)
> + modalias(acpi*:80860F28%3A*)
Comment 5 Takashi Iwai 2023-01-17 14:53:00 UTC
(In reply to Michael Andres from comment #4)
> @Takashi: (as maintainer of sof-firmware)
> I just learned that a modalias pattern must not contain more than one ':'
> unless the part before the 1st ':' should be interpreted as a package name.
> Like in:
> > modalias(xorg-x11-server:pci:v0000105Dd*sv*sd*bc03sc*i*)
> > translated to
> > ( xorg-x11-server and modalias(pci:v0000105Dd*sv*sd*bc03sc*i*) )
> 
> In the plain modalias pattern  all but the 1st ':' must be %-encoded as
> '%3A':
> > modalias(x86cpu:vendor%3A0000%3Afamily%3A*%3Amodel%3A*%3Afeature%3A*)
> 
> So (at least) the acpi* modaliases in sof-firmware must be fixed
> 
> > - modalias(acpi*:80860F28:*)
> > + modalias(acpi*:80860F28%3A*)

Thanks for the information.  Will fix them.
Comment 6 Luna D Dragon 2023-01-18 04:21:17 UTC
Created attachment 864193 [details]
all modalias on system
Comment 7 Luna D Dragon 2023-01-18 04:21:44 UTC
I've uploaded the out put of the command I was requested to run
Comment 8 Takashi Iwai 2023-01-18 13:32:26 UTC
About the acpi:* modalias: I found the similar problem in some kernel-firmware-* subpackages and now corrected there with this bug reference, too.
Comment 9 Takashi Iwai 2023-01-18 14:20:11 UTC
The sof-firmware package on OBS multimedia:libs received the correction of ACPI modalias.  Could you test with this project and verify whether the issue persists?
Comment 11 Michael Andres 2023-01-19 15:14:21 UTC
@Luna D Dragon:

AFAICS your system would match the modalias
          `pci:v00008086d000043C8sv000017AAsd000022D7bc04sc01i00`
 `modalias(pci:v00008086d000043C8sv*       sd*       bc* sc* i*)`.

What was the command that did not select sof-firmware?
Were you able to manually install sof-firmware (without conflicts being reported)?

If the zypper.log showing the commands is still available, please attach it.


Hardware dependencies are weak. So raising a conflict would be one reason why sof-firmware was not installed although the modalias would trigger. If this was not the case, please also provide a solver testcase:

- Call (as root): zypper inr --no-recommends --debug-solver
- Please pack the testcase directory and attach it to the bugreport.

  cd /tmp
  tar cvjf zypper-testcase.bz2 /var/log/zypper.solverTestCase

In case the testcase exceeds the 10MB limit for bugzilla uploads, you can use 'split' to divide the file into smaller pieces:

  cd /tmp
  split -b 10M --additional-suffix=-zypper-testcase.bz2 zypper-testcase.bz2

The created pieces will be named:

  xaa-zypper-testcase.bz2
  xab-zypper-testcase.bz2
  xac-...
Comment 12 Fabian Vogt 2023-02-10 07:52:40 UTC
*** Bug 1193419 has been marked as a duplicate of this bug. ***
Comment 14 Michael Andres 2023-03-22 14:39:18 UTC
Please repoen if there are still issues.