raphael / linux-samus

Linux 4.16 on Chromebook Pixel 2015
GNU General Public License v2.0
181 stars 36 forks source link

Sound not working on 4.7.4-ph+ #159

Closed EmbeddedAndroid closed 7 years ago

EmbeddedAndroid commented 7 years ago

I've just completed a fresh install of Ubuntu 16.04 on my Pixel, and then upgraded to use the linux-samus 4.7.4-ph+ kernel. I've followed the post-install steps, and everything except sound is not functioning.

tyler@pixel:~$ amixer -q -D pulse Simple mixer control 'Master',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 65536 Mono: Front Left: Playback 49699 [76%] [on] Front Right: Playback 49699 [76%] [on] Simple mixer control 'Capture',0 Capabilities: cvolume cswitch cswitch-joined Capture channels: Front Left - Front Right Limits: Capture 0 - 65536 Front Left: Capture 65536 [100%] [on] Front Right: Capture 65536 [100%] [on]

[ 6.008506] bdw-rt5677 bdw-rt5677: snd-soc-dummy-dai <-> System Pin mapping ok [ 6.010451] rt5677 i2c-RT5677CE:00: Can't add headphone jack gpio [ 6.010492] rt5677 i2c-RT5677CE:00: Can't add mic jack gpio [ 6.010531] bdw-rt5677 bdw-rt5677: rt5677-aif1 <-> snd-soc-dummy-dai mapping ok [ 6.013291] input: bdw-rt5677 Headphone Jack as /devices/pci0000:00/INT3438:00/bdw-rt5677/sound/card0/input7 [ 6.013339] input: bdw-rt5677 Mic Jack as /devices/pci0000:00/INT3438:00/bdw-rt5677/sound/card0/input8

Everything I've checked appears to be ok, but I get no sound from the speakers, nor can I record any audio from the microphone.

Did I miss a step?

raphael commented 7 years ago

I added a "setup" section to the README replicating the content of a comment from @reynhout made in the GalliumOS repo: https://github.com/GalliumOS/galliumos-distro/issues/100#issuecomment-241534837

Maybe these steps help?

EmbeddedAndroid commented 7 years ago

Yes, this gets my speakers working now. Microphone is still not, but I can muck with the amixer settings. Thanks!

raphael commented 7 years ago

If you figure out which controls enable the mic please consider submitting a PR to the README, thank you!

EmbeddedAndroid commented 7 years ago

Ok will do!

reynhout commented 7 years ago

@EmbeddedAndroid microphone works for me with: https://github.com/GalliumOS/galliumos-samus/blob/master/usr/bin/samus-alsaenable-microphone

raphael commented 7 years ago

It's working for me too, I just didn't know which controls would have to be enabled on a fresh install. @reynhout I understand the repo you pointed to is meant to be integrated into GalliumOS. Would it be OK to copy the files over to this repo "scripts" folder with instructions in the README for those of us that do not use that distro?

EmbeddedAndroid commented 7 years ago

@reynhout Thanks, after running that script my microphone works properly.

reynhout commented 7 years ago

@raphael Yes, absolutely. If there's anything useful in https://github.com/GalliumOS, please copy it.

The https://github.com/GalliumOS/galliumos-samus repo has audio config and scripts, and some HiDPI config for Xfce. The script to reset the Atmel touchpad/touchscreen is probably no longer needed in 4.7 kernels, but it works just like the one here in https://github.com/raphael/linux-samus.

The contents of galliumos-samus will hopefully be incorporated into our galliumos-broadwell tree or other platform packages at some point. We make ISOs for each Chromebook platform (haswell, broadwell, baytrail, etc) -- if that incorporation gets too complicated, we will just add a new ISO specifically for SAMUS.

GalliumOS (debian) packages are at http://apt.galliumos.org/, if it's easier to work with the galliumos-samus package as a whole: http://apt.galliumos.org/pool/main/g/galliumos-samus/

Future updates to that package should include headphone jack insertion/removal detection, and config to run the various audio scripts at the right times. I also need to work on the ALSA config for headset mics.

I expect jack detection to require another kernel patch and config. The current GalliumOS kernel is in a temporary repo: https://github.com/GalliumOS/linux-tmp/ ... which will be renamed to https://github.com/GalliumOS/linux/ before long.