plbossart / UCM

UCM files for Intel platforms
104 stars 48 forks source link

bytcr-rt5651 on atom getting mono from both channels #48

Open Linwood-F opened 6 years ago

Linwood-F commented 6 years ago

I've read the other notes and issues and am hoping that I am doing something silly, or maybe there is an issue to report.

I have a Z83-W card which includes the rt5651. By following the instructions here (at specifically under that folder) AND blacklisting the HDMI card, I can get the audio working on Ubuntu Mate 18.04.01 as well as 18.10 beta including a daily (as of today).

Except.... right and left channels are combined. It shows as though stereo but when I play only left (for example) it comes out both right and left; same for right.

I have verified the hardware by loading Windows 10 Pro and it correctly separates the channels, so it is not a hardware or jack or cable issue.

I've tried switching from speaker to headset to speaker and no change (there is only one jack on this device, combined mic and speaker).

I've seen pages of "try this" and "post this" to the point of analysis paralysis, but am happy to provide info if someone will tell me what's meaningful. Or any clue how to debug.

Here are the commands I use to apply:

    cd ~
    git clone https://github.com/plbossart/UCM.git
    sudo cp -rf ~/UCM/bytcr-rt5651 /usr/share/alsa/ucm
    sudo cp ~/UCM/bytcr-rt5651/asound.state /var/lib/alsa
    echo "blacklist snd_hdmi_lpe_audio" | sudo tee /etc/modprobe.d/blacklist_snd_hdmi_lpe_audio.conf

ONCE it worked. I had done a reinstall, was going through the above steps, tried it and it worked fine. Rebooted, and it was once again mono. I have no idea what was different.

Here are a few details:

[    9.102111] bytcr_rt5651 bytcr_rt5651: quirk IN2_HS_IN3_MAP enabled
[    9.102119] bytcr_rt5651 bytcr_rt5651: quirk realtek,jack-detect-source 1
[    9.102122] bytcr_rt5651 bytcr_rt5651: quirk realtek,over-current-threshold-microamp 2000
[    9.102125] bytcr_rt5651 bytcr_rt5651: quirk realtek,over-current-scale-factor 1
[    9.102127] bytcr_rt5651 bytcr_rt5651: quirk MCLK_EN enabled
[    9.148085] bytcr_rt5651 bytcr_rt5651: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
[    9.148163] bytcr_rt5651 bytcr_rt5651: snd-soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
[    9.172650] bytcr_rt5651 bytcr_rt5651: rt5651-aif1 <-> ssp2-port mapping ok
[    9.183942] input: bytcr-rt5651 Headset as /devices/pci0000:00/808622A8:00/bytcr_rt5651/sound/card0/input8

$ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: bytcrrt5651 [bytcr-rt5651], device 0: 1 []
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: bytcrrt5651 [bytcr-rt5651], device 1: Deep-Buffer Audio (*) []
  Subdevices: 1/1
  Subdevice #0: subdevice #0

Any hints or pointers really appreciated. Or conversely if this looks like an issue in this project please let me know what I can provide to help find it?

Linwood

Linwood-F commented 6 years ago

So I managed to figure out how to reproduce getting it to work RIGHT, and what breaks it.

If I install 18.10 (daily, though I think it might work on 18.04), then dist-upgrade, reboot, then ONLY do this change:

echo "blacklist snd_hdmi_lpe_audio" | sudo tee /etc/modprobe.d/blacklist_snd_hdmi_lpe_audio.conf

Then install Pulse Audio Volume, change from Speakers to headset, close, open Sources, turn the profile off and on, then test it works, and works after a reboot. I did NOT install the UCM code above. If I do, it universally functions but gives me mono (or maybe more problem said mixed) output.

I suspect a bunch of that is not actually required, but it's late at night and I'm going to crash, and will try to minimize the steps tomorrow. But for me, with this hardware, the code for the 5651 seems to break it, not fix it.