I’m using Tumbleweed on my PinePhone. But pulseaudio does not seem to run properly.
When I klick on the sound symbol in the top menu (where you can also toggle Wi-Fi and auto-rotate etc like in usual mobiles) it shows the volume bar. But when returning back to that menu the sound symbol remains un-highlighted.
When I kill pulsaudio with pulesaudio --kill the journal shows the following entries:
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSink/sbc
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSource/sbc
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSink/sbc_xq_
453
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSource/sbc_x
q_453
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSink/sbc_xq_
512
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSource/sbc_x
q_512
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSink/sbc_xq_
552
Jan 08 16:43:26 openSUSE bluetoothd[5695]: Endpoint unregistered: sender=:1.128 path=/MediaEndpoint/A2DPSource/sbc_x
q_552
Jan 08 16:43:27 openSUSE systemd[5770]: Starting Sound Service...
Jan 08 16:43:27 openSUSE kernel: **hdmi-audio-codec hdmi-audio-codec.5.auto: Only one simultaneous stream supported!**
Jan 08 16:43:27 openSUSE kernel: **hdmi-audio-codec hdmi-audio-codec.5.auto: ASoC: error at snd_soc_dai_startup on i2s**
-hifi: -22
Jan 08 16:43:27 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:27 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:27 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:27 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE rtkit-daemon[6105]: Supervising 2 threads of 1 processes of 1 users.
Jan 08 16:43:28 openSUSE systemd[5770]: Started Sound Service.
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSink/sbc
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSource/sbc
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSink/sbc_xq_45
3
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSource/sbc_xq_
453
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSink/sbc_xq_51
2
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSource/sbc_xq_
512
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSink/sbc_xq_55
2
Jan 08 16:43:28 openSUSE bluetoothd[5695]: Endpoint registered: sender=:1.151 path=/MediaEndpoint/A2DPSource/sbc_xq_
552
Jan 08 16:43:34 openSUSE eg25manager[5348]: **Rescheduling upload since Location interface is not available, in 30s**
I assume the last entry does not belong to this, since it appears anyway from time to time in the logs.
But there are this two red lines concerning the kernel, including one error message, which I don’t know how to handle.
So obviously pulseaudio is somehow running, but no sound comes out of the device.
(For the moment I use VLC media player for sound checking with an mp3 music file or an mp4 video, variantly)
I do not know anything about the pinephone … and had to search to see what it was. I can see its not the typical hardware, but it would be kind of interesting to get this working.
Is it possible for you to run a diagnostic script, that would provide more information on the pinephone hardware, such that we may be able to guess/assess where the problem could be?
Can you open on konsole/xterm on this device, and as a regular user run this diagnostic script (when connected to the internet):
/usr/sbin/alsa-info.sh
and select the “upload/share” option when prompted. Let the script run to completion. When it is complete it will put a website address/url in the konsole/xterm which is where the diagnostic information was uploaded. Please post that address here. We can then look at it and try to make an assessment (and again post address where info uploaded).
In addition to various information in the script output, I am also interested in what the dmesg (at the end of that script) may say … and if there is no dmesg information (where due to permission issues dmesg it may not run as a regular user) then perhaps you could run that script a second time, where the 2nd time you run it with root permissions.
.
When I sent “OK” to the intial info screen of alsa-info, it reported 5 error messages before it finally started the diagnose:
cat: /tmp/alsa-info.N2vt6Pl6NP/acpidevicestatus.tmp: No such file or directory
cat: '/sys/module/snd_soc_simple_card/parameters/*': No such file or directory
cat: '/sys/module/snd_soc_simple_card/parameters/*': No such file or directory
/usr/sbin/alsa-info.sh: line 661: tree: command not found
/usr/sbin/alsa-info.sh: line 661: tree: command not found
Then it proceeded. The result is this web address (dmesg at the end of the report):
I don’t know the significance of those. It looks like some parameters are missing maybe with snd_soc_simple_card. Is that significant? I don’t know. Could this be missing firmware? Missing alsa? I don’t know.
If you open up the script /usr/sbin/alsa-info.sh (in a text editor that gives line numbers) and go to line 661 it might tell you which command can not be found.
OK.
This pinephone install is all very unusual for me, although I note from an openSUSE HCL that sound should work: HCL : PinePhone
I assume you read this:[INDENT]
If you have problems with audio playback make sure the correct output device (Internal speaker) and device profile settings (Default) are selected in the audio settings. Multimedia content on websites or container formats like mp4 may fail to play - try installing the necessary codecs. They are not included in openSUSE distributions for legal reasons.
[/INDENT]
First I note this is an old version of Tumbleweed, where I see the “5.12.13-11 kernel”. I think that is very old. I think Tumbleweed is now up to 5.15.12 … but perhaps because there are unique aspects to this pinephone (and what ever hardware it has) that only a 5.12.13 has been built for the pinephone? I don’t know.
In summary, what puzzles me is
(1) the script reports your PC does not have the app ‘alsa’ installed, but only has some support alsa apps installed. I don’t understand that. Why is alsa not installed?
(2) your mixer has the volume for many items muted, and not knowing the pinephone hardware, I can not say if that important. It could be important. I don’t know your hardware … I recommend you check the effect of unmuting (it could add noise in which case mute again).
(3) you don’t have pipewire running. Are more pipewire packages needed? pipewire? pipewire-pulseaudio? pipewire-alsa? Honestly, I do not know and others need to chime in.
Some details:
According to the script some alsa modules were loaded:
Ok, so your pinephone sound device is hw:0,0 and your HDMI sound device is hw:1,0 . By default sound will NOT go to the HDMI but it will go to the pinephone.
Did you try to play sound from a bash shell ? ie in a bash shell send this command:
There is no mention there of firmware, but maybe none is needed.
Now the dmesg:
!!ALSA/HDA dmesg
!!--------------
15.674170] input: PinePhone Headset Jack as /devices/platform/sound/sound/card0/input6
Do you have a headset plugged in?
39.514280] hdmi-audio-codec hdmi-audio-codec.5.auto: Only one simultaneous stream supported!
39.522972] hdmi-audio-codec hdmi-audio-codec.5.auto: ASoC: error at snd_soc_dai_startup on i2s-hifi: -22
And error message wrt the HDMI. I don’t know if that is important.
No, I have neither a headset nor any HDMI devices connected.
If you open up the script /usr/sbin/alsa-info.sh (in a text editor that gives line numbers) and go to line 661 it might tell you which command can not be found.
It was in fact the ‘tree’ command, which shows the file names in stylish tree order. I ran the script again and it showed some little additional information. But I guess that will not help really. I started pipewire by hand this time. Here is the link:
Zypper says [FONT=monospace]alsa-1.2.6.1-1.1.aarch64 is installed. I don’t understand why it’s not listed in the overview.
[/FONT]
[FONT=monospace]
This pinephone install is all very unusual for me, although I note from an openSUSE HCL that sound should work: HCL : PinePhone
I assume you read this:[/FONT][INDENT]
If you have problems with audio playback make sure the correct output device (Internal speaker) and device profile settings (Default) are selected in the audio settings. Multimedia content on websites or container formats like mp4 may fail to play - try installing the necessary codecs. They are not included in openSUSE distributions for legal reasons.
[/INDENT]
[FONT=monospace]
[/FONT]Yes, I read it, and I followed the instructions meticulously after the first boot.
You’re right. Actually sound should simply be working. The install went fine as far as I remember. There were no obstacles, interrupts or anything else.
So I consider trying a different OS-image. The Plasma desktop behaves a bit unstable. So maybe I try the PHOSH version, which is especially designed for mobile use.
(3) you don't have pipewire running. Are more pipewire packages needed? pipewire? pipewire-pulseaudio? pipewire-alsa? Honestly, I do not know and others need to chime in.
I added pipewir-alsa, but pipewire-pulseaudio conflicted with pipewire-daemon. So I left it.
OK ... that's interesting ... I wonder thou if there is custom firmware needed to go with that? Is there a custom firmware? I don't know.
They would have mentioned it on the HLC:PinePhone page.
Did you try to play sound from a bash shell ? ie in a bash shell send this command:
aplay -D hw:0,0 -vv /usr/share/sounds/alsa/test.wav
Tried it now. The console stated it plays the file but no sound comes out of the phone.
There many items with volume low or muted - I do not know if they should be unmuted:
I tried alsamixer. But it doesn’t start. Unable to connect to PulseAudio. No unmute option found anywhere.
In the Audio Settings there’s only one Profile to chose, called “Stereo Output”.
I tried the other OS image (still Tumbleweed, but Phosh instead of Plasma), but the sound problem was the same.
Then I gave the Arch Linux version a chance. And everything seems perfect now. It’s a bit of a different world for me after more than 2 decades with Suse.But after all it’s still Linux. We’ll wait and see if I get to terms with it.
Thanks for your assistance with this. You gave your best
That’s good news. Glad to read GNU/Linux is working for you on that device.
One thing you could do is run the diagnostic script under the Arch Linux version, and then compare that with the openSUSE output of the script. That ‘might’ give a hint as to where the difference lay (and possibly why the openSUSE variant does not work):
I ran the script. This time some other error messges appeared before the process actually started:
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
pcilib: Cannot open /proc/bus/pci
lspci: Cannot find any working access method.
cat: /tmp/alsa-info.wvzaGRgi7B/acpidevicestatus.tmp: No such file or directory
cat: '/sys/module/snd_soc_simple_card/parameters/*': No such file or directory
Some more fields are filled out compared to the last Suse one. But I have no clue what might be the reason. Sometimes I think the problem is on the kernel side, so that it could need a patch. But why should the actual version need a patch while it’s stated that audio already works - and where would I find it? Questions over questions. There is only one small forum thread about openSuse on pinephone (it’s not small, but forlorn). And it seems a little orphaned.
Maybe I I will collect all the data and try my luck there, once I found the energy for it. I would really love to get Suse running. Arch is indeed an appealing challenge. But I feel a smart phone is not the perfect device to learn a new distro (adding to the fact that it is in fact a special side version of Arch linux). I could take my laptop for this project, that I currently only use for its SD card reader. But that all are different stories.
The alsa sound driver has many components in the kernel, so its not surprising audio might not work for an older kernel, but will work for a newer kernel. This is especially true the more new hardware may be.
I note the openSUSE Tumbleweed install you tried had a 5.12.13-11 kernel. Arch Linux? It had a much newer 5.16.0-2 kernel.
Note the sound card identification. openSUSE identified the cards as:
Important here, is given sound work works with arch linux, sound nominally BY DEFAULT goes to sound card-0.
But in openSUSE case, the PinePhone sound device is ‘card-1’. This says to me, that you need to then configure openSUSE and redirect sound from card-0 to card-1, else NO sound in openSUSE. If you did not configure to address that then that could be the reason for no sound in Tumbleweed.
Again - sound in Tumbleweed going to card-0 (which is likely not connected in your setup) … and needs to go to card-1. Hence if going to the sound-card-0 there will be no sound, unless an app (such as pauvcontrol) is used to redirect the sound to card-1.
There are also many other differences, in the MIXER (which you can tune in openSUSE) which might explain the difference. In openSUSE the "Line Out Source’,0 is configured to “Stero”. But in Arch Linux it is configured to “Mono Differential”.
In openSUSE “ADC Gain” set to 43%. In arch set to 100%
in openSUSE “AIFI Slot 0 Digital DAC” playback set ‘OFF’. In archlinux, set ‘ON’.
I also note the loaded kernel modules are different. openSUSE linux has a couple of sound modules loaded that archlinux does not have loaded, which are:
snd_compress
snd_soc_hdmi_codec
Unfortunately the archlinux script output does not tell me what packages are installed, so I can’t get any hints there.
As near as I can see, the major differences, which could explain why no audio in the Tumbleweed are :
Arch linux has a newer kernel, ergo newer drivers could explain why
openSUSE Tumbleweed was likely sending audio to card-0 , which means you would hear nothing unless you redirected it to card-1.
the ArchLinux mixer has a different configuaration with sound working, which could also explain the difference
Honestly, the reason for no sound in Tumbleweed could be anyone of those 3, where 2 of them are things that you can configure yourself. Updating the kernel on this non-intel device may not be as easy.
I found the problem and just now i am updating Kernel to 5.16.1 and also fixing Audio.
We has to move directory to a folder inside /usr/share/alsa/ucm2/Pine64/PinePhone intead older one tree that it was /usr/share/alsa/ucm2/PinePhone and then create some simbolic links like this: