No sound on Bay Trail (SWANKY, GNAWTY) #66

Closed
reynhout opened this Issue Nov 12, 2015 · 98 comments

Comments

Projects
None yet
Owner

reynhout commented Nov 12, 2015

Reported by Bergauk via IRC.

Initial report on Toshiba CB35 Chromebook 2

Toshiba CB2 CB35-B3340
John Lewis ROM

Otherwise, install went well and initial testing is positive.

Owner

hugegreenbug commented Nov 12, 2015

This is the solution according to John Leiws: https://johnlewis.ie/procedure-to-get-sound-working-in-fedora-22-on-asus-c300-chromebook/ . We are using a new enough kernel for this to work.

If someone could follow the instructions in the link above, save the state with: sudo alsactl store, then send us /var/lib/alsa/sound.state, we could include it.

Owner

hugegreenbug commented Nov 12, 2015

This is a better fix: https://plus.google.com/+JamesFuBEEFCAKE/posts/Tf4Pc5Z8reH . It includes the alsa state file from ChromeOS and a fix to mute the speakers when the headphones are plugged in.

Ravoz commented Nov 12, 2015

I switched out the alsa state file, however, sound playback was still not working on my swanky. I then also installed an intel firmware that worked for me in 14.04.3 Trusty, but again sound did not work.

Owner

ColtonDRG commented Nov 12, 2015

I suppose now we should start looking for potential missing kernel modules....

Owner

reynhout commented Nov 13, 2015

Same problem reported on GNAWTY, so I'll update the title of the issue.

I think the GalliumOS kernel includes support for Bay Trail sound as a module: (CONFIG_SND_SOC_INTEL_BAYTRAIL=m and CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m), so the problem might be at a higher layer.

@reynhout reynhout changed the title from No sound on Toshiba CB35 Chromebook 2 (SWANKY, Bay Trail) to No sound on Bay Trail (SWANKY, GNAWTY) Nov 13, 2015

Owner

hugegreenbug commented Nov 13, 2015

The alsa state file needs to be replaced, but it could be overwritten by the alsa-store service which runs before rebooting. @Ravoz can you verify that the alsa state file is the same as the downloaded one once you reboot?

I think you need to either the disable the alsa-store service and then re-enable it after you reboot with the new state file, or copy the state file and then run the alsa-restore service.

Owner

ColtonDRG commented Nov 13, 2015

[Apparently] This works [OOB] on Ubuntu 15.10.

Update: After some further research, there are quite a few mixed reports on this.

Ravoz commented Nov 14, 2015

@hugegreenbug , I'm away on a business trip this weekend, but I'll see if I can take a look at it. But it may be Monday. @ColtonDRG , for me at least on Swanky, with 15.10, to get sound working still requires replacing the asound.state file. 15.10 did fix automatic headphone muting though.

Owner

ColtonDRG commented Nov 14, 2015

Hm, well, other users claimed that it worked OOB on other Bay Trail models. Whatever happens, we'll get it fixed, hopefully before 1.0. Hopefully we'll get our hands on a Bay Trail model before then as well. :D

Owner

hugegreenbug commented Nov 14, 2015

@Ravoz Ok, whenever you have time. I also realized that I have a sound fix for the other models that is probably messing things up here. Could you also try to move /etc/modprobe.d/snd-hda-intel.conf out of the way and reboot? Thanks.

c0nsaw commented Nov 14, 2015

Hi folks, Toshiba CB2 user here also, I have successfully installed GalliumOS via usb. Everything looks pretty good, but no sound either, I have tried the various methods above also.

Willing to help out if I can.

Toshiba CB2 CB30-B-104
John Lewis ROM

Owner

hugegreenbug commented Nov 14, 2015

@c0nsaw Did you move the file: /etc/modprobe.d/snd-hda-intel.conf out of the way? Did you try the asound.state file and if you did, did you verify that it was the same file you copied over after you rebooted?

Ravoz commented Nov 14, 2015

@hugegreenbug , I moved /ect/modprobe.dsnd-hda-intel.conf out of the way, however, after rebooting I get "failed login command"? I will have to wait until Monday to make a new live usb and try again. I'll also confirm that the asound.state isn't being overwritten.

Owner

ColtonDRG commented Nov 14, 2015

@Ravoz You can probably recover your existing install by using a vt to login and undo whatever you did to break it.

c0nsaw commented Nov 14, 2015

@hugegreenbug Hi, I renamed /etc/modprobe.d/snd-hda-intel.conf to snd-hda-intel.conf.old , but left in same location. Yes I did try the asound.state file, but no I did not verify the file was the same after reboot. I will do again, and report back to you. Thanks :)

Owner

hugegreenbug commented Nov 14, 2015

@c0nsaw Is there anything in dmesg related to the sound?

@ColtonDRG ColtonDRG removed the baytrail label Nov 16, 2015

I just installed Beta 1 Haswell ISO on my Toshiba Chromebook 2 (baytrail, swanky) and I have no sound.

Things done so far:

  1. I tried replacing the state file with the one from James Fu (https://plus.google.com/+JamesFuBEEFCAKE/posts/Tf4Pc5Z8reH), and I confirm that the file gets overwritten during boot (also tried using restore command to force it to use my new sound state file - didn't work).
  2. I modified the settings file /usr/share/pulseaudio/alsa-mixer/paths/analog-output-headphones.conf to address the reported issue (when you DO get sound working) with headphones:
    [Element Speaker]
    switch = mute
    volume = zero
  3. I ran dmesg and saw these errors relating to the sound:

[ 4.593709] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[ 4.593716] byt-max98090 byt-max98090: snd_soc_register_card failed -517

I did see some posts about 15.10 resolving some audio issues for these models.

Hope this info helps - everything seems to be good (some rough spots like Chrome/Chromium - don't see way to switch to Chrome/icon errors, and some other UI oddities but seems mostly stable)

Owner

ColtonDRG commented Nov 24, 2015

I am getting a GNAWTY from Google to work on during the month of December. I hope to get the issue (and any other issues) worked out during my time with it.

I remember seeing this in my research - let me try it and I'll post results. FYI - Power management seems to be working very well (getting perhaps better battery life than ChromeOS). Chromium is definitely slower than stock ChromeOS with Chrome - not sure if there is room for improvement in future builds or not, but thought I'd mention it.

Not getting the results described by the person in that post - quote from his post: "uninstall linux-firmware, and be sure there is nothing remaining in /lib/firmware/intel. Finally copy the contents of the chromium repo (click tgz to download) to /lib/firmware/intel. You should see an audio device on next boot." and for the repo is referring to "https://chromium.googlesource.com/chromiumos/third_party/linux-firmware/+/refs/heads/stabilize-5339.B/intel/" I tried uninstalling and just copying, and I also tried reinstalling and copying over; neither had positive results. Uninstalling and just copying resulted in no wireless, no sound, etc. I will try to follow up with that person and see if maybe there was more to it, though the article is about a year old.

I just checked dmesg and that error is gone, so I'm going to try doing the state file.
[ 4.691389] max98090 i2c-193C9890:00: MAX98090 REVID=0x43
[ 4.699544] byt-max98090 byt-max98090: HiFi <-> baytrail-pcm-audio mapping ok
[ 4.702793] input: byt-max98090 Headset as /devices/platform/80860F28:00/byt-max98090/sound/card1/input10

OK, so maybe there was no progress - I read more through dmesg and I found:

[ 4.593101] byt-max98090 byt-max98090: ASoC: CPU DAI baytrail-pcm-audio not registered
[ 4.593109] byt-max98090 byt-max98090: snd_soc_register_card failed -517

before the good entries:

[ 4.693548] max98090 i2c-193C9890:00: MAX98090 REVID=0x43
[ 4.701953] byt-max98090 byt-max98090: HiFi <-> baytrail-pcm-audio mapping ok
[ 4.704858] input: byt-max98090 Headset as /devices/platform/80860F28:00/byt-max98090/sound/card1/input10

Also, I just recopied (and did a alsactl restore) to try to get it to keep the asound.state file. In the end, no change; In fact, in some combinations of these changes the volume up key does nothing but mute and volume down work, and in other combinations of various fixes I believe volume up and down worked but I'm not sure about mute.

Let me know if you have other ideas - I will continue re-reading the various posts from the past year or two with people installing linux on baytrail devices.

Apparently there is a different between older and newer BayTrail devices with regards to audio support in Ubuntu - that probably explains why some people have no issues, and why some fixes work for some people but not others.
http://ubuntuforums.org/showthread.php?t=2255425

This discussion mentions looking for / testing newer version of Alsa so I might do that next.

In case it helps, here is my dmesg output:
dmesg.txt

stozi commented Nov 30, 2015

I'm willing to test this on my Lenovo N21 if someone can help me identify the write protection screw/jumper

drghuser commented Dec 1, 2015

I have played with a few different sets of Intel firmware aimed at Chromebooks and it seems like I can get it detected and get it to show up in ALSA but still no sound. I plan on posting more particulars soon. I even tried not having PulseAudio installed since I saw some postings about that sometimes messing things up.

Owner

reynhout commented Dec 1, 2015

Reddit field report: James Fu's workaround succeeds for Acer CB3-111 (GNAWTY).

https://www.reddit.com/r/linux/comments/3umh3t/im_looking_for_a_sub_200_laptop_that_will_run/cxi6aqg
https://plus.google.com/+JamesFuBEEFCAKE/posts/Tf4Pc5Z8reH

*possible caveat: success under Mint, not GalliumOS, I think. Hopefully the same solution works in both distros, but if not that might be a starting point for investigation.

drghuser commented Dec 1, 2015

renhout, can you post what chipset the audio is for your machine, maybe a dmesg post? If it's the same as in the Toshiba Chromebook 2 I may try removing the files in /lib/firmware/intel and removing and reinstalling linux firmware package from the package manager and do the basic ALSA sound state fix again (I keep doing that after trying different Intel firmware).

Right now I'm using firmware from:
https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware/+/refs/heads/master/intel
and it loads the Intel SST - output from dmesg:
[ 4.403118] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

drghuser commented Dec 1, 2015

I just saw that you put that you got it working under Mint. I have seen plenty of success under other distros: Arch, Mint, etc. just not under GalliumOS.

Owner

reynhout commented Dec 1, 2015

@drghuser: I can ask /u/agr8sh0t on Reddit to join this thread or paste their dmesg output, if it would still be useful. I'll check to confirm that they are running Mint.

drghuser commented Dec 1, 2015

I just put back the original Intel files by deleting the files in /lib/firmware/intel and reinstalling the "linux firmware" package. If you do this, then there is no sound, but the hardware is detected and a driver loaded. The media keys (with the seach button) for volume up and down work but not mute. If you do the asound.state update there is still no sound and then mute works and volume up but not volume down. I've also tried things like reloading alsa from a terminal as well as reinstalling the alsa base package. The only thing I haven't tried (because I suspect it will end badly) is getting a newer version of ALSA. I think this may fix the issue, but since the kernel drivers won't be up to date I would expect it to fail.

Owner

reynhout commented Dec 1, 2015

@stozi: I've been unable to find official or specific docs on the net, but from a replacement parts photo, I think the WP screw goes in the hole on the left hand side (see second link, not sure of board orientation in device), near the blue (USB?) connector numbered "141123".

That screw hole has metal pads where the head of the screw would sit when torqued all the way down, which is the typical WP screw mechanism. It isn't labelled, but none of the other screw holes have anything like that, so that's the basis for my guess.

http://www.globaldirectparts.com/OEM-Lenovo-N21-Chromebook-80MG-Motherboard-p/cbln21brd1.htm
https://cdn3.volusion.com/z5euy.vk2jo/v/vspfiles/photos/CBLN21BRD1-2.jpg?1448467087

Owner

hugegreenbug commented Dec 1, 2015

I'm going to double check the kernel config this evening and see if I missed anything.

drghuser commented Dec 1, 2015

@reynhout @stozi - Reynhout's second link does show it best - near the USB connector and SD card reader (at least that's what it looks like)

Owner

hugegreenbug commented Dec 1, 2015

I did miss something for baytrail in the kernel. Could someone try this: https://drive.google.com/file/d/0B6zPD2kAJoTJM0J0Z09GNllGa1k/view?usp=sharing and see if it makes a difference?

drghuser commented Dec 2, 2015

I just downloaded and chose to install it - got the following output:
/usr/sbin/iucode_tool: /lib/firmware/intel-ucode/ibt-hw-37.7.bseq: invalid file format
E: intel-microcode: failed to create or prepend the early initramfs to the initramfs
Generating grub configuration file ...
Found background: /usr/share/xfce4/backdrops/galliumos-default.jpg
Warning: Setting GRUB_TIMEOUT to a non-zero value when GRUB_HIDDEN_TIMEOUT is set is no longer supported.
Found background image: /usr/share/xfce4/backdrops/galliumos-default.jpg
Found linux image: /boot/vmlinuz-4.1.6galliumos
Found initrd image: /boot/initrd.img-4.1.6galliumos
Found linux image: /boot/vmlinuz-4.1.6-galliumos
Found initrd image: /boot/initrd.img-4.1.6-galliumos
Found memtest86+ image: /boot/memtest86+.elf
Found memtest86+ image: /boot/memtest86+.bin
/dev/mmcblk0rpmb: read failed after 0 of 4096 at 4128768: Input/output error
/dev/mmcblk0rpmb: read failed after 0 of 4096 at 4186112: Input/output error
/dev/mmcblk0rpmb: read failed after 0 of 4096 at 0: Input/output error
/dev/mmcblk0rpmb: read failed after 0 of 4096 at 4096: Input/output error
No volume groups found
done

drghuser commented Dec 2, 2015

After reboot there was still no sound and volume up/down media keys worked but not mute. Dmesg output looked similar/same as past. I copied the James Fu asound.state file and rebooted. Now I had all working media keys but no sound. I decided to run the alsa tools test script again (haven't run it in awhile troubleshooting other firmware, etc. The output looks good (see below)- I think we are closer. I'm thinking of either doing an alsa force-reload next and a couple of the other common fixes I've seen posted (and that I have tried in the past with different firmware, etc.) Perhaps I need to try the other firmware again too. :-)
alsa-info.txt

Owner

hugegreenbug commented Dec 2, 2015

@drghuser Thanks for trying it. I don't know why the microcode didn't apply or what the /dev/mmcblk errors are about.

Have you tried the firmware here: http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/intel ? There is also updated microcode there.

drghuser commented Dec 2, 2015

That appears to be the same as the one I referenced above, just a different source location.

Owner

hugegreenbug commented Dec 2, 2015

Ok.

drghuser commented Dec 2, 2015

That firmware does work, in fact that is the only one I have found other than the one in the "linux firmware" package that has actually worked/loaded.

drghuser commented Dec 2, 2015

just no sound. :-(

Owner

hugegreenbug commented Dec 2, 2015

Have you tried alsamixer yet to unmute things? I've read that some have had to do that.

drghuser commented Dec 2, 2015

the restored asound.state file appears to be unmuted, and I thought I opened the mixer in terminal in at least one of my many desperate attempts. :-) I'm trying to make sure I try all the various permutations of the various fixes / firmwares combined with each other.

drghuser commented Dec 2, 2015

yes alsamixer just shows the same data in terminal and in the GUI versions. Everything says there is sound, but there is just silence.

drghuser commented Dec 2, 2015

When I tried the files at https://kernel.googlesource.com/pub/scm/linux/kernel/git/firmware/linux-firmware/+/refs/heads/master/intel (which appear to be the same as @hugegreenbug posted http://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/tree/intel ) I just deleted the files in /lib/firmware/intel and copied the files from the location. FYI - The files that get installed in /lib/firmware/intel by the included 'linux-firmware' package appear to be the same versions (which makes sense since according to the log at git.kernel.org the last updates for Baytrail were 12/2014).

The only differences were the following files which are NOT in the current 'linux firmware' package but are in both the above mentioned sites:

ibt-hw-37.8.10-fw-22.50.19.14.f.bseq
dsp_fw_release.bin

stozi commented Dec 4, 2015

Btw, so to do this using John Lewis's script on my Lenovo N21, I must use the BOOT_STUB mod, which means any time I accidentally hit refresh or power I have to open my machine and disconnect the battery? That's what I'm getting here: https://johnlewis.ie/custom-chromebook-firmware/rom-download/

Owner

ColtonDRG commented Dec 4, 2015

@stozi If I understand it correctly, you only have to do that if you push Refresh and Power at the same time. Either way, it's off topic.

Owner

reynhout commented Dec 4, 2015

@stozi confirming @ColtonDRG: When you tell the Chromebook to initiate the ChromeOS recovery procedure (by pressing Refresh+Power together), it will try do to so. The recovery code doesn't exist in the new ROM, so it will get stuck.

Fortunately, no code will run and nothing bad will happen to your installed system. But the machine will remember your request and keep trying on reboots, until you make it forget by unplugging the battery for a few seconds. Inconvenient, obviously, but very unlikely to happen in the first place.

stozi commented Dec 4, 2015

Great, moving ahead. Sorry, this isn't right on topic, but I need help if I'm to test my Lenovo N21. I don't see a write-protect screw here and I have no idea what a jumper point would look like:
http://cs630422.vk.me/v630422631/3a1e/GVdXD0J2C2E.jpg

Owner

reynhout commented Dec 4, 2015

@stozi did you see this comment? #66 (comment)

From your photo, I think that corresponds to a screw hidden under that white "lenovo" sticker.

stozi commented Dec 4, 2015

you are, obviously, completely correct. So far so good, last tangental question, what do I pick on the Gallium download page? Broadwell?

Owner

reynhout commented Dec 4, 2015

We've been suggesting Haswell generally, but it probably doesn't make much difference here.

You can switch between hardware specific configs with apt-get remove galliumos-haswell && apt-get install galliumos-broadwell (etc).

stozi commented Dec 4, 2015

Ok, well Gallium is running nicely fully installed on my Lenovo N21. Quite an attractive design. No audio, of course, given the testing that you all have done, is there anything you'd like me to try on this? Alsamixer shows a 'HDA Intel PCH' and a 'byt-max98090'

Btw, there's no reason to replace the write-protect screw, is there?

Owner

ColtonDRG commented Dec 6, 2015

No, there isn't. If you replace that screw it will just make your life harder next time you want to update the firmware.

Owner

hugegreenbug commented Dec 7, 2015

@drghuser could you try to move /etc/modprobe.d/snd-hda-intel.conf to somewhere else and reboot? Sorry, I should have thought of this before.

Owner

hugegreenbug commented Dec 7, 2015

@stozi could you also try the above suggestion?

drghuser commented Dec 7, 2015

I didn't do that because I thought the last person, @Ravoz , to try that had their machine stop booting.

Owner

hugegreenbug commented Dec 7, 2015

@drghuser Oh, I did suggest it earlier :). It can't cause the machine to stop booting. He may have moved something else by accident. That file doesn't exist in a normal Xubuntu installation. It helps with sound issues for haswell and broadwell.

drghuser commented Dec 7, 2015

I'm trying it now - also, it's hda, not had.

Owner

hugegreenbug commented Dec 7, 2015

Ok. Thanks, I fixed it.

drghuser commented Dec 7, 2015

no sound still. I even tried reinstalling linux firmware and alsa base; no dice; copied the trusty asound.state; nada. I can try that other intel firmware again, but so far moving that hda conf file doesn't seem to have made a difference (dmesg appears the same too).

Owner

hugegreenbug commented Dec 7, 2015

Ok. Thanks for trying.

Hugh

On Mon, Dec 7, 2015 at 1:07 PM, drghuser notifications@github.com wrote:

no sound still. I even tried reinstalling linux firmware and alsa base; no
dice; copied the trusty asound.state; nada. I can try that other intel
firmware again, but so far moving that hda conf file doesn't seem to have
made a difference (dmesg appears the same too).


Reply to this email directly or view it on GitHub
#66 (comment)
.

drsn0w commented Dec 8, 2015

I own an ASUS C300 (QUAWKS) and helped John Lewis in the initial Baytrail bringup of his ROM. I'd love to help with this issue, I'll install Gallium tonight. What would you like me to test?

Owner

hugegreenbug commented Dec 8, 2015

@drsn0w Honestly, I'm not sure anymore. I guess you can try to boot a 4.2 kernel. If it doesn't boot, you may need to set acpi=off as a kernel boot option. Thanks!

Owner

hugegreenbug commented Dec 8, 2015

@drsn0w You can also try some of the suggestions in this thread and here: https://plus.google.com/100074662224885886899/posts/dkpHJ1ufwP7 . I would recommend renaming /etc/modprobe.d/snd-hda-intel.conf to something that doesn't end in .conf

drsn0w commented Dec 8, 2015

Alright, I'll give that a whirl when I get home. I use a 4.3 kernel on my existing Debian installation on the C300 and following the fixes on John's group worked for me, so I'll try 4.2, as well as 4.3. Is there a specific kernel configuration file for Gallium that I should use?

Owner

hugegreenbug commented Dec 8, 2015

@drsn0w Our kernel config could be the problem. The config we are using is here: https://github.com/GalliumOS/linux/blob/master/.config .

drsn0w commented Dec 8, 2015

Ok, I'll take a look and compare it with my existing config

drghuser commented Dec 8, 2015

I'm pursing a lead I saw from someone using Gentoo with minimal changes. Mine isn't muted, but I'm trying adding a asound.conf with:
pcm.!default {
type pulse
# If defaults.namehint.showall is set to off in alsa.conf, then this is
# necessary to make this pcm show up in the list returned by
# snd_device_name_hint or aplay -L
hint.description "Default Audio Device"
}
ctl.!default {
type pulse
}

https://wiki.gentoo.org/wiki/Toshiba_Chromebook_2

UPDATE: This just made it more convenient for changing audio, didn't fix the missing audio issue. Hopefully the kernel config comparison turns up something.

drsn0w commented Dec 9, 2015

Welp, I excitedly installed GalliumOS w/o grabbing the kernel config from the boot partition of my C300's Debian. Digging through my build machine now, hopefully it's around here somewhere. I'll also take a look at Fedora's default kernel configurations, as I know sound works on them with aforementioned steps

drsn0w commented Dec 9, 2015

Looking at a diff between your kernel config and Fedora's kernel config doesn't tell me much. Granted, diff output gives me a headache, and the Fedora kernel config is 4.4 whereas yours is 4.1. From what I can tell, there aren't any options in Fedora that aren't enabled on Gallium's Linux.

Here's the diff output if anyone wants to take a look:
(I ran cat config-x86-generic-fedora | grep SND > config-x86-generic-fedora-snd and cat linux-config-gallium | grep SND > linux-config-gallium-snd to filter out the sound related options)

icefish332 ~/gallium-linux $ diff linux-config-gallium-snd config-x86-generic-fedora-snd 
1,163d0
< CONFIG_SND=m
< CONFIG_SND_TIMER=m
< CONFIG_SND_PCM=m
< CONFIG_SND_DMAENGINE_PCM=m
< CONFIG_SND_HWDEP=m
< CONFIG_SND_RAWMIDI=m
< CONFIG_SND_COMPRESS_OFFLOAD=m
< CONFIG_SND_JACK=y
< CONFIG_SND_SEQUENCER=m
< CONFIG_SND_SEQ_DUMMY=m
< CONFIG_SND_OSSEMUL=y
< CONFIG_SND_MIXER_OSS=m
< CONFIG_SND_PCM_OSS=m
< CONFIG_SND_PCM_OSS_PLUGINS=y
< # CONFIG_SND_SEQUENCER_OSS is not set
< CONFIG_SND_HRTIMER=m
< CONFIG_SND_SEQ_HRTIMER_DEFAULT=y
< CONFIG_SND_DYNAMIC_MINORS=y
< CONFIG_SND_MAX_CARDS=32
< CONFIG_SND_SUPPORT_OLD_API=y
< CONFIG_SND_VERBOSE_PROCFS=y
< # CONFIG_SND_VERBOSE_PRINTK is not set
< # CONFIG_SND_DEBUG is not set
< CONFIG_SND_VMASTER=y
< CONFIG_SND_KCTL_JACK=y
< CONFIG_SND_DMA_SGBUF=y
< CONFIG_SND_RAWMIDI_SEQ=m
< # CONFIG_SND_OPL3_LIB_SEQ is not set
< # CONFIG_SND_OPL4_LIB_SEQ is not set
< # CONFIG_SND_SBAWE_SEQ is not set
< # CONFIG_SND_EMU10K1_SEQ is not set
< CONFIG_SND_MPU401_UART=m
< CONFIG_SND_AC97_CODEC=m
< CONFIG_SND_DRIVERS=y
< CONFIG_SND_PCSP=m
< CONFIG_SND_DUMMY=m
< CONFIG_SND_ALOOP=m
< CONFIG_SND_VIRMIDI=m
< CONFIG_SND_MTPAV=m
< CONFIG_SND_SERIAL_U16550=m
< CONFIG_SND_MPU401=m
< CONFIG_SND_AC97_POWER_SAVE=y
< CONFIG_SND_AC97_POWER_SAVE_DEFAULT=0
< CONFIG_SND_PCI=y
< # CONFIG_SND_AD1889 is not set
< # CONFIG_SND_ALS300 is not set
< # CONFIG_SND_ALS4000 is not set
< # CONFIG_SND_ALI5451 is not set
< # CONFIG_SND_ASIHPI is not set
< # CONFIG_SND_ATIIXP is not set
< # CONFIG_SND_ATIIXP_MODEM is not set
< # CONFIG_SND_AU8810 is not set
< # CONFIG_SND_AU8820 is not set
< # CONFIG_SND_AU8830 is not set
< # CONFIG_SND_AW2 is not set
< # CONFIG_SND_AZT3328 is not set
< # CONFIG_SND_BT87X is not set
< # CONFIG_SND_CA0106 is not set
< # CONFIG_SND_CMIPCI is not set
< # CONFIG_SND_OXYGEN is not set
< # CONFIG_SND_CS4281 is not set
< # CONFIG_SND_CS46XX is not set
< # CONFIG_SND_CTXFI is not set
< # CONFIG_SND_DARLA20 is not set
< # CONFIG_SND_GINA20 is not set
< # CONFIG_SND_LAYLA20 is not set
< # CONFIG_SND_DARLA24 is not set
< # CONFIG_SND_GINA24 is not set
< # CONFIG_SND_LAYLA24 is not set
< # CONFIG_SND_MONA is not set
< # CONFIG_SND_MIA is not set
< # CONFIG_SND_ECHO3G is not set
< # CONFIG_SND_INDIGO is not set
< # CONFIG_SND_INDIGOIO is not set
< # CONFIG_SND_INDIGODJ is not set
< # CONFIG_SND_INDIGOIOX is not set
< # CONFIG_SND_INDIGODJX is not set
< # CONFIG_SND_EMU10K1 is not set
< # CONFIG_SND_EMU10K1X is not set
< # CONFIG_SND_ENS1370 is not set
< # CONFIG_SND_ENS1371 is not set
< # CONFIG_SND_ES1938 is not set
< # CONFIG_SND_ES1968 is not set
< # CONFIG_SND_FM801 is not set
< # CONFIG_SND_HDSP is not set
< # CONFIG_SND_HDSPM is not set
< # CONFIG_SND_ICE1712 is not set
< # CONFIG_SND_ICE1724 is not set
< CONFIG_SND_INTEL8X0=m
< CONFIG_SND_INTEL8X0M=m
< # CONFIG_SND_KORG1212 is not set
< # CONFIG_SND_LOLA is not set
< # CONFIG_SND_LX6464ES is not set
< # CONFIG_SND_MAESTRO3 is not set
< # CONFIG_SND_MIXART is not set
< # CONFIG_SND_NM256 is not set
< # CONFIG_SND_PCXHR is not set
< # CONFIG_SND_RIPTIDE is not set
< # CONFIG_SND_RME32 is not set
< # CONFIG_SND_RME96 is not set
< # CONFIG_SND_RME9652 is not set
< # CONFIG_SND_SE6X is not set
< # CONFIG_SND_SONICVIBES is not set
< # CONFIG_SND_TRIDENT is not set
< # CONFIG_SND_VIA82XX is not set
< # CONFIG_SND_VIA82XX_MODEM is not set
< # CONFIG_SND_VIRTUOSO is not set
< # CONFIG_SND_VX222 is not set
< # CONFIG_SND_YMFPCI is not set
< CONFIG_SND_HDA=m
< CONFIG_SND_HDA_INTEL=m
< CONFIG_SND_HDA_DSP_LOADER=y
< CONFIG_SND_HDA_PREALLOC_SIZE=64
< CONFIG_SND_HDA_HWDEP=y
< CONFIG_SND_HDA_RECONFIG=y
< CONFIG_SND_HDA_INPUT_BEEP=y
< CONFIG_SND_HDA_INPUT_BEEP_MODE=0
< CONFIG_SND_HDA_INPUT_JACK=y
< CONFIG_SND_HDA_PATCH_LOADER=y
< CONFIG_SND_HDA_CODEC_REALTEK=m
< CONFIG_SND_HDA_CODEC_ANALOG=m
< CONFIG_SND_HDA_CODEC_SIGMATEL=m
< CONFIG_SND_HDA_CODEC_VIA=m
< CONFIG_SND_HDA_CODEC_HDMI=m
< CONFIG_SND_HDA_I915=y
< CONFIG_SND_HDA_CODEC_CIRRUS=m
< CONFIG_SND_HDA_CODEC_CONEXANT=m
< CONFIG_SND_HDA_CODEC_CA0110=m
< CONFIG_SND_HDA_CODEC_CA0132=m
< CONFIG_SND_HDA_CODEC_CA0132_DSP=y
< CONFIG_SND_HDA_CODEC_CMEDIA=m
< CONFIG_SND_HDA_CODEC_SI3054=m
< CONFIG_SND_HDA_GENERIC=m
< CONFIG_SND_HDA_POWER_SAVE_DEFAULT=0
< CONFIG_SND_HDA_CORE=m
< CONFIG_SND_USB=y
< CONFIG_SND_USB_AUDIO=m
< CONFIG_SND_USB_UA101=m
< CONFIG_SND_USB_USX2Y=m
< CONFIG_SND_USB_CAIAQ=m
< CONFIG_SND_USB_CAIAQ_INPUT=y
< CONFIG_SND_USB_US122L=m
< CONFIG_SND_USB_6FIRE=m
< CONFIG_SND_USB_HIFACE=m
< CONFIG_SND_BCD2000=m
< # CONFIG_SND_USB_POD is not set
< # CONFIG_SND_USB_PODHD is not set
< # CONFIG_SND_USB_TONEPORT is not set
< # CONFIG_SND_USB_VARIAX is not set
< # CONFIG_SND_PCMCIA is not set
< CONFIG_SND_SOC=m
< CONFIG_SND_SOC_GENERIC_DMAENGINE_PCM=y
< CONFIG_SND_ATMEL_SOC=m
< CONFIG_SND_DESIGNWARE_I2S=m
< CONFIG_SND_SOC_FSL_ASRC=m
< CONFIG_SND_SOC_FSL_SAI=m
< CONFIG_SND_SOC_FSL_SSI=m
< CONFIG_SND_SOC_FSL_SPDIF=m
< CONFIG_SND_SOC_FSL_ESAI=m
< CONFIG_SND_SOC_IMX_AUDMUX=m
< CONFIG_SND_SST_MFLD_PLATFORM=m
< CONFIG_SND_SST_IPC=m
< CONFIG_SND_SST_IPC_ACPI=m
166,167d2
< CONFIG_SND_SOC_INTEL_HASWELL=m
< CONFIG_SND_SOC_INTEL_BAYTRAIL=m
168a4,5
> CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
> CONFIG_SND_SOC_INTEL_BAYTRAIL=m
171d7
< CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m
174,241c10,15
< # CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH is not set
< # CONFIG_SND_SOC_QCOM is not set
< # CONFIG_SND_SOC_XTFPGA_I2S is not set
< CONFIG_SND_SOC_I2C_AND_SPI=m
< CONFIG_SND_SOC_ADAU1701=m
< CONFIG_SND_SOC_AK4554=m
< CONFIG_SND_SOC_AK4642=m
< CONFIG_SND_SOC_AK5386=m
< CONFIG_SND_SOC_ALC5623=m
< CONFIG_SND_SOC_CS35L32=m
< CONFIG_SND_SOC_CS42L51=m
< CONFIG_SND_SOC_CS42L51_I2C=m
< CONFIG_SND_SOC_CS42L52=m
< CONFIG_SND_SOC_CS42L56=m
< CONFIG_SND_SOC_CS42L73=m
< CONFIG_SND_SOC_CS4265=m
< CONFIG_SND_SOC_CS4270=m
< CONFIG_SND_SOC_CS4271=m
< CONFIG_SND_SOC_CS4271_I2C=m
< CONFIG_SND_SOC_CS42XX8=m
< CONFIG_SND_SOC_CS42XX8_I2C=m
< CONFIG_SND_SOC_HDMI_CODEC=m
< CONFIG_SND_SOC_ES8328=m
< CONFIG_SND_SOC_MAX98090=m
< CONFIG_SND_SOC_PCM1681=m
< CONFIG_SND_SOC_PCM512x=m
< CONFIG_SND_SOC_PCM512x_I2C=m
< CONFIG_SND_SOC_RL6231=m
< CONFIG_SND_SOC_RT286=m
< CONFIG_SND_SOC_RT5631=m
< CONFIG_SND_SOC_RT5640=m
< CONFIG_SND_SOC_RT5670=m
< # CONFIG_SND_SOC_RT5677_SPI is not set
< CONFIG_SND_SOC_SGTL5000=m
< CONFIG_SND_SOC_SIGMADSP=m
< CONFIG_SND_SOC_SIGMADSP_I2C=m
< CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m
< CONFIG_SND_SOC_SPDIF=m
< CONFIG_SND_SOC_SSM2602=m
< CONFIG_SND_SOC_SSM2602_I2C=m
< CONFIG_SND_SOC_SSM4567=m
< # CONFIG_SND_SOC_STA32X is not set
< CONFIG_SND_SOC_STA350=m
< CONFIG_SND_SOC_TAS2552=m
< CONFIG_SND_SOC_TAS5086=m
< CONFIG_SND_SOC_TFA9879=m
< CONFIG_SND_SOC_TLV320AIC23=m
< CONFIG_SND_SOC_TLV320AIC23_I2C=m
< CONFIG_SND_SOC_TLV320AIC31XX=m
< CONFIG_SND_SOC_TLV320AIC3X=m
< CONFIG_SND_SOC_TS3A227E=m
< CONFIG_SND_SOC_WM8510=m
< CONFIG_SND_SOC_WM8523=m
< CONFIG_SND_SOC_WM8580=m
< CONFIG_SND_SOC_WM8711=m
< CONFIG_SND_SOC_WM8728=m
< CONFIG_SND_SOC_WM8731=m
< CONFIG_SND_SOC_WM8737=m
< CONFIG_SND_SOC_WM8741=m
< CONFIG_SND_SOC_WM8750=m
< CONFIG_SND_SOC_WM8753=m
< CONFIG_SND_SOC_WM8776=m
< # CONFIG_SND_SOC_WM8804_I2C is not set
< CONFIG_SND_SOC_WM8903=m
< CONFIG_SND_SOC_WM8962=m
< CONFIG_SND_SOC_WM8978=m
< CONFIG_SND_SOC_TPA6130A2=m
< CONFIG_SND_SIMPLE_CARD=m
---
> CONFIG_SND_SOC_INTEL_CHT_BSW_RT5645_MACH=m
> CONFIG_SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH=m
> CONFIG_SND_SOC_INTEL_SKL_RT286_MACH=m
> CONFIG_SND_SOC_AC97_CODEC=m
> # CONFIG_SND_SOC_TAS571X is not set
> # CONFIG_SND_SUN4I_CODEC is not set

UPDATE: About to run kernel build. Unfortunately I have to build it on a crappy 5th-gen mobile i3 tonight so it'll take all night. I'll report results tomorrow afternoon.

drghuser commented Dec 9, 2015

Several things I have read led me to believe that the issue was at the kernel level, that the successful installations of various iterations of linux that had working sound were all newer kernel releases.

Owner

ColtonDRG commented Dec 11, 2015

https://www.youtube.com/watch?v=7WBueo144T8
https://www.youtube.com/watch?v=0YaM09UpgfI

Those were made using Linux 4.3 from Ubuntu's mainline kernel PPA.
The first one works on Linux 4.1.6-galliumos, the second one doesn't.
More details coming soon.

Interesting @reynhout - the steps in the script mentioned in that post seem to be the exact same things I have been doing manually, though I have been using James Fu's asound.state file. I will run this script tonight/tomorrow and post my results. The video from @ColtonDRG gives me hope! :-)

Owner

ColtonDRG commented Dec 11, 2015

I didn't use that script. I used good old fashioned research and elbow grease. Remember I have to make this happen by default in the galliumos-baytrail package. ;)

Well my research and elbow grease haven't worked yet, and like I said that script appears to be exactly what I have found to be supposedly working for others (just automated) and not yet succesful for me. He just replaced the firmware and the asound.state and made sure the speakers are unmuted.

@ColtonDRG Let me know if you have something you want me to burn to a flashdrive and try booting from in my Toshiba Chromebook 2 CB35 3330 (swanky/baytrail)

Owner

ColtonDRG commented Dec 11, 2015

I don't plan on building any isos just yet, but I will ask you to remove whatever device package you have and install galliumos-baytrail from the testing repo whenever I have it ready.

Can I just liveboot from USB (when it's ready) just to make sure it's OK before making the changes to the installed copy? Also, when it is ready and looks good from live USB boot I would do the following to remove the package like you requested above:
apt-get remove galliumos-haswell galliumos-broadwell galliumos-device-c710 galliumos-sandy
apt-get install galliumos-baytrail

Owner

ColtonDRG commented Dec 11, 2015

I don't know. I'll try it once I have the package ready. I'll inquire about getting nightlies built as well. Yes. Those are the correct commands for removing, but you'll have to install galliumos-base-dev first to get the testing repository.

The haswell iso ran fine (other than no sound) from USB, that is what convinced me to dive in and install it to the internal drive.

Owner

ColtonDRG commented Dec 11, 2015

I think the broadwell is actually closer to being correct, but on this kip it doesn't seem to make any difference no matter what galliumos-device package is installed, or even if none are.

Owner

ColtonDRG commented Dec 11, 2015

Okay, I'm ready for someone to test now...

Please download this file
https://cdn.coltondrg.com/galliumos-baytrail-0.1.1.deb
and install it with dpkg -i. It should remove the old haswell/broadwell/sandy packages automatically, but you should remove them manually beforehand, just in case. The command for that is sudo apt-get remove galliumos-haswell galliumos-broadwell galliumos-device-c710

You should start hearing audio as soon as the package is installed, but if you don't, reboot. If you still don't hear audio after a reboot, check to make sure the default sink is set correctly in PulseAudio (it should be byt-max98090). You can use pavucontrol for this.

I eagerly await anyone's results. This worked for me on Kip. We need it tested on as many Bay Trails as possible.

P.S. You may need to manually reinstall galliumos-laptop afterwards with sudo apt-get install galliumos-laptop.

I did the manual remove (per suggestion) and then installed the package and rebooted. Everything worked without needing to change default device (though I I think I did that earlier when testing other fixes). I also checked the package manager and galliumos-laptop was listed as installed and everything seems to be good so far. Sound!!! Thank you @ColtonDRG !!

I have a second Toshiba Chromebook 2 on it's way to me. I like this one (the one I'm building for a gift) so much that I bought one for myself. Refurb new from Toshiba $160 on eBay (they have several if anyone wants one)

Owner

ColtonDRG commented Dec 12, 2015

It's done.... Audio works perfectly on kip. https://youtu.be/CsQrxTrALb4

To achieve the proper switching between headphones and speakers, we stole the entire ALSA system from kernel 4.2.7. The new kernel is here. This should be uploaded to the testing repos soon, but you can download it straight from here if you can't wait. https://cdn.coltondrg.com/linux-image-4.1.14-galliumos_6_amd64.deb
You can remove the old kernel with sudo apt-get remove linux-image-4.1.6-galliumos

And in case you missed it before, the galliumos-baytrail package is here. https://cdn.coltondrg.com/galliumos-baytrail-0.1.1.deb
Again, you can install that and it should remove the old stuff automatically, but just in case it doesn't, you can remove it manually with sudo apt-get remove galliumos-haswell galliumos-broadwell galliumos-device-c710. You may also need to reinstall galliumos-laptop manually after you've done that.

You can install both of these packages with dpkg -i

After installing both of those and rebooting, you should have perfect audio. I won't close the issue until we have more testing results in, but it's hereby fixed!

Just got done installing everything, and I can confirm it works on the Gnawty. Thank you all very much for all your efforts!!

drsn0w commented Dec 13, 2015

Good work!! Thank you, glad you got it working :D

@ColtonDRG ColtonDRG closed this Dec 21, 2015

Owner

ColtonDRG commented Dec 21, 2015

If someone finds some device that's not working, let me know. I'll reopen.

Owner

dvdmuckle commented Mar 15, 2016

Wow, this is an old issue. Someone on the subreddit reported speakers not working, wonder if this could have anything to do with that. It was a Bay Trail, Asus 300C.

https://www.reddit.com/r/GalliumOS/comments/4ac0c5/i_messed_up_my_audio_settings_badly_can_i/

Owner

ColtonDRG commented Mar 15, 2016

It could be related, but I don't know. Unless that device has something different that's the key, it seems unlikely that it's directly related. Audio is pretty much good on Bay Trail now. (there are a couple bugs)

I have no sound on GNAWTY with latest kernel =(
In my case, it's not even mentioned in dmesg.
I've tried "https://www.dropbox.com/s/dcg8g5rzha21v96/baytrail.sh?dl=0" with no luck.
Sound works on a bit older kernel:

linux-image-4.4.6-galliumos:
  Installed: 5

but with that kernel suspend does not work :-)
What could I try?

$ lsb_release -a 
No LSB modules are available.
Distributor ID: Ubuntu
Description:    GalliumOS 2.0
Release:    16.04
Codename:   xenial
$ uname -a
Linux cb.gen2.lan 4.5.5-galliumos #2 SMP PREEMPT Thu May 26 11:25:54 MDT 2016 x86_64 x86_64 x86_64 GNU/Linux

dmesg output: https://gist.github.com/gmykhailiuta/6cd967d42caa159621581fd0af5e8c7f

Owner

reynhout commented Jun 24, 2016

@gmykhailiuta this is a new issue, I will open a new ticket.

EDIT: #258

Cool! Thank you a lot, @reynhout !

Owner

ColtonDRG commented Jun 27, 2016

I'm going to lock this, since it's long dead. Any future Bay Trail sound issues should be in new tickets, thanks. :)

@ColtonDRG ColtonDRG locked and limited conversation to collaborators Jun 27, 2016

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.