Porting to Samsung Galaxy S7 - help needed to make sound work
I am working on a porting Ubuntu Touch to the Samsung Galaxy S7 - herolte. I have added info on the current state of things here: https://docs.halium.org/en/latest/supplementary/devices/index.html
The issue I am currently working on is sound. Here is what I have found out so far:
- A sound card is registered, as confirmed from the output of 'aplay -l' and 'aplay -L'
- 'sudo dmesg | grep audio' gives 'lucky-audio sound: lucky_suspend_post : set AIF1 to slave'
- 'cat /var/log/syslog | grep pulseaudio' gives a good deal of output, among other things a few error messages, notably a complaint about not being able to parse any configuration, as well as not being able to load module-droid-card-24 and failing to open module-droid-glue-24
What configuration is it pulseaudio cannot find/parse, and where should it be located?
Why does module-droid-card-24 not get loaded when it is definitely present?
And why can module-droid-glue-24 not be read when it also clearly is present?
Are there other steps I need to take to pinpoint the source of the problem? I have been banging my head at this for a couple of weeks now with no luck, so help would be greatly appreciated!
I got help reading the output of
cat /var/log/syslog | grep pulseaudio
Based on error messages therein, I edited out three sections from audio_policy.conf
After recompiling I now have sound, but it is not clean. The quality is like "poor FM radio reception".
Now I need to determine the cause of this and make adjustments accordlingly. So far I have few clues. Some say sampling rate could be the cause. I adjusted the argument in my touch.pa file which passes rate to the module-droid-card-24 at load time. This did not help. syslog shows that 'requested rate=44100 but got rate=48000'
I don't know what to try next...
'requested rate=44100 but got rate=48000'
Seems like sampling is expected to be 44.1Khz but actually is 48Khz.
That indeed could be a sampling rate issue so, yes...
Can't help you further sorry, i'm not a hacker.
The reason is that I passed the argument 'rate=44100' to the module module-droid-discover in the file touch.pa, which in turn means that this argument gets passed in the correct way.
However, the effect should be that that the sampling rate gets set to this value, but that does not happen, and I do not understand why, since I can set it correctly from the command line using pactl