No Sound output on 2017 Apple iMac 27"

I think I am about to feel stupid, but this has me stumped.

The machine can triple boot (OSX, Win10 and openSUSE). Its working mode is openSUSE KDE, originally Leap-15 (with no sound) and yesterday I tried Tumbleweed. There is sound in Mac and Win10 modes. I tried working my way through <https://en.opensuse.org/SDB:Audio_troubleshooting> without success. It has exactly the same version “tumbleweed:20190125” and codecs installed as my Lenovo laptop (which has sound).

When in normal use “top” shows 11% CPU for pulseaudio.
The only repositories are Tumbleweed and Packman.

sysman@bla01:~> sudo hwinfo --sound
22: PCI 1f.3: 0403 Audio device                                 
  [Created at pci.386]
  Unique ID: nS1_.pFL_IwUuGJ4
  SysFS ID: /devices/pci0000:00/0000:00:1f.3
  SysFS BusID: 0000:00:1f.3
  Hardware Class: sound
  Model: "Intel 100 Series/C230 Series Chipset Family HD Audio Controller"
  Vendor: pci 0x8086 "Intel Corporation"
  Device: pci 0xa170 "100 Series/C230 Series Chipset Family HD Audio Controller"
  SubVendor: pci 0x8086 "Intel Corporation"
  SubDevice: pci 0x7270 
  Revision: 0x31
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0x92720000-0x92723fff (rw,non-prefetchable)
  Memory Range: 0x90000000-0x9000ffff (rw,non-prefetchable)
  IRQ: 53 (420 events)
  Module Alias: "pci:v00008086d0000A170sv00008086sd00007270bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=yes, avail=yes, need=no, active=unknown

27: PCI 100.1: 0403 Audio device
  [Created at pci.386]
  Unique ID: NXNs.ZmpvHKShT3D
  Parent ID: vSkL.+UHC75sgwM8
  SysFS ID: /devices/pci0000:00/0000:00:01.0/0000:01:00.1
  SysFS BusID: 0000:01:00.1
  Hardware Class: sound
  Model: "ATI Ellesmere [Radeon RX 580]"
  Vendor: pci 0x1002 "ATI Technologies Inc"
  Device: pci 0xaaf0 "Ellesmere [Radeon RX 580]"
  SubVendor: pci 0x1002 "ATI Technologies Inc"
  SubDevice: pci 0xaaf0 
  Driver: "snd_hda_intel"
  Driver Modules: "snd_hda_intel"
  Memory Range: 0x92660000-0x92663fff (rw,non-prefetchable)
  IRQ: 54 (642 events)
  Module Alias: "pci:v00001002d0000AAF0sv00001002sd0000AAF0bc04sc03i00"
  Driver Info #0:
    Driver Status: snd_hda_intel is active
    Driver Activation Cmd: "modprobe snd_hda_intel"
  Config Status: cfg=yes, avail=yes, need=no, active=unknown
  Attached to: #13 (PCI bridge)
sysman@bla01:~>

I have the 1200 line output of alsa-info.sh, but SUSEpaste does not appear to be working (again).

Hi
What link are you using for SUSE paste <SUSE Paste?

So in the desktop sound settings you should be able to select which card to use?

There is an excellent diagnostic script that can be run in all GNU/Linux, including openSUSE, which provides superb information on the configuration of many things to do with sound on one’s GNU/Linux install. Often that script output can provide a major clue as to what the problem may be with respect to one’s sound not working.

You can run the diagnostic script by opening a konsole/xterm, and with regular user permissions, copy and paste the following into the konsole/terminal, and press < return > to execute the script. Do this while Apple iMac is connected to the internet.


/usr/sbin/alsa-info.sh

Select the “Upload/Share” option. This will upload the diagnostic information to the web. Let the script run to completion. After it is complete, look in the konsole/xterm and it should give you a web/internet address/url where the information was uploaded. Go there and check what it says. Its rather complex in content, so if you copy the link here, we can also take a look at it and see if it gives us any clues as to why your sound may not be functioning.

Also, I do not know how familiar you are with openSUSE? By default openSUSE sends sound to what it refers to as “card-0”. If your iMac has multiple audio devices, it is possible your speakers are on an output setup as “card-1”. Hence the audio output needs to be directed to “card-1” in such a case. This can be done using the application ‘pavucontrol’ (pulse audio volume control).

Further, pulse audio in GNU/Linux provides the capability to direct sound output from any multimedia application to different audio outputs, on a per application basis. This can also be controlled via ‘pavucontrol’ application.
.
.

There is no need to use SUSE paste, as the script will upload the diagnostic output to http://www.alsa-project.org and give you a specific address on that site as to where the output is located.

I tried susepaste.org and paste.opensue.org.
There is an absolute requirement to select a language from a non-functional drop-down box, Also the result of selecting “Recent” from the menu produces “There are no pastes :frowning: ”.

Thanks. Alas I missed that step, and the machine appears to be switched off just now (It is in a remote office).
I have uploaded the output to:
http://eng-int.uk/bla01_alsa-info_output
Hopefully someone with better eyes and bran cells than me will spot a glaring error.

By default openSUSE sends sound to what it refers to as “card-0”. If your iMac has multiple audio devices, it is possible your speakers are on an output setup as “card-1”. Hence the audio output needs to be directed to “card-1” in such a case. This can be done using the application ‘pavucontrol’ (pulse audio volume control).

Further, pulse audio in GNU/Linux provides the capability to direct sound output from any multimedia application to different audio outputs, on a per application basis. This can also be controlled via ‘pavucontrol’ application.

I had tried swapping the default card order, and using ‘pavucontrol’ and “speaker-test” (where I could not generate pink noise) as per “SDB:Audio troubleshooting” and “Alsa-Project: Sound Card Testing”. When I regain access to the machine I will be able to post the text output.

Before you started trying to get audio to work, was the analogue audio on card-1 instead of card-0? What was your exact technique for attempting any audio card switch? Its clear from the script there is a problem with the designated card and the mixer.

Consider this:



!!Soundcards recognised by ALSA
!!-----------------------------
 **0 ****[PCH            ]: HDA-Intel - HDA Intel PCH**
                      HDA Intel PCH at 0x92720000 irq 53
 1 [HDMI           ]: HDA-Intel - HDA ATI HDMI
                      HDA ATI HDMI at 0x92660000 irq 54

We can see there that card-0 is your analog device (which is the “PCH”)

Also note:


!!HDA-Intel Codec information
Codec: Cirrus Logic **Generic**

What is surprising in that above, is there is no additional detail, specifying precisely which Cirrus logic codec. Instead it only says “Generic”. I don’t recall seeing that before on such a script output.

Do you have alsa-firmware installed? It may be useful to install that in case to get more detail on this specific hardware (as opposed to just ‘generic’) that ‘may’ be needed. Please note that this is just speculation on my side, as I don’t recall offhand what codecs come with alsa-firmware, and I have my last (!!) 2 days at work starting today (prior to retirement :slight_smile: ) and I need to head to work soon with no time on my side to research (at this time).

Then note


!!Amixer output
!!-------------

!!-------Mixer controls for card 0 [PCH]
**Invalid card number.**

Invalid card number? This is why I wonder what was done in your effort to change card numbers. It reads like things are configured in an incorrect state now (and possibly before) wrt the card number.

Note ‘amixer’ comes with the package alsa-utils. It may be useful to force a re-install of ‘alsa-utils’ in case it had a bad install.

Also I note in the dmesg:


   10.073825] applesmc applesmc.768: hwmon_device_register() is deprecated. Please convert the driver to use hwmon_device_register_with_info().

I do not know how serious that depreciation warning is.

If the card number reconfiguration was done correctly, then this ‘could’ be in bug reporting territory, but it would be useful to understand better what was done to configure your card. I’m also curious if alsa-firmware install, followed by a reboot, has a positive effect.

Thank you for your insight and best wishes for your retirement.
I have been in semi-retirement since increasing visual impairment set in a few years ago and frequently miss bits of text unless using text-to-speech, which requires a lot of concentration. I do not expect to have physical access to the machine until tomorrow, but the user should switch it on about mid-day (UTC)today when I will have ssh access,

The alsa-info script was run after a reboot with the sound cards in their original state. (I had just dropped into the other OSs to check that the “welcome” chords were audible.)
“alsa-firmware-1.0.29-1.5.noarch” had been installed from the TW repository.

I switched sound cards by using ‘yast sound’ and “deleting"card 0. This renumbered the ATI device as 0, and the unconfigured card becomes 1 when set up with Edit > Quick > Next.
I tried ‘speaker-test’ (default device) with each card designated as 0 in turn.
Both sound cards use Intel hardware. The ATI one presumably comes with the onboard Radeon graphics.

Ok that reads good.

This then reads to be either a bad kernel install, or a bug on openSUSE kernel.

Your best bet may be to write a bug report on openSUSE kernel for sound for your 2017 Apple iMac27. That will get the attention of the openSUSE sound packager who is also a developer of the alsa driver. Now he ‘may’ know about this bug report already, as I note in April-2018 various arch linux users were struggling with getting sound out of what I believe could be the same hardware: Can't get sound on brand new iMac 27` / Multimedia and Games / Arch Linux Forums

There is guidance for raising bug reports here: openSUSE:Submitting bug reports - openSUSE Wiki

You can use your openSUSE forum user name and password to log on to bugzilla. Then attach to your bug report, the text file you get by running (as a regular user) in a konsole/xterm:


/usr/sbin/alsa-info.sh --no-upload

Do not bother to reference this thread in the bug report, as the openSUSE packager will not read a forum thread.

Keep checking on the bug report. Its possible the openSUSE packager (an alsa driver developer) will ask you to download some custom fixes to test for him. If you and he manage to get this to work, he will then send the fix out for all other GNU/Linux distributions to benefit.

Good luck, and sorry that I am not able to help more.