Tuesday, May 24, 2022

Solved: no sound on Asus C200 Chromebook using GalliumOS

My Asus C200 Chromebook fell out of Google's Auto Update Policy in June, 2019. Chrome was on version 75, for example. I will leave my thoughts on this policy out of this post.

Since ChromeOS was no longer safe, I investigated alternative operating systems. And I chose to update it to GalliumOS. I removed the write protect screw, and then followed several tutorials on the web.

After using it a while, I noticed that it didn't play sounds. And investigating, I found that it couldn't play sounds.

Multiple searches didn't provide a straightforward solution. Some results were too cryptic, even though I know my way around Linux reasonably. Most just didn't work.

Finally, I stumbled on a solution that did work. I'll explain it here, hopefully with enough detail for a relative newbie.

First, I needed to see what sound card was in the box. I opened a terminal window, and typed
$ aplay -l

In the output, I found 

card 1: chtmax98090 [chtmax98090], device 0: 3

Armed with this information, I found this thread.
https://bugzilla.kernel.org/show_bug.cgi?id=195811
In the comments, there is mention of
Pierre's git repo:

https://github.com/plbossart/UCM

So, go to the github link and copy the chtmax98090 directory and files into this directory on your Chromebook:

/usr/share/alsa/ucm

Here's what that looked like for me:
$ cd /usr/share/alsa/ucm
$ sudo mkdir chtmax98090



There should be two files that you need in the github directory:
chtmax98090.conf
HiFi.conf

Copy those to your new directory
$ cd /usr/share/alsa/ucm/chtmax98090

[OK, I think the below will work, but to be honest, I did these using "sudo vi filename"]

$ sudo cat > chtmax98090.conf
...paste in your copied contents here....
<CTRL> D



$ sudo cat > HiFi.conf
...paste in your copied contents here....
<CTRL> D


In this string https://forums.linuxmint.com/viewtopic.php?t=312795, I found the comment:
"I solved it by adding the right files from this rep https://github.com/plbossart/UCM and ran this command...."

Of course, they used a different soundcard, so I substituted mine:
$ alsaucm -c chtmax98090 set _verb HiFi set _enadev Speaker

I then did

$ sudo alsa force-reload

And got sound! But it was garbled garbage. I rebooted, and then got music. Woo hoo!

Interestingly, every time I open Volume Control, if it has good sound, it becomes garbled. And if it is garbled, I get good sound. It may be a bit softer than it used to be, but maybe 80%? I'll try to fix these issues eventually, but not a top priority now.

I'm just happy to have sound out of my Chromebook again!

I have an even older Chromebook that is now running GalliumOS, but I haven't checked to see if it has sound. If not, I'll be following this instruction set on that box too. Good luck!