Braswell Platform Validation #270

Closed
reynhout opened this Issue Jul 28, 2016 · 433 comments

Projects

None yet
@reynhout
Member
reynhout commented Jul 28, 2016 edited

Tracking validation tests and bug reports for GalliumOS support for Braswell models.

Initial testing on CYAN, but please add observations for any Braswell model in comments!

Current Braswell status

  • galliumos-braswell package created
  • Boots from USB ISO
  • Boots from internal storage (eMMC)
  • Touchpad
    • responsiveness issues (CELES, see comments in thread)
    • FIXED 20161022 in 4.7.2-galliumos6, thanks @jonaias
  • Wi-Fi
  • Bluetooth
  • Internal keyboard
    • NG (CYAN), external keyboard OK
    • NG in Ubuntu mainline kernel 4.4.15, 4.6.5
    • reported OK in Fedora 24 (Gnome/Cinnamon/MATE, kernel 4.5.5? 4.5.7? 4.6.5?)
    • reported OK in Ubuntu mainline kernel 4.7
    • FIXED in 4.7.2-galliumos2
  • Media keys
    • Volume control
      • reported OK in Ubuntu mainline kernel 4.7
      • FIXED in 4.7.2-galliumos2
    • LCD backlight control
      • reported OK in Ubuntu mainline kernel 4.7
      • FIXED in 4.7.2-galliumos2
  • Touchscreen
    • NG (CYAN)
    • reported OK in Ubuntu mainline 4.7 after rebuilding with CONFIG_TOUCHSCREEN_ELAN (this is already set in GalliumOS 4.4.6 config)
    • FIXED in 4.7.2-galliumos2
  • Suspend/resume
    • NG on GalliumOS kernel 4.7.2 (CYAN)
      • Freezes before successful suspend
        • Power LEDs are on solidly
        • If screenlock is disabled, LCD backlight stays on
        • No messages in logfiles
    • NG on Ubuntu mainline kernel 4.7
    • OK on GalliumOS kernel 4.4.6 (CYAN, EDGAR)
    • OK on GalliumOS kernel 4.7.2 (EDGAR)
    • reported OK on Fedora 24 kernel 4.5.5-300 (CELES)
    • required for 4.4.6? set tpm_tis.interrupts=0 in GRUB config
      • also possibly required (but not sufficient) for 4.7.2
    • WORKING 20160920 in 4.7.2-galliumos2
  • HDMI output
    • NG (CELES)
    • OK (CELES, IRC nskelsey)
    • Audio/video output working (EDGAR, 4.7.2 kernel) but requires manual enabling from Display Settings, doesn't auto-enable on cable insertion
    • WORKING but does not autoswitch
  • Internal audio out (most models)
    • speakers and headphones
    • WORKING audio 20170116 in 4.9.4-galliumos1
    • jack detection moved to new ticket: #318
  • Internal microphone moved to new ticket: #317, #319
  • Detect mode transition for convertible devices moved to new ticket: #316

Moved to new tickets:

  • Add mode transition detection for convertible devices (CYAN, ...) #316
  • Internal audio does not work on CYAN #317
  • Headphone jack detection fails on Braswell / Realtek ALC5645 #318
  • Internal microphone does not work on Braswell / Realtek ALC5645 #319

IMPORTANT NOTE REGARDING AUDIO

Braswell Chromebooks come with one of two audio chips: Maxim 98090 or Realtek ALC5650/5654. There are several reports of hardware speaker failures on models with the Realtek chip. There is a lot more discussion in the comments below.

  • Models with Maxim 98090
    • Acer Chromebook R11 CYAN
  • Models with Realtek ALC5650/5654
    • Acer Chromebook 14 EDGAR
    • Lenovo N22/N42 Chromebook REKS
    • HP Chromebook 11 G5 SETZER
    • Samsung Chromebook 3 (XE500C13) CELES
    • Acer Chromebook 15 (CB3-532) BANON
    • ASUS Chromebook C202SA TERRA
    • ASUS Chromebook C300SA TERRA
    • CTL NL61 Chromebook RELM
    • Lenovo ThinkPad 11e Chromebook G3 ULTIMA
    • Lenovo ThinkPad Yoga G3 ULTIMA
@MattDevo
MattDevo commented Jul 28, 2016 edited

Working:

  • Installation from Baytrail ISO successful
  • Boot from internal storage (emmc)
    +Trackpad
  • WiFi / Bluetooth

Broken:

  • Internal keyboard
  • Internal speakers
  • Internal mic
  • Suspend/resume (kernel 4.4.6-gallium, 4.4.15/4.7-generic: locks up on suspend)

dmesg: http://paste.ubuntu.com/21235464/

@IlIlIlIlIlIlIl

Tested USB BOOT on REKS (Lenovo N22) with identical results (keyboard and sound broken).

@MattDevo
MattDevo commented Aug 5, 2016

CYAN user on G+ running Ubuntu 16.10 (a2?) reports that the keyboard is fixed with kernel 4.7

@MattDevo
MattDevo commented Aug 6, 2016

same user as above reports CYAN touchscreen works fine w/Ubuntu 4.7 when CONFIG_ELAN_TOUCHSCREEN is added

@lispykid
lispykid commented Aug 19, 2016 edited

Confirm: Kernel 4.7 brings the keyboard to life. Installed from Ubuntu, though.

@lispykid

Can anyone point me to the compile flags for Gallium kernel? Then I could build one with the CONFIG_ELAN_TOUCHSCREEN flag and test the screen, too.

@MilitaryRiotLab
MilitaryRiotLab commented Aug 19, 2016 edited

@lispykid https://github.com/GalliumOS/linux/blob/master/.config I am a noob, please don't be harsh if it is wrong
EDIT: https://github.com/GalliumOS/linux/blob/baytrail/.config for baytrail (GalliumOS 4.4.6)

@lispykid
lispykid commented Aug 22, 2016 edited

My tiny script to rotate screen on the Acer R11. Useful for tentmode: /\

#!/bin/bash
STATE=`xrandr | grep eDP  | awk '{print $4}'`

if [[ $STATE == *"inverted"* ]]
then 
    xrandr -o normal    
else
    xrandr -o inverted
fi
@lispykid
lispykid commented Aug 22, 2016 edited

Volume and Brightness Keys are working in Ubuntu mainline kernel 4.7, btw.

@reynhout
Member

@lispykid Thanks, and I'll update the checklist.

Our WIP 4.7.0 kernel config is here: http://paste.ubuntu.com/23078327/

The touchscreen doesn't work yet -- it must require something more than CONFIG_TOUCHSCREEN_ELAN. I've gone through the diffs between Ubuntu and mainline and GalliumOS looking for something missing, but haven't found it yet.

@lispykid
lispykid commented Aug 23, 2016 edited

You tried: modprobe elants_i2c?

@reynhout
Member

@lispykid No, I don't think so (I don't have the test device)...the driver should load automatically, shouldn't it?

@MattDevo

@lispykid there's a dmesg error on boot:
elants_i2c: error while waiting for calibration to complete: -110
full dmesg: https://paste.ubuntu.com/23082714

sudo modprobe elants_i2c returns normally.

@MattDevo
MattDevo commented Aug 23, 2016 edited

also, for the keyboard working in 4.7.0-040700-generic (ubuntu) vs not in 4.7.0-galliumos we have:

i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 182
i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
i8042: Warning: Keylock active
i8042: probe of i8042 failed with error -22
vs
i8042: PNP: PS/2 Controller [PNP0303:PS2K] at 0x60,0x64 irq 182
i8042: PNP: PS/2 appears to have AUX port disabled, if this is incorrect please boot with i8042.nopnp
i8042: Warning: Keylock active
serio: i8042 KBD port at 0x60,0x64 irq 182
fwiw

@lispykid
lispykid commented Aug 24, 2016 edited

Ok, I played with pulseaudio yesterday but had no luck with the headphonejack. Will try wether the HDMI output works, at least the mixer looks like.

I wish I could be more helpful. I reinstalled my R11 yesterday with GalliumOS Testing and Gallium Kernel 4.7 but I don't know what more I could help. It's some years since I last built my own kernel. Maybe I should give it a try again. Can you point me in a good direction for starts?

@MattDevo

@lispykid kb/touchpad/touchscreen all work in the Ubuntu 4.7 kernel (recompiled w/CONFIG_ELAN_TOUCHSCREEN=m), so now it's just determining what in the GalliumOS config is breaking things. Audio is a separate issue entirely though

@reynhout
Member
reynhout commented Sep 8, 2016

Internal audio log messages (nonworking), extracted from MrChromebox's dmesg output on Ubuntu 4.7.0 mainline kernel:

[    6.523916] snd_hda_intel 0000:00:1b.0: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    6.682138] input: HDA Intel PCH HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input8
[    6.682313] input: HDA Intel PCH HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input9
[    6.682459] input: HDA Intel PCH HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:1b.0/sound/card0/input10
[    6.789370] cht-bsw-max98090 cht-bsw-max98090: ASoC: i2c-104C227E:00 not registered
[    6.789381] cht-bsw-max98090 cht-bsw-max98090: snd_soc_register_card failed -517
@reynhout
Member
reynhout commented Sep 8, 2016 edited

4.7.2 kernel parms

  • SND_SOC_INTEL_BYT_MAX98090_MACH
  • SND_SOC_INTEL_CHT_BSW_MAX98090_TI_MACH

(which enable the Maxim MAX98090 audio chip for Bay Trail and Cherry Trail/Braswell, respectively) appear to be mutually exclusive in Kconfig.

We might need to build separate kernels for Bay Trail and Braswell models.

@reynhout
Member
reynhout commented Sep 10, 2016 edited

GalliumOS kernel 4.7.2-galliumos2 includes the following fixes for Braswell models:

  • Touchscreen
  • Internal keyboard
  • Media keys

Tested on CYAN (Many thanks to @MattDevo!)

If you are having suspend/resume issues, try setting tpm_tis.interrupts=0 in your GRUB kernel config. This will be already be set if you installed from ISO. Some configs might also (or instead) include tpm_tis.force=1, which should be equivalent, but it looks like we'll be preferring tpm_tis.interrupts=0 in future images.

This kernel does not include fixes for Braswell audio.

The new kernel package is currently in the galliumos-testing repodist only. To enable and install:

sudo galliumos-repodist --enable testing
galliumos-update
@dh34751
dh34751 commented Sep 10, 2016

Successfully tested on EDGAR.
galliumos-upgrade command was not found, tried galliumos-update instead and that seemed to work.

@reynhout
Member

@dh34751 Sorry, typo! fixed. Thanks for testing!

@mschmortte

@dh34751 How did you manage to install GalliumOS on EDGAR? Using chrx I installed GalliumOS but the keyboard isn't working. So I cannot login and upgrade/update. How did you do this?

@MilitaryRiotLab
MilitaryRiotLab commented Sep 13, 2016 edited

@mschmortte I am also using EDGAR (Chromebook 14 CB3-431-C5FM). You need to use an external keyboard to upgrade the kernel

Working:

  • Suspend/resume
@reynhout
Member
reynhout commented Sep 13, 2016 edited

@mschmortte Good point. An external keyboard is still needed until we get the updated kernel into a nightly image build. Chrx will install the latest nightly build if it's run with -r nightly. (but again, the "latest" nightly build is still pre-kernel fix. I'll update this when we have a newer build pushed)

EDIT: Nightly images now include the keyboard config and all other patches for Braswell. Audio is still WIP.

@shamkoonyu Awesome. Thanks for the report!

@IlIlIlIlIlIlIl

tested chrx install with REKS. Same behaviour as with other devices:

  • keyboard works with the new testing kernel
  • sound doesn't work (it sees the HDMI out as sound device, so it might work)
@mildred
mildred commented Sep 14, 2016

Audio initialization seems to be done in the firmware, see kernel bug #151521:

From the discussion over there it sounds to me that Coreboot itself does no sound initialization, but the 'depthcharge' payload started from Coreboot when booting to ChromeOS does do a codec init.

However SeaBIOS payload doesn't do anything sound initialization related so it'd be wished that the kernel would do that instead if it wasn't done by the Coreboot and its payload.

Wouldn't it be possible to use the same boot mechanism as Chromium OS so we get the same initialized state, and stop booting from SeaBIOS?

I'm running some tests in that direction (packing the fedora kernel + initramfs in the kernel signed partition) but I didn't manage to boot yet.

By the way, I'm running Fedora 24 on CYAN, and everything works well except audio and suspend.

@MattDevo

Wouldn't it be possible to use the same boot mechanism as Chromium OS so we get the same initialized state, and stop booting from SeaBIOS?

you're misunderstanding the issue; you're getting the "Same initialized state" now regardless of whether you boot ChromeOS via depthcharge or Linux via SeaBIOS. The BSW/CHT drivers in the mainline Linux kernels (4.5+) likely aren't (fully) resetting the codec/DSP properly as part of init, whereas the drivers in the ChromeOS kernel (3.1x) do. Changing the payload isn't going to help - you either need to cut out the init depthcharge is doing (eg, replace the payload like we do with the BOOT_STUB firmware on Baytrail) or fix the mainline kernel drivers.

@reynhout
Member
reynhout commented Sep 14, 2016 edited

@mildred Setting tpm_tis.interrupts=0 in GRUB config has been reported to help with suspend/resume.

@IlIlIlIlIlIlIl

Most likely it's unrelated, but I just had a massive hardware failure with my REKS / Lenovo N22. Something badly overheated in laptop bag when using GalliumOS and lid suspend, parts of the plastic actually melted. Battery's the likely candidate. Computer works still, but obviously I cannot continue using this fire hazard :)

I'm returning this one and getting another model (Edgar most likely).

@reynhout
Member

@IlIlIlIlIlIlIl Yikes! Well, EDGAR has less plastic to melt if you get another bad battery :)

@aguitel
aguitel commented Sep 15, 2016

running fedora 24 mate edition in live mode ,device samsung 3 celes only sound not working

@reynhout
Member
reynhout commented Sep 15, 2016 edited

@aguitel Do suspend/resume work on Fedora 24? AFAIK we have everything working now on the GalliumOS kernel except audio and suspend/resume.

@mildred
mildred commented Sep 16, 2016

I couldn't get suspend resume working on Fedora 24. Kernel option didn't work. Closing the lid seems to put the computer in a blocked state with the screen turned off, the only solution then is to force halt the machine ly a long press on the power button.

It forces me to close my session, not so bad considering I have the habit of leaving everything open and it adds up.

@aguitel
aguitel commented Sep 16, 2016

suspend and resume works in samsung 3 celes with fedora 24 kernel 4.5 series
try to install kernel 4.7 series but the device not boot and i remove this 4.7 kernel remains 4.5 only

@dh34751
dh34751 commented Sep 16, 2016

Suspend / resume test results for EDGAR, Acer Chromebook 14 CB3-431.
Works with Mint 18 using Ubuntu 4.7.4 kernel and all updates applied through today.
Works with Fedora 24 using 4.7.3 kernel and all updates applied through today.

As expected, only the hdmi sound device is configured. I'm waiting until the 4.8 kernel gets closer to release quality to try it to see if the rumor is true that sound is fixed with that kernel. Maybe two more weeks before this happens.

@robeastham

Most likely it's unrelated, but I just had a massive hardware failure with my REKS / Lenovo N22. Something badly overheated in laptop bag when using GalliumOS and lid suspend, parts of the plastic actually melted. Battery's the likely candidate. Computer works still, but obviously I cannot continue using this fire hazard :)

This happened to me withy my UK REKS / Lenovo N22 too! Luckily it was on my desk and I smelt the burning plastic. Ended up warping the case in two points, on either side of the trackpad, before I switched it off. I had a Kingston USB 3 plugged in the right port and a Toshiba USB 2.0 in the left port. I think it was just on the Legacy Boot menu screen when this happened. Think it took about an hour to get up to the temperature high enough to melt the case. Seems okay now, actually recharged it whilst keeping a close eye on it. I cannot reproduce the issue. I haven't sent mine back yet, but prudence would dictate that it would be wise to do so.

I now wonder if this is related to something we both have done whilst trying to duel boot. One report could be coincidence, but two sounds like something is going on.

@paldepind

@robeastham What is the temperature normally like with GalliumOS on the N22? I have an N22 but haven't tried dual booting it yet. With ChromeOS the laptop is running very cool for me. I can barely feel any warmth under normal usage.

@IlIlIlIlIlIlIl
IlIlIlIlIlIlIl commented Sep 17, 2016 edited

@paldepind When I used GalliumOS I didn't notice any difference on running temperature compared to Chromeos. My n22 was also very cool always.

@robeastham Two failures seems that there's something going on. I didn't have any USB devices plugged in. The plastic melted from bottom left and right corners and also from one spot under the laptop. I'll post pics when I'm home, I still haven't returned it but have returned it to stock condition already. (Edit: pics of the damage http://imgur.com/a/fbWe1)

Did you remove the firmware write protect screw?

@robeastham
robeastham commented Sep 17, 2016 edited

@paldepind Has been really cool when running standard ChromeOS. I could not successfully get it to boot GalliumOS so not sure what the temperature would have been. I've not successfully booted any desktop environment and so most times I was in Legacy mode I was just on the boot prompt or at the shell (e.g. for Alpine). I think when it got hot it was just sitting waiting for me to pick a boot device after I'd pressed the key to select it. But this only happened once whilst it was idle.

I've had trouble with other distros on the N22 in legacy mode ( “Error setting up gfxboot” for Manjaro) and struggled with Alpine, but I think Alpine looked promising and the failure was unfamiliarity with Alpine rather than anything else. Going to try Arch vanilla before I send it back. Still keen to see what sort of performance I get on this CPU when booting off bare metal.

@IlIlIlIlIlIlIl I did open it up to see if I could add more memory when I first bought it. But don't recall intentionally removing any firmware screws. Just the ones required to remove the bottom plate on the case.

The warping to the case on my machine is in exactly the same two spots as your pictures but just on the upper side and to a lesser extent. I didn't back up the stock firmware after installing the Mr. Chromebox one and so need to figure out how to get it back to stock before I send it back.

Seems really odd, I mean surely even with a custom firmware this should not happen?

@anorom
anorom commented Sep 17, 2016

Appreciate all the hard work! Confirmed functional keyboard and touchscreen on CYAN w/ testing 4.7.2 kernel.

@MattDevo

I didn't back up the stock firmware after installing the Mr. Chromebox one and so need to figure out how to get it back to stock before I send it back.

there was nothing to back up, the RW_LEGACY firmware region is empty on the stock firmware for all Braswell Chromebooks. If you want to clear it out though, simply use Recovery Mode/recovery media to put everything back to stock.

@mildred
mildred commented Sep 19, 2016

Is someone working on making the sound work? If so, what should be done? I see the kernel bug hasn't been updated in a while. From the last message, they seem to be waiting on the SeaBIOS to implement things, but I doubt they are going to do anything because there is no hardware initialization on their side of things.

@elquad
elquad commented Sep 19, 2016

Hey, greetings from cyan! I installed the newest galliumos-baytrail and after kernel upgrade to 4.7.2-galliumos, everything seems to work (besides the sound). Even the suspend works without any issues. Thanks for all the work, and if there's any testing I can help with, happy to do so!

@reynhout
Member

@elquad Interesting, your CYAN is suspending/resuming properly on the 4.7.2-galliumos2 kernel? Have you added any other config that might be related? If we can isolate the differences, that could be a huge help toward resolving the issue.

@mildred It does look like audio is going to require some deeper research and ultimately a kernel patch. We will be watching the upstream traffic as well -- we have no Linux audio experts on the team, though a few of us have spent a lot of time working toward a level of general familiarity. :) If you come across any other references or progress info, please add to this ticket.

@mildred
mildred commented Sep 20, 2016 edited

On the chromium tree, sound initialization is probably done in src/third_party/kernel/v*/sound/soc/codecs/ts3a227e.c and src/third_party/kernel/v*/sound/soc/intel/boards/cht_bsw_max98090_ti.c (it greps 104C227E, the I2C device that didn't get created). It is registred in ACPI in src/third_party/coreboot/src/mainboard/google/cyan.

view sources

@dh34751
dh34751 commented Sep 20, 2016

Out of curiosity, I tried putting the 4.8.0-rc7 Ubuntu build kernel on my Edgar Acer CB3-431 Mint 18 install, and disappointingly sound still did not work with only the hdmi interface showing up. This probably means that the final 4.8.0 kernel won't be any different.

@mildred
mildred commented Sep 20, 2016

@dh34751 perhaps you can try the chromiumos kernel. If I have time, I'll try to see if it fixes the sound problem.

@MattDevo

@mildred the audio init in the ChromeOS 3.x kernels is completely different than the mainline 4.x ones, so not particularly useful as a point of comparison. The Chromium 4.4 kernel seems to be the 4.4 mainline kernel with few audio-related changes (outside of the inclusion of the cht-bsw-max98090 driver, which is unchanged from the mainline 4.5+ kernel). While we appreciate the suggestions, this is all stuff we've already looked at.

@elquad
elquad commented Sep 20, 2016

@reynhout I'm not aware of any extra configuration that might have effect on this... Only enabled prerelease and testing repos, did full update and switched the kernel to 4.7.2. Attaching dmesg output.
dmesg.txt

@robeastham
robeastham commented Sep 20, 2016 edited

Wondering if anyone is concerned about the two reports of melting Lenovo N22's? See both mine and @IlIlIlIlIlIlIl experiences above.

Can I ask again? Should modifying the bios make this even a remote possibility? I guess in theory it could be possible to do something like this maliciously. I'm not suggesting, even for a second, that anyone in the chrome mod community has done anything malicious. However if this overheating is caused by a bug in the firmware code that people are installing then I think it'd be worth discussing and deciding what to do about it...

@reynhout
Member

@elquad Thanks for the dmesg. I don't see anything obvious except the successful suspend/resume, but we'll compare it to output from a non-working machine.

@robeastham I completely agree that we should keep a watchful eye on the overheating problems reported, but I do not think they will be caused by firmware or software.

This is a scary and serious thing, so I'll lay out all of my thoughts on it. If anyone sees details that are wrong or questionable, please correct me:

Reasons to not suspect firmware or software in these cases:

  • Batteries are known fire-starters. See the recent Samsung phone problems, but also many other vendors and devices in the past. Batteries do have internal thermal protection, but since the reaction is chemical and not electrical, they are harder to effectively "turn off".
  • Running computers (without hardware faults) heat up in predictable locations: The CPU and GPU primarily, sometimes flash memory or hard drives. Each of these components has internal thermal shutdowns for safety. They will all shut down well below plastic melting temperatures.
  • The photo posted by @IlIlIlIlIlIlIl shows a melted spot in one of the front corners, near the trackpad. This is typically the location of the battery, though I have not seen an internal picture of REKS to be absolutely certain. It would be a very unusual place to locate one of the normal sources of heat in a computer -- for one thing because it would annoy users if their palms were often hot, for another because it's far from the preferred areas for active or passive cooling.

Reasons to be less than 100% certain about that diagnosis, and why they don't seem compelling:

  • The current inability to suspend the OS. If the machine is closed up and packed in an insulating bag without successfully suspending, it can certainly raise temperatures, but the OS has a built in thermal shutdown, and so does the hardware. So if the OS has failed to suspend, it should still be able to detect a thermal condition and shut itself down. If the OS is hung and incapable, the hardware should detect the same condition (at a higher temperature) and shut the everything down immediately (it would appear to the OS as a crash or hardware fault).
  • You said that your machine was at the BIOS boot menu when the overheating occurred. Since the OS isn't running at that point, that only leaves firmware to consider. I can't comment authoritatively on how the hardware thermal limiters work (e.g. what level of firmware init they require, if any), but the RW_LEGACY payload you were using is loaded after the ChromeOS bootloader initializes hardware. It's possible to imagine a scenario where the hardware init is incomplete before jumping to the second level bootloader, but it would be a very surprising bug.

So the most likely culprit at this point has to be sketchy batteries. This is unfortunately not rare, but it would be lazy and irresponsible to not consider other possibilities.

If there are similar problems reported in ChromeOS-only on REKS, that would implicate the battery. If we can repro the condition only in non-ChromeOS code (BIOS menu, running OS), that would implicate the firmware or software (and/or a hardware issue).

Those are my thoughts. Please correct any misapprehensions.

@reynhout
Member

There have been mixed reports on Braswell suspend/resume so far. We have now tested again on a freshly reset CYAN (kernel 4.7.2-galliumos2), and it appears to work as expected. Hopefully that means that any remaining issues are configuration-related.

If you are unable to suspend/resume on a Braswell machine, please report here so we can try to isolate the differences. Please include your model info, firmware vendor and type, and installation method (ISO or chrx). Thanks!

I'm going to mark the suspend/resume item in the checklist DONE.

@reynhout
Member
reynhout commented Sep 22, 2016 edited

New nightly images (20160922T184220Z and later) incorporate all existing updates.

We don't have a separate ISO for Braswell yet, so continue to use the Bay Trail image (or use chrx, which will install the proper packages automatically).

@thalesmaoa
thalesmaoa commented Sep 25, 2016 edited

Any expectation for internal sound to work? I want to try Gallium, but I don't know where to start and how to properly do without brink my Chormebook. Any directions of forum where I should start?

@reynhout
Member

@thalesmaoa No timeline for sound yet. It's an area of active work. For installation instructions, see the wiki: https://wiki.galliumos.org/Installing

@grantjames
grantjames commented Sep 27, 2016 edited

What are the chances of the audio never getting fixed?

I'm considering getting a Lenovo N22 since they're super cheap and whilst having no audio isn't a massive problem right now, ideally I'd like it to work eventually.

I'm no Linux expert, but I'd buy one and help out finding a solution if it's something that's likely to be fixable.

@reynhout
Member
reynhout commented Sep 27, 2016 edited

@grantjames We can't make any promises yet. The chances are certainly non-zero, but at this point we do expect to be able to get things working.

If you go with USB speakers as an interim workaround, make sure they take USB "digital audio" input -- i.e. they do not require a 3.5mm stereo jack (which will be driven by the same non-working audio code in Linux).

Something like this looks correct (but is untested!): https://www.amazon.com/dp/B000ZH98LU

Thanks for your offer of help: we'll certainly be asking for test results and dmesg output etc from as many different models as possible -- hopefully the fix for one will work for all, but that's never guaranteed. :)

@janivek69

Hello everyone, I'm on Linux version 4.7.2-galliumos, sometimes when i re-open my chromebook (Acer Edgar) the wifi connection isn't working. I tried to reboot but it close the session only and if i reconnect it and type reboot on a terminal i've got this message : failed to start reboot.target : transaction is destructive. See system logs and systemctl status reboot.target for details. When i go to systemctl i've status : degraded. The only solutions is to maintain the power button and restart but the systemctl status still in degraded.
Have you the same things and it's possible to resolve it?
I precise that my knowledge in linux was very simple, I'm new to the system
Thanks for your response

@thalesmaoa

Installed successfully! Perfect! Bye, bye ChromeOS as soon sound start working!
For bug report: Sometimes, when the processor is at full the touch pad locks with button clicked or stop responding for left click button. Is there any workaround besides reboot?

@marvinharcsun
marvinharcsun commented Oct 1, 2016 edited

For usb audio this thing worked for me Acer CB3-431 Edgar. You might want to get a usb hub cause it's kind of wide renders the other USB port useless. Great work btw.

https://www.amazon.com/dp/B00IRVQ0F8

@TheZappaThustra

Hello, i am trying to install on a device Samsung Chromebook 3 XE500C13 / celes, but the keyboard and trackpad are not recognized in live.

I updated the firmware with RW_LEGACY mrchromebox script ..

This braswell fixes found only in Cyan? or have I done something wrong

Thanks in advance

@marvinharcsun
marvinharcsun commented Oct 1, 2016 edited

Have you updated to 4.7.2-galliumos kernel? I'm on Edgar, but with external keyboard and mouse you should try this. It worked for me.

sudo galliumos-repodist --enable testing
galliumos-update.

@TheZappaThustra
TheZappaThustra commented Oct 1, 2016 edited

Because of my inexperience I do not know exactly how to do this, but from your description I suppose the following situation:

I'm using the link above image (https://galliumos.org/releases/2.0/galliumos-baytrail-2.0.iso)

But I should use this: https://galliumos.org/releases/nightly/galliumos-baytrail-xenon-20160930T010805Z.iso

Right?

Thanks

@marvinharcsun
marvinharcsun commented Oct 1, 2016 edited

What your using is fine.After the kernel update everything except audio worked for me.
Use an external keyboard and mouse. Make sure your connected to wifi. What you want to do is open a terminal type in
sudo galliumos-repodist --enable testing
galliumos-update

it will install 4.7.2-gallium os kernel

@TheZappaThustra

Thanks very much for the help!

@reynhout
Member
reynhout commented Oct 1, 2016

@TheZappaThustra you can update in-place with the instructions from @marvinharcsun if you have an external keyboard, or you can install with the nightly image that you linked above. Either one would work. The third possibility, if you're installing dual-boot with chrx, would be to run chrx with the -r nightly option.

@henrywheatjr

Acer Chromebook 14 (CB3-431)

Wanted to dualboot Gallium, so:
Backed up chromeOS install using their Resore Utility to a usbdrive
Followed instructions on Installing/Preparing
Enabled Developer Mode
Flashed with John Lewis’ RW_LEGACY for Braswell using step 2b from above link.
Installed GalliumOS

The sound didn’t work, so I decided to try restoring chromeOS but ran into this problem: whenever I inserted my usbdrive as the screen read “Chrome OS is missing or damaged. Please insert a recovery USB stick or SD card” the screen blinked, moved on to “verifying the integrity of your recovery medium’ and presented me with “You are using an out-of-date Chrome OS recovery image” and continues to hang until I reboot with Refresh+Power.

Hitting Tab on the Recovery screen shows the following:

HWID: EDGAR D25-A4K-S4I-A2P
Recovery_reason: 0x5b / 0x00 No bootable kernel found on disk.
VbSD.flags: 0x00004c40
Dev_boot_usb: 0
Dev_boot_legacy: 0
Dev_boot_signed_only: 0
Dev_boot_fastboot_full_cap: 0
TPM: fwver=0x003c0002 kernver=0x00020001
Read-only firmware id: Google_Edgar.7287.167.13
Active firmware id: Google_Edgar.7287.167.13

The only thing I can think of that went wrong is that I made the backup on ChromeOS subscribed to the beta channel, and the recovery disk may be trying to restore a release channel?

Can anyone help? I’m afraid I’ve semi-bricked my chromebook that I haven’t owned for more than a week!!

Thanks,
Henry

@marvinharcsun
marvinharcsun commented Oct 2, 2016 edited

Hey Henry,
Try another computer to make the back up image with the chrome recovery utility. I have the same model it has always worked for me (I used Mr. Chromebox though). For some reason sandisk drives were not working if I remember correctly. You can read about it here. I have no idea if that even related.

https://productforums.google.com/forum/#!topic/chromebook-central/S-PfKpomhJU

@MilitaryRiotLab

@henrywheatjr Try this.

Kevin Frost said:

  1. Power on your Chromebook
  2. Press and hold ESC + Refresh
  3. Press the Power button
  4. Release the Power button
  5. Release the Esc and Refresh buttons
  6. Press Ctrl + D
  7. Follow the on-screen prompts (If I remember right you press Enter, then Shift, then Shift again to confirm
  8. After powering your Chromebook back on, choose which channel you'd like to up or downgrade to
  9. Once the update reaches 100% a Reset button should appear. Click that, and after rebooting, you should be on the chosen channel.

https://productforums.google.com/forum/#!msg/chromebook-central/W7IWPTU8ops/h7bebDRyKAAJ

@henrywheatjr
henrywheatjr commented Oct 2, 2016 edited

Thanks, Marvin. I tried creating a new image using safe mode with
networking on my PC, and all is well. Thanks for the help!

@harlanbrown

Like @TheZappaThustra I am using a Samsung Chromebook 3 XE500C13 / celes.
With the latest nightly GalliumOS boots and the keyboard works fine, the trackpad tracks fine, but trackpad clicking doesn't work! Neither regular click or tap-to-click. Any advice? I am able to open a terminal window using the Ctrl-Esc shortcut.

@reynhout
Member
reynhout commented Oct 2, 2016

@harlanbrown Which nightly did you install? ISO or chrx?

Do you have a galliumos-braswell package on your system? dpkg -l galliumos-braswell will check.

@TheZappaThustra
TheZappaThustra commented Oct 3, 2016 edited

I installed via chrx, and everything went well.

Known issues:

  • Internal audio (expected)
  • Trackpad - Atmel maXTouch Touchpad (moves but does no action - left / right click, tap and two fingers scroll)
  • Some media keys on the web browser

@harlanbrown - For Samsung Chromebook 3 XE500C13, in this stage I recommend the following (according to my experience):

  • Use chrx for now (normal image, not nighly) - This does not preclude the use of the device (via ChromeOs) if something unexpected happens and does not add difficulty by fact the device only have two USB ports (is not cool to be swapping mouse and keyboard port while one is being used by the stick, if you use one).
  • Update the kernel as described above (using mouse and external keyboard):

sudo galliumos-repodist --enable testing
galliumos-update

  • Use an external mouse and try to disallow the internal trackpad in the mouse settings (works well).
  • Set the keyboard model: "Chromebook (most models) | Search overlay | F keys mapped to media keys"

Overall, i am happy with the first impressions and waiting updates.

@reynhout
Member
reynhout commented Oct 3, 2016 edited

@TheZappaThustra @harlanbrown The kernel with support for Braswell keyboard and touchscreen has been promoted to the stable repo today, so the updates and repodist changes are not longer necessary.

Trackpad on CELES not clicking is a new problem report. We've seen the Atmel devices disappear completely on SAMUS, but never losing only click. Does this happen immediately everytime, or occasionally after time, etc?

@harlanbrown

I installed using chrx with today's nightly. Trackpad click works on the login window and for about two seconds after the desktop comes up -- then it becomes unresponsive. Not enough time to connect my Wifi, unfortunately I threw all of my USB input device thingies away years ago.

@TheZappaThustra
TheZappaThustra commented Oct 3, 2016 edited

@reynhout , immediately everytime.

Some infos:

  • xinput list
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ Logitech USB Optical Mouse                id=8    [slave  pointer  (2)]
⎜   ↳ Atmel maXTouch Touchpad                   id=10   [slave  pointer  (2)]
⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
    ↳ Power Button                                id=6    [slave  keyboard (3)]
    ↳ Power Button                                id=7    [slave  keyboard (3)]
    ↳ Real HD WebCam                              id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=11   [slave  keyboard (3)]
  • dmesg | grep -i touch
[    9.742381] atmel_mxt_ts i2c-ATML0000:01: Direct firmware load for maxtouch.cfg failed with error -2
[    9.864945] atmel_mxt_ts i2c-ATML0000:01: Touchscreen size X1920Y1080
[    9.865154] input: Atmel maXTouch Touchpad as /devices/platform/808622C1:05/i2c-1/i2c-ATML0000:01/input/input5
  • cat /proc/bus/input/devices
I: Bus=0018 Vendor=0000 Product=0000 Version=0000
N: Name="Atmel maXTouch Touchpad"
P: Phys=i2c-1-004a/input0
S: Sysfs=/devices/platform/808622C1:05/i2c-1/i2c-ATML0000:01/input/input5
U: Uniq=
H: Handlers=mouse1 event5 
B: PROP=5
B: EV=b
B: KEY=e520 10000 0 0 0 0
B: ABS=ef1800001000003
  • cat /usr/share/X11/xorg.conf.d/50-touchpad-cmt-celes.conf
# Configure touchpads to use Chromium Multitouch (cmt) X input driver
Section "InputClass"
    Identifier      "touchpad celes atmel"
    MatchIsTouchpad "on"
    MatchDevicePath "/dev/input/event*"
    MatchProduct    "Atmel"
    Option          "Touchpad Stack Version" "2"
    Option          "Integrated Touchpad" "1"
    Option          "Zero Finger Click Enable" "0"
    Option          "Palm Pressure" "150"
EndSection
@tjyrinki
tjyrinki commented Oct 3, 2016

Weirdly on very latest 4.8 kernels (both Ubuntu's mainline build and archive Ubuntu patched one) I've lost again both keyboard and touchscreen. Despite the fact that thanks to my bug report CONFIG_TOUCHSCREEN_ELAN was re-enabled in both (it regressed after 4.4 by going missing). Basically the situation is same as on Ubuntu's earlier 4.4 kernels where the config flag was enabled, touch screen is detected both by kernel and X.org but it just didn't function. Same with keyboard. I'd love to know the exact knobs that affect both, and of course if it's just me or everyone. Just FYI if you too happen to wonder what happened at some point. Somehow I have a tingling feeling user space might be related too.

@thalesmaoa

This problem is simple, I had it too.
Open trackpad preferences and enable click when tap. It fixed for me. The
only problem I'm having is that, sometimes the click locks. Or stay pressed
or stop working.

Em 02/10/2016 9:46 PM, "harlanbrown" notifications@github.com escreveu:

I installed using chrx with today's nightly. Trackpad click works on the
login window and for about two seconds after the desktop comes up -- then
it becomes unresponsive. Not enough time to connect my Wifi, unfortunately
I threw all of my USB input device thingies away years ago.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#270 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANbCzUqJFFXZoVZFBGXeHJZiMzqRJ2Rgks5qwFBwgaJpZM4JWwdb
.

@reynhout
Member
reynhout commented Oct 3, 2016 edited

@tjyrinki Not sure if it will be the same, but in the GalliumOS 4.7.2 kernel we needed to add CONFIG_PINCTRL_CHERRYVIEW=y (must be y, not m) in addition to CONFIG_TOUCHSCREEN_ELAN to get the touchscreen working on CYAN.

@reynhout
Member
reynhout commented Oct 3, 2016 edited

@thatguy212121 You can install GalliumOS instead of ChromeOS on your Chromebook. Internal audio does not work yet. GalliumOS is derived from Ubuntu, but we make many changes for improved compatibility with Chromebooks. I do not know how well Ubuntu will work on your model.

Full installation info at https://wiki.galliumos.org/Installing. Dual-boot is an option, but not a requirement.

@reynhout
Member
reynhout commented Oct 3, 2016 edited

@thatguy212121 You do not need full ROM to install GalliumOS as the only operating system on the machine.

If you mean replacing Google completely including firmware (which is open source derived but built by Google, theoretically with all patches public), then that is different. Currently there's no full firmware for Braswell which is built entirely from open source code by someone other than Google. You can watch John Lewis and https://mrchromebox.tech/ to see if that changes (but it probably will not).

I'm not sure what you mean by "native". All options including dual-boot, single-boot, and Crouton are fully native.

@MattDevo
MattDevo commented Oct 3, 2016

@thatguy212121 then use my Firmware Utility Script to set Legacy Boot (SeaBIOS) as the default with minimal delay and remove the ChromeOS Developer Mode splash screen. That's the best you can do with your device, since a full ROM option is unlikely (definitely not from John, and I'm not too inclined to build one either as there would be little to no benefit). See https://mrchromebox.tech

@MattDevo
MattDevo commented Oct 3, 2016 edited

@thatguy212121

  1. the main limitations are that the ChromeOS Developer Mode splash screen is still active, and that if you don't remove the firmware write-protect screw and set the firmware boot flags, a power drain can remove your ability to boot in Legacy Mode. There aren't any real limitations running Linux, though some devices/families have bugs that are mitigated by using either the BOOT_STUB or a Full ROM. Neither of those options are available (or likely to become available) for you however, so it's a moot point.
  2. The issue you quoted is unique to the BOOT_STUB firmware, and is listed on my site as well. It's also explained why this is an issue for the BOOT_STUB firmware but not other types.

Should you wish to keep your Chromebook and install only GalliumOS, this is what I recommend:

  • open device and remove firmware write-protect screw
  • using my Firmware Utility Script:
    • flash RW_LEGACY firmware
    • set firmware boot options/boot flags to Legacy Boot default + short delay
    • remove the ChromeOS bitmaps
  • install GalliumOS using the latest nightly ISO
  • hope we figure out audio on Braswell devices
@dh34751
dh34751 commented Oct 3, 2016 edited

FWIW, opening up the CB3-431 Acer Chromebook 14 is incredibly easy compared to some other Chromebooks I've tried. There are no hidden screws and no screws are covered with stickers. Just remove all visible screws and the bottom easily pops off. Even though there are no pictures that I've found, locating the write protect screw is pretty easy too. Look for the two semi-circle pads with a screw shorting them together, remove the screw, put some insulating tape over the pads, put the bottom back on, and follow Matt's instructions above. I've done all this and the Acer is as close to a pure Linux machine as you're going to get on this model. It boots straight into Linux with minimal delays and no extra key presses required. If you put a bootable USB flash drive in one of the USB slots, you are presented with a message at boot time giving you the option to boot from USB or the internal drive. It all works beautifully.

@thatguy2121212
thatguy2121212 commented Oct 4, 2016 edited

@reynhout @MattDevo @dh34751 @OthersWhoCanHELP
Some follow up question:

  1. If I install RW_LEGACY firmware like @MattDevo described, then I would get a Bios from which I can start and install any ISO, not only GalliumOS?

  2. The Bios loads automatically....I don't have to press any keys like @dh34751 said?

  3. Could I theoretically install Ubuntu, even if it has some driver-flaws?

  4. If 3 is possible, does GRUB work with RW_LEGACY firmware? I saw somewhere someone saying, that grub will be installed on the emmc and you can't boot from the emmc...ah it was here from Adam Levy -> https://plus.google.com/communities/112479827373921524726 . He said "I understand that booting from the emmc is not yet supported"

  5. First of all im grateful that you guys are making Galliums OS possible and I know that Gallium OS is very similar to Ubuntu, but I don't like to have 20 different OS's on my many devices. So the best for me would be to install ubuntu 16.04 lts, which is the standard of my other devices. But will it work? Has someone Ubuntu on Acer Chromebook 14? What Linux do you have @dh34751 on your Acer Chromebook 14 ?

  6. Could I get GalliumOS if Ubuntu 16.04 is very bad on my Acer Chromebook 14 or will there be any problems to remove Ubuntu afterwards?

@MattDevo
MattDevo commented Oct 4, 2016

@thatguy2121212

  1. yes, any ISO written to USB in a manner that is BIOS/UEFI-CSM compatible
  2. it will be automatic only if you use the Firmware Utility script to make it the default and shorten the delay as I mentioned previously. Otherwise, you have to hit CTRL+L at each boot.
  3. yes
  4. of course, I fixed eMMC on Braswell long ago. John Lewis was slower to add support to his RW_LEGACY firmware but should have it now too
  5. You can install Ubuntu 16.04, but you won't have keyboard support without a kernel update, and you won't have touchscreen support without building a custom kernel. Of course, you could use the GalliumOS kernel with Ubuntu and then both would work but obviously we can't support that here.
  6. you can change OSes just as easily as another other PC - just boot the install media and have it overwrite the internal eMMC.
@thatguy2121212

@MattDevo Thanks for all the answers. Btw Acer chromebook 14 doesn't even have a touchscreen, so that's not a problem.
But that with the keyboard is a problem....but I think as Ubuntu will evolve and new kernels coming in, the keyboard will work fine. Ubuntu 16.10 is coming soon and has a new kernel, maybe then the problem is solved.

Any other problem there might be with installing Ubuntu instead of GalliumOS?

@dh34751
dh34751 commented Oct 4, 2016

@thatguy2121212 I have Mint 18 installed on my Acer. I wanted something that I wouldn't have to upgrade for a while, Gallium wasn't available yet, and I personally liked Mint better than straight Ubuntu. I did initially run into the keyboard issue, but since Mint is based on Ubuntu, I was able to solve that by updating to the Ubuntu 4.7 kernel where the keyboard issue was fixed. Please note that Mint has none of the Gallium Chromebook optimizations though, so I made changes based on several web articles that you can find by searching Google for articles with "after installing Mint 18" in their titles. Making the SSD related changes is especially important to limit the wear on your SSD.

@UrbanCamping

@thatguy2121212 I just installed 16.10 on my Acer Chromebook 14 and it installs fine and the keyboard works unlike 16.04. One thing though the function keys wont work right out of the box (Brightness, Volume keys, etc). You can download Yakkety Yak (16.10) Beta 2 off Ubuntu's website.

@dvdmuckle
Member

Reported on IRC, another occurrence of losing trackpad on the latest nightly. Installed with the Bay Trail image.

haggster: Hi guys, absolutely great work. I just wanted to say that I read somebody on Github writing about losing click on one of the newer images - I've installed the latest nightly on my Celes Strago machine and it seems I'm getting the same issue. I actually even got it during the live system phase and had to complete the installation via keyboard. Anyway, clicking doesn't even work with a USB mouse once the click function
haggster: If I have a console open, I was able to temporarily fix it for a few mins via sudo killall Xorg
haggster: the second time this didn't work
haggster: dmesg didn't show anything
haggster: I'm actually typing all this from the same system, but from the console via ScrollZ, after killing Xorg with kill -9 ;)

@geisesteert
geisesteert commented Oct 5, 2016 edited

I had reported the issue regarding losing click functionality earlier on IRC. Just in order to record this properly, here are the main points:

  • this is the first time I was trying out GalliumOS
  • hardware is Samsung Chromebook 3: celes strago
  • I used galliumos-baytrail-xenon-20160930T010805Z.iso (since the braswell-specific iso's are new and I hadn't noticed they were available now
  • The first time the issue occurred was already during the install phase from the live image: During the stage when I needed to select the partitioning, I wasn't able to click anymore, but I was still able to move the cursor without issues
  • When connecting a mouse, it showed the same behavior: I was able to move the cursor using the mouse, but clicking did not work
  • I finished the installation via hitting tab and return within the relevant dialogues
  • Once I had booted the system from internal storage after the installation had been completed, the same issue occurred after a short while
  • I had a terminal open, so I was able to switch to it via tab and then kill Xorg via killall from there
  • Xorg restarted automatically and the issue was gone for a few minutes until it re-occurred
  • After the issue re-occured, right click and the middle/scroll mouse button were working, but no left click
  • I then killed Xorg again, but that time the issue persisted after Xorg came up again
  • I triggered dmesg and there were no errors that would be in any relation to this

I was not able to find out if the whole issue can be triggered if I'm not using the touchpad at all and I only use the mouse instead, however I can check this once I find the time. I will also check the dedicated Braswell image, i.e. perform a re-install using that image and then report back.

@thalesmaoa

To reproduce this error, just click and drag and the click function will
stop working.

Em 05/10/2016 8:29 AM, "geisesteert" notifications@github.com escreveu:

I had reported the issue regarding losing click functionality earlier on
IRC. Just in order to record this properly, here are the main points:

  • this is the first time I was trying out GalliumOS
  • hardware is Samsung Chromebook 3: celes strago
  • I used galliumos-baytrail-xenon-20160930T010805Z.iso (since the
    braswell-specific iso's are new and I hadn't noticed they were available now
  • The first time the issue occurred was already during the install
    phase from the live image: During the stage when I needed to select the
    partitioning, I wasn't able to click anymore, but I was still able to move
    the cursor without issues
  • When connecting a mouse, it showed the same behavior: I was able to
    move the cursor using the mouse, but clicking did not work
  • I finished the installation via hitting tab and return within the
    relevant dialogues
  • Once I had booted the system from internal storage after the
    installation had been completed, the same issue occurred after a short while
  • I had a terminal open, so I was able to switch to it via tab and
    then kill Xorg via killall from there
  • Xorg restarted automatically and the issue was gone for a few
    minutes until it re-occurred
  • After the issue re-occured, right click and the middle/scroll mouse
    button were working, but no left click
  • I then killed Xorg again, but that time the issue persisted after
    Xorg came up again
  • I triggered dmesg and there were no errors that would be in any
    relation to this

I was not able to find out if the whole issue can be triggered if I'm not
using the touchpad at all and only when using the mouse from the beginning,
however I can check this once I find the time. I will also check the
dedicated Braswell image, i.e. perform a re-install using that image and
then report back.


You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
#270 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/ANbCzYSWEmuUzUUHPf-tRvM-G_eL8LNIks5qw4ougaJpZM4JWwdb
.

@reynhout
Member
reynhout commented Oct 5, 2016

@geisesteert @thalesmaoa Thanks for the reports!

It is especially odd that the behaviour occurs on a USB mouse as well. The issue might be in a layer above the kernel then -- Xorg, Xfce, XFWM, etc.

I think the only hardware-specific config for CELES is in /usr/share/X11/xorg.conf.d/50-touchpad-cmt-celes.conf, and that should only affect the touchpad.

@thalesmaoa
thalesmaoa commented Oct 5, 2016 edited

Just an observation:

  1. after the touchpad locks, usb don't work either.
  2. if reboot and try to reproduce the problem with USB, it doesn't occur.

In other words, I believe that you are right with the config file. Usb
don't work, if and only if it stop primarily using touchpad, since it is
already locked. But if I only use external mouse the click never locks.

I've been using usb mouse and disabled touchpad without problems.

@thatguy2121212
thatguy2121212 commented Oct 5, 2016 edited

@UrbanCamping
Thanks for the info :)
Then I can keep my Acer Chromebook 14. But a LTS-Version would be better although I read that Ubuntu hasn't done any real new things in 16.10 so hopefully it will be stable. Also I will wait until the new Version is officially released or 1 or 2 weeks more....I know that in the first weeks, even if its not a beta anymore, Ubuntu has always some flaws...
Important was for me your info which let me know that there's a future for my Acer Chromebook 14 Ubuntu-wise
Regarding the function keys...I don't need them. But I think that they will come with time

@dh34751
dh34751 commented Oct 7, 2016

I just tried installing the Ubuntu build of the 4.8.0 kernel on my Acer CB3-431 Chromebook 14 running Mint 18, and the local keyboard inactive problem is back. I don't know if this is a regression in the kernel or a problem with the Ubuntu build. This did not happen when I tried the 4.8-RC6 Ubuntu build a few weeks ago. I hit this immediately at the login screen, so I restored my 4.7 image backup and didn't do any further testing. It looks like I'll be sticking to the 4.7 kernels.

@elquad
elquad commented Oct 8, 2016

Has anybody succeeded in getting screen mode (laptop/flipped) or rotation of the screen somehow from the system? Flipping doesn't seem to generate acpi event and I didn't find any magic file in /sys on Cyan.

@gblache
gblache commented Oct 11, 2016

I'm also seeing trackpad click issue on the latest nightly build. Sometimes I'm able to perform "half" a click where I get stuck in a mouse-down state.

@lispykid

I just discovered a tiny issue with the german keyboard layout. I can't enter any "Alt gr" symbols, such as @ or €. My bad?

@ampheul
ampheul commented Dec 29, 2016 edited

@pswifanwmi Yeah, reddit does that. I think that the original thread authors are still all available to volunteer time and energy to debug with TERRA, like myself.

@ethancedrik

Yeah, SeaBIOS has some kind of frame buffer reset issues on these devices, so the OS has to take care of that. I tried booting the text-based Windows XP installer (lol) on my Samsung Chromebook 3 since it's non-ACPI and was just bored so decided to do it for the heck of it and it wouldn't even get past the "press any key to boot from CD" message, it would just go blank.

@walletdude

Don't forget about BANON! On my BANON, audio is indeed broken, so I'm assuming it has the REALTEK chip. Looking into it, it may be a firmware issue, and I think upgrading to BOOT_STUB would fix the audio issue.

@reynhout
Member
reynhout commented Jan 5, 2017

@jadensite Quite right -- I've added BANON to the list at the top. All Braswells will have nonfunctional audio. And I think all except CYAN will have the Realtek chip.

Unfortunately, BOOT_STUB is not available for Braswell (and likely never will be). The issue lies in the Linux kernel support for the audio chip. It's possible for future firmware to be involved (current RW_LEGACY is not), but the kernel will need to be patched, regardless.

@walletdude

Oh okay, was not aware it was a kernel issue. My thinking was incorrect then. What is the problem with BOOT_STUB on braswell?

If you need any testing done on BANON or PEPPY, let me know.

@evan-a-a
evan-a-a commented Jan 6, 2017 edited

Regarding the sound issue on EDGAR:
It appears that the kernel module that supports ALC5650 is not enabled in Gallium's config. ALC5650 is supported by the RT5645 driver, as seen here. The rt5645 driver is enabled in chromeos's common config here (L1668 is also relevant), but this is absent from Gallium's kernel configuration.

rt5645 is also the currently loaded module on chromeos on my EDGAR.

chronos@localhost / $ lsmod  | grep rt5645  
snd_soc_sst_cht_bsw_rt5645    12352  0   
snd_soc_rt5645        127135  2 snd_soc_sst_cht_bsw_rt5645  
snd_soc_rl6231         12485  1 snd_soc_rt5645
@reynhout
Member
reynhout commented Jan 6, 2017 edited

@evan-a-a All good points, but you're looking in the wrong place. :)

You can see our current kernel config by extracting (or installing) /boot/config-4.9.0-galliumos from the 4.9.0 dev kernels (from https://galliumos.org/tmp/kernels/4.9).

We haven't documented the state of our work, so there's no way you could have found those. We have a temporary patch in the v4.9.0 branch that modifies the config (misleadingly named max98090-add-cht-rm-byt.diff), but it's easy to miss. And even that is rather new -- we've been working with uncommitted config on older kernel versions for much longer.

So unfortunately, it requires more than just building the kernel modules. The 3.18 driver code needs to be ported forward to 4.9. There were breaking changes in the audio subsystem in kernel 4.5 that need to be accounted for. In the case of the Maxim MAX98090 chip, we also need to break the exclusivity between the Cherry Trail/Braswell driver and the Bay Trail driver, though at this point I might settle for shipping individual kernels for the two platforms.

@reynhout
Member
reynhout commented Jan 6, 2017 edited

BTW: If anyone would like to help with our porting efforts, please do. As I mentioned, it isn't really documented anywhere, but you can join us on IRC freenode #galliumos to discuss the current state of things.

The short version is that we need to take the driver code for rt5650 and max98090, and update it for the audio subsystem here (and related files). If you have experience with the Linux audio subsystem (even pre-4.5, but especially 4.5+), we have lots of questions. :)

There are some examples in the history of the mainline repo, of drivers that have already been updated. The major change was in kernel 4.5, but it's possible that other changes are relevant too.

@evan-a-a
evan-a-a commented Jan 6, 2017 edited

@reynhout I see, thanks for the information.

I don't understand the reason for porting code from the chromeos 3.18 kernel. Mainline has updated support for rt5650 and Chromeos is aligned with mainline. From the history on rt5645, Google has not made any additional modifications outside of adding the DMI info for Chromebooks, seen here for edgar. (edit: this was later modified for universal application to chromebooks in https://chromium.googlesource.com/chromiumos/third_party/kernel/+/bdf78a5486da89b857e4ebc43f28828b3cfd8112).

The only other change I see is a small hack for handing muting in https://chromium.googlesource.com/chromiumos/third_party/kernel/+/2285eb7f0d5cf685051a2e57f9e05c56b0c836d8.

I don't have the means to compile and test at the moment, but would be willing to next week.

@reynhout
Member
reynhout commented Jan 6, 2017

@evan-a-a It might turn out the porting the 3.18 driver is not the easiest path forward. That is what was required for the rt5677, and I'm assuming the rt5650 will be similar.

I don't know much about the rt5645 driver yet though. I've spent a lot more time looking at the max98090 so far. We have just purchased a TERRA for testing (arrived day before yesterday), so I'll be taking a closer look soon.

Why do you think ChromeOS would be aligned with the mainline kernel more recently than 3.18? As far as I know, Chromebooks are the only devices that use this driver (or perhaps a sub configuration of it), so it would not be updated in the 4.9 tree until/unless Google had done so. I see some evidence that Google is working on a ChromeOS kernel based on 4.4 (which makes sense, it's an LTS kernel), but no versions newer than that.

@evan-a-a
evan-a-a commented Jan 6, 2017 edited

@reynhout

An update to my previous statement, it appears mainline already has support for chromebooks, seen here.

Google has backported most of the upstream work to 3.18. 3.18's head currently sits at https://chromium.googlesource.com/chromiumos/third_party/kernel/+/e62ad93382a6ff8f3dde5757d83bb96a2e3622dd, which is a recent commit in mainline https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/sound/soc/codecs/rt5645.c?h=v4.9&id=467b147982bb063369a1222523fa503e0c077c30. The rt5645 driver is also used in the Microsoft Surface 3, at least according to the entry in the dmi_system_id struct (https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/sound/soc/codecs/rt5645.c?h=v4.9#n3569)

Google has not done in house modification to the audio driver outside of the DMI info, which they then upstreamed.

I can't run a diff between the two at the moment, but I suspect they will be very similar, if not the same.

@reynhout
Member
reynhout commented Jan 6, 2017

@evan-a-a I think you're saying that Google has backported enough of the mainline 4.5+ audio subsystem into their ChromeOS 3.18 tree that we might be able to use their rt6545 codec in our 4.9 tree.

That process did not succeed for the max98090 on CYAN, or for the rt5677 on SAMUS. Both of those machines are unique though; the situation could be different elsewhere. Now that we have the TERRA, I can take a look at rt5650 as well.

In our current development kernels, reports are that the rt5650 device is successfully recognized, and the driver loaded. That much has been working for quite a while though. The failures occur when trying to configure DAIs, which could be settings in the driver, or maybe even just ALSA config. I hope to know more soon.

@evan-a-a
evan-a-a commented Jan 6, 2017 edited

@reynhout No, I'm saying that there is no need to attempt to adapt what Google has in their tree because it is the same as mainline. Just look at the commit logs for rt5645 in chromeos and you'll see that it is entirely from upstream. From what you've just said this confirms the the mainline driver is fine and that it is likely configuration problems, not a driver problem.

@reynhout
Member
reynhout commented Jan 6, 2017

@evan-a-a OK, I understand now, thanks. I definitely hope that it's just config from here, that would save a lot of work.

I should be able to work on it this weekend. If anyone else wants to take a look, the dev kernel is at https://galliumos.org/tmp/kernels/4.9. dev2.bsw includes the rt5650 driver for Braswells.

@reynhout
Member
reynhout commented Jan 6, 2017 edited

@evan-a-a There are about 500 lines of diff between sound/soc/codecs/rt5645.c and sound/soc/intel/boards/cht_bsw_rt5645.c in the ChromeOS 3.18 vs mainline 4.9 trees (and quite a lot more in parent driver code). Some of it looks like it will affect DAI mappings.

I haven't tried to merge any of the code. It looks like there will be dependencies in parent drivers, and so require some porting.

I only looked very quickly, but I feel like I'm seeing what I expected to see -- am I looking at it wrong?

@evan-a-a
evan-a-a commented Jan 6, 2017 edited

@reynhout Could you upload the diffs in a gist or pastebin?

I really don't think the driver is the issue, although without an installation of gallium I can't really debug that. If anything the mainline driver is more robust than the older version chromeos has forked. Mainline is also ahead of chromeos so porting doesn't make any sense. There's nothing special about the chromeos implementation that would require an older driver.

@reynhout
Member
reynhout commented Jan 6, 2017

@evan-a-a The diffs: https://paste.ubuntu.com/23755014/

I'm still hopeful that it's just ALSA config for the rt5650. But the dmesg implies mapping problems, and the diffs suggest mapping differences.

For comparison, ChromeOS mapping these:

[    0.702213] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
[    0.702255] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok
[    0.705850] cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif1 <-> ssp2-port mapping ok

And 4.9.0-dev2.bsw gets it wrong:

Jan 06 23:32:23 chrx kernel: cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
Jan 06 23:32:23 chrx kernel: cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
Jan 06 23:32:23 chrx kernel: cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif1 <-> ssp2-port mapping ok
Jan 06 23:32:23 chrx kernel: input: chtrt5650 Headset as /devices/platform/808622A8:00/cht-bsw-rt5645/sound/card0/input9
Jan 06 23:33:09 chrx pulseaudio[894]: [pulseaudio] main.c: Sink alsa_output.platform-cht-bsw-rt5645.analog-stereo does not exist.

Again, I haven't spent a lot of time on this chip yet. We've also seen GPIO and pincontrol changes that cause audio to fail.

@evan-a-a
evan-a-a commented Jan 7, 2017

@reynhout Interesting, thanks for the logs. The mapping is different due to deepbuffer support being merged in mainline. You could try reverting this change to remove deepbuffer support, which may be the source of the issues.

@evan-a-a
evan-a-a commented Jan 7, 2017

Though it doesn't make sense that it would fail to map the compressed audio port.

@evan-a-a
evan-a-a commented Jan 7, 2017 edited

Update from my end of things. I now have a working install of Arch Linux running kernel 4.8 on EDGAR. Per dmesg the mappings are correct:

[    2.677664] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> media-cpu-dai mapping ok
[    2.677720] cht-bsw-rt5645 cht-bsw-rt5645: snd-soc-dummy-dai <-> deepbuffer-cpu-dai mapping ok
[    2.677750] compress asoc: snd-soc-dummy-dai <-> compress-cpu-dai mapping ok
[    2.685597] cht-bsw-rt5645 cht-bsw-rt5645: rt5645-aif1 <-> ssp2-port mapping ok

The bad news is that this is spammed in dmesg when attempting audio playback.

[   32.555081]  Audio Port: ASoC: no backend DAIs enabled for Audio Port

Looks like it is a DAI issue after all @reynhout.

This issue report for bay trail may provide some assistance https://bugzilla.kernel.org/show_bug.cgi?id=115201

@rtreffer
rtreffer commented Jan 7, 2017
@evan-a-a
evan-a-a commented Jan 7, 2017

@rtreffer I discovered that during my work.

I've been working on the ucm and have it to the point of pulseaudio recognizing the device but no audio output through pulse. Speaker-test outputs pink noise properly. I'll keep plugging away at the ucm.

Also, based on comments on this kernel bug, there may be a bug in the device driver that requires this. These developments are very recent though, and the fix will end up in mainline eventually.

@evan-a-a
evan-a-a commented Jan 7, 2017

Here is what I have for the ucm now. It doesn't seem to be spitting out DAI errors and the playback device appears in pulseaudio. Audio playback still doesn't work, however, so I suspect the aforementioned driver bug to be the culprit

https://gist.github.com/evan-a-a/a67c1dc1e28940480343cb7571a2cef7

@evan-a-a
evan-a-a commented Jan 7, 2017

I also forgot to mention that headphone jack detection works fine.

@evan-a-a
evan-a-a commented Jan 8, 2017

Audio is now operational on EDGAR! The internal speakers, headphone jack, and internal microphone are all functional. Headphone jack detection is not operational, but that should only require tweaking of the UCM.

Achieving this required the use of this tree, which contains many patches for the rt5645 driver. These should be mainlined by 4.11 as the 4.10 merge window has already closed. For UCM, I am using a modified version of @plbossart's chtrt5645 config, which simply replaces the reference to chtrt5645 with chtrt5650. This is enough to get audio playback working but will need to be revised to handle auto switching on the headphone jack. For conveinience, here is the modified UCM.

@baltedewit

@evan-a-a that's great news! thank you.

I'm super eager to see this in a nightly build. Any ETA or is that too early?

@reynhout
Member
reynhout commented Jan 8, 2017

@evan-a-a Wow, awesome! I'll get a new kernel pkg built today so we can test on other Braswell models.

@ethancedrik

c8c09110a02b2e676ce7aa7d3d37c0b9
I have also noticed 2 audio servers showing up in GalliumOS, is this intentional, does it matter?

@aguitel
aguitel commented Jan 8, 2017

when new iso available i will try in samsung 3

@evan-a-a
evan-a-a commented Jan 8, 2017 edited

Final UCM for chtrt5650 is now available here.

Jack detection is working now. It was just a matter of uncommenting the existing port configuration. The only issue I've encountered is low input volume on the internal microphone. I adjusted the input volumes in UCM to match ChromeOS's config, but it still isn't operating correctly. This could be a driver bug. I am also not able to test the external mic input, but I don't see any reason why it wouldn't work. If someone could test this that would be great.

I also specified device order in alsa with a module load option ala samus

options snd slots=snd_soc_sst_cht_bsw_rt5645,snd_hda_intel
@reynhout
Member
reynhout commented Jan 8, 2017

@evan-a-a I'm building a test kernel now.

One question: the two gists you linked (pre- and post- jack detection?) are identical, is that correct?

@evan-a-a
evan-a-a commented Jan 8, 2017 edited

@reynhout It's the same gist but the file contents are updated. L233 and 234 had to be uncommented. I also added some HW eq configuration from the ChromeOS UCM.

@reynhout
Member
reynhout commented Jan 9, 2017

@evan-a-a OK, makes sense, thanks.

I built the kernel and booted into it. Took some additional tweaking (possibly due to my machine's already-tweaked state), but I was able to get good audio!

I saved out the ALSA state file, and rebooted again. This time I'm having trouble with the left channel -- a few seconds of static immediately at login, then ~silence. Right channel seems normal.

More concerning is that with the system booted for a few mins and playing audio from the right channel, the left speaker is becoming noticeably warm. I shut it down and am now doing a fresh install of GalliumOS to allay any concerns about preexisting tweaks, and to let the left speaker cool down.

@evan-a-a
evan-a-a commented Jan 9, 2017 edited

@reynhout Likely previous cruft from tweaking as you said. I've been through several reboot cycles and had audio every time.

@markus-willems

@evan-a-a great job, thank you! I simply copy the files from your gist to the path you mentioned, and do a reboot afterwards?

@reynhout any news on the fresh install? Are you still having problems with your speakers?

@polarimetric polarimetric referenced this issue Jan 11, 2017
Open

Skylake Platform Validation #274

12 of 15 tasks complete
@reynhout
Member

@markus-willems A fresh install resolved the issue on TERRA.

To get internal audio working, you'll need the patched kernel, which we should have in the repositories soon. It will hopefully work for all Realtek Braswells (so, all except CYAN).

The only issue left to resolve in the new kernel is a suspend/resume bug.

@pswiifanwmi

@reynhout Wait, how did you fix the xorg crash-loop issue? It still wouldn't work for me so I'm using Fedora right now because Wayland works just fine. (Audio doesn't though, no surprise there)

@evan-a-a
evan-a-a commented Jan 11, 2017 edited

It appears that edgar still has some audio issues. There is some noise from the headphone jack that is not present on ChromeOS. This is likely due to the UCM config, so I'll see if I can solve it.

@charliewmhughes
@evan-a-a

@charliewmhughes No, the speakers are fine and have been since the kernel was configured to load the driver.

@MariiaKravtsova

I have issues with GalliumOS bootable flashdrive just stuck into blinking prompt.
Asus C300SA, MrChromebox, Braswell nightly.

@reynhout
Member

@pswiifanwmi The Xorg loop problem on TERRA seems to be related to ChromeOS versions. There is more discussion on the Reddit thread. I will be doing some more work on that later this week.

@charliewmhughes @evan-a-a We should be careful about that. The shipping kernel today does not load the driver -- but even when it does (soon), we'll have to watch things before having confidence that the problem is avoided.

@MariiaKravtsova It sounds like you have a bad image, write, or USB device. There are extensive troubleshooting steps on the wiki, or you can drop into IRC for help.

@evan-a-a

@reynhout: been running with it for the past few days with no issues or symptoms that would indicate a problem. I suspect your initial analysis of the chip being in an unsafe state is correct.

@reynhout
Member

@evan-a-a We've only seen the issue in a small percentage (~5%) of machines, even when they're left in an incomplete boot state for long periods of time.

Also, assuming that the initialization by the OS does put the chip into a safe state, there's still concern for the unbooted state.

@ethancedrik

@pswiifanwmi You could probably swap the Fedora kernel for the GalliumOS kernel and that may get your touchpad working again in that OS.

@ethancedrik

I can test audio on my CELES

Internal Speakers

3.5mm Headphone Jack (audio and mic)

Internal Microphone near webcam

@singingfalls

Lenovo N22 with Gallium Braswell. This is the third time my chromebook has almost melted. The first time I could smell the electronics heating up. Now I'm paranoid. I'm not duel booting. When I boot I can feel the battery getting hot. I do a normal shutdown > reboot > normal no heating. I see others have had to deal with this. Any ideas?

@reynhout
Member

@singingfalls I can't tell if you've read the ticket history. There's an issue with some Braswell models with Realtek audio chips (like your REKS) that causes heating and damage to the speakers (located on either side of the battery).

Are you saying that sometimes when you boot, you see/feel the issue, but you do not see it after rebooting?

@ethancedrik
ethancedrik commented Jan 12, 2017 edited

Has anyone else had their entire taskbar freeze when their system is under heavy load making you have to use ALT+TAB? I have had it happen frequently recently, it's like that for me right now in fact, and the only fix is to reboot. It usually happens once you hit 100% CPU usage for an extended period of time (playing a game, HD video, etc) and remains once it drops back down to like 20%

@singingfalls
singingfalls commented Jan 14, 2017 edited

@reynhout Yes I read through some of the ticket history before posting and after. I think I may have cooked my speaker hardware on this one.
You are correct. As soon as I feel the speakers warming up I shutdown via the OS and reboot. No heating after the reboot. It is definitely random. Of the many times I have booted up I have had only 3 events.

@metanomi

I have a BANON Braswell with the GalliumOS audio issue, and looking at the comment train it seems like y'all have it sorted as of a few days ago, but not pushed main? ...is there a nightlies repo I can add or something?

@reynhout
Member
reynhout commented Jan 17, 2017 edited

New Braswell packages, including fixes for internal audio (Realtek ALC5645), have been pushed to the testing repository:

sudo galliumos-repodist --enable testing
sudo galliumos-update
sudo reboot

Most Braswells have the Realtek chip, but the Acer Chromebook R11 (CYAN) does not, and is not fixed with these package updates. CYAN remains a work in progress.

Please test the new packages and let us know how things go on your machine.

Known issues:

  • Internal mic is detected, but does not produce good audio
  • Headphone jack events are not detected, kernel thinks plug is always inserted

Thank you to @evan-a-a and @plbossart for code and config!


PS: Reminder regarding speaker damage: We do not know -- but are hopeful -- that adding drivers to initialize the Realtek chip will bring it into a safer state than the ChromeOS bootloader leaves it.

However, GalliumOS cannot initialize the chip until fully booted. When your machine is at the dev mode screen, GRUB bootloader, etc, it is initialized by the ChromeOS bootloader only, and any related risks are still present.

It remains possible that neither ChromeOS full init, nor GalliumOS full init, will be a meaningful improvement for machines that are affected by a bad batch of Realtek chips.

@taylorsangrey

@reynhout Both of my terra machines have been waiting for this update. Thank you. My speakers never had a heat up problem before. Can you confirm from you guys using your terra machine that it is safe? Since the two machines I have are for children.

@mbausdorf

Not sure whether this is related to the whole Braswell audio issue, but I used chrx to install a dualboot on Edgar, and something fried my headphone jack a few days in, to the point that I will return the chromebook. I heard of blown speakers before, but did anyone experience a headphone jack issue? It still plays sound, but I only get two scratches and distorted playback. Resets didnt help.

@metanomi

speakers work, headphone jack too (Acer Chromebook 15 CB3-532 BANON/Braswell) :)

headphone plugin doesn't automatically switch to phones from speakers (or send from phones in addition automatically either), but manual switching in volume controls works fine, as well as switching back (there was some minor crackling switching back but that could just be the cheap hardware itself, dunno) ...so, maybe this is just a GalliumOS config I need to set

also, volume and mute buttons on keyboard don't do anything ...but again could just be a setup/config OS thing.

@evan-a-a

Jack detection is a known issue.

Braswell audio support will be much better in 4.11 or later. The audio patches that are used in the gallium kernel should be mainlined in 4.11 or 4.12

@taotie12010

Same jack detection issue, but volume and mute buttons work fine on my CELES. Thank you for all the work you have done.

@harlanbrown

Working nicely on CELES (same as taotie12010 above) Thanks!

@mathnic
mathnic commented Jan 17, 2017

Speakers and headphone jack working great. However, internal microphone is not working.
If I tap hard on the microphone there is a response. I'm on Edgar.

@jetlego
jetlego commented Jan 17, 2017

On EDGAR, after enabling the testing repository, galliumos-update reports that there are no packages to update, and after rebooting neither headphones nor speakers are detected in the audio menu, nor does audio play.

@hughwilliams94

On REKS, working nicely! No hint as yet of any over-heating. Thanks for the excellent work.

@reynhout
Member
reynhout commented Jan 17, 2017 edited

@jetlego Something might be wrong with your system configuration. Please drop into IRC if you'd like help fixing. https://galliumos.org/irc

@Lykie
Lykie commented Jan 17, 2017 edited

Can also confirm that CELES works for sound. No longer do I have to do tons of annoying hookups.

@evan-a-a

@mathnic Internal microphone is known to be broken and requires kernel changes. I'm working with @plbossart to figure out what needs to be done on edgar to enable the internal mic.

@reynhout
Member

@evan-a-a Thanks again. If there's anything we can test, or info we can gather from other models, let us know.

@evan-a-a

@reynhout No problem! I will likely need some people with other models who can trace out pins on the realtek chip and identify which one(s) are used for the internal mic.

@reynhout
Member

@evan-a-a OK, I can trace out our TERRA here, and post on the new ticket (see next msg).

@reynhout
Member

This ticket is substantially complete!

Since the remaining issues are relatively minor, and/or don't affect all models, I'm going to move the remaining items to their own new issues, and close this epic ticket.

Open issues:

  • Add mode transition detection for convertible devices (CYAN, ...) #316
  • Internal audio does not work on CYAN #317
  • Headphone jack detection fails on Braswell / Realtek ALC5645 #318
  • Internal microphone does not work on Braswell / Realtek ALC5645 #319

Be sure to follow any of the new tickets of special interest to you.

Thanks for your help and patience.

@reynhout reynhout closed this Jan 18, 2017
@wiredin
wiredin commented Jan 28, 2017

My right speaker stopped working (edgar) in both gallium OS and Chrome OS after updating :-( I have Acer Chromebook 14 CB3-431-C7M1

@chiguireitor

Did it overheat? try to get smell, if it smells as burnt, it's done for good. Also, try the dev-mode boot screen to make it beep, if it does beep loudly, it's just a driver problem.

@wiredin
wiredin commented Jan 28, 2017

@chiguireitor Thanks for the tips, there was no smell of heat. Just stopped working. It does not beep in dev-mode boot, only left speaker :-/

@chiguireitor

Yup, borked... my left one has very low and garbled sound, the right one just low.... so prolly you have to change as i've to do

@reynhout
Member

@wiredin how long ago did you update? There's nothing in the update process (or after it) that should make the problem more likely to occur -- but we don't know yet whether it makes it less likely.

The window will always exist where the machine is not-fully-booted (hardware initialized by ChromeOS bootloader only), which definitely does seem to be a higher risk state.

It's also possible that affected machines will "accumulate" minor damages over time (spending several seconds or a minute in the high risk state), which eventually lead to speaker failure.

I have no good suggestions. I still think that "fail fast, and be prepared to exchange defective hardware inside the convenient return period" is the best approach. Better than the other options, at least. :(

@wiredin
wiredin commented Jan 28, 2017

@reynhout this morning I did an update. I did.

sudo galliumos-repodist --enable testing
sudo galliumos-update

plus added the files @evan-a-a worked on
https://gist.github.com/evan-a-a/86b2a698708074530e2d0ee7c6498767

I will try exchanging my hardware.

@reynhout
Member

@wiredin OK, thank you for the info. Again, nothing in the update process should have been a trigger, but the issue has been ongoing. Were both speakers working directly before the update?

By the way, those files from @evan-a-a should be included in the package updates. Saves a step.

@wiredin
wiredin commented Jan 28, 2017

@reynhout yes both speakers were working, it was likely a coincidence that is when the problem occurred. I added the files manually because after galliumos-update and reboot the drivers did not appear. Should I have done apt-get update aswell?

@reynhout
Member

@wiredin No, galliumos-update runs apt update, so that should have picked everything up automatically. Curious.

@chharris88

Galliumos rocks. Thanks guys.

I'm on an Edgar Acer 14 on kernel 4.9.4, and I figured I'd mention that audio on the speakers was not working even after enabling prerelease and testing and running sudo apt-get dist-upgrade. Turns out there were two packages being held back: galliumos-baytrail and galliumos-braswell, since there was a dependency on the galliumos-baytrail (4.0.0 iirc) package that was currently installed. I forced the update with sudo apt-get install galliumos-braswell which I believe was 4.0.4, rebooted and found speakers to be working.

I don't exactly understand what happened there, but it worked for me.

@bhjohnp1
bhjohnp1 commented Feb 3, 2017 edited

I can confirm thatsudo apt-get install galliumos-braswell was needed to fix internal audio issues on my machine as well. (CELES) Thanks @chharris88 !!

@thecodingbandit

Just installed galliumOS on my Acer 14 Edgar and couldn't get sound to work. Did hear a very weird noise coming from right speaker and also a bad burning smell. I quickly rebooted and the speakers do still seem to be working okay on chromiumOS but I'm kind of worried about them now. Any advice?

@rtreffer
rtreffer commented Feb 4, 2017
@reynhout
Member
reynhout commented Feb 4, 2017

@thecodingbandit Which version of, and how, did you install GalliumOS? There's a summary of the current status at https://wiki.galliumos.org/Support/Braswell .

So far there have been no reports of issues (while booted into GalliumOS) now that we load driver code for the audio chip.

@thecodingbandit

@reynhout I'm not sure which version (I installed using chrx as per: https://wiki.galliumos.org/Installing )
I used the firmware update script from MrChromebox (The first option, RW_LEGACY - I'm not entirely sure what exactly this does, however).

I ran a couple of update commands but nothing was downloaded (I think I have the most recent version)

@reynhout
Member
reynhout commented Feb 4, 2017

@thecodingbandit The updates for Braswell audio still in the "prerelease" repository. The easy way to get them with a chrx install is to use the -r nightly option. Without that, you would have only been running with ChromeOS/depthcharge audio hardware init, which will not work (and appears to be the trigger for the problem with the Realtek chips).

Since you've already installed, you can update with:

sudo galliumos-repodist --enable prerelease
galliumos-update
sudo reboot

How long were you running GalliumOS after install before you noticed the sound/heat issue? If we're correct that the ChromeOS/depthcharge init is inadequate/problematic for affected machines, the issue might be mitigated by the audio init we've added to GalliumOS, but it will not be possible to eliminate without an update to ChromeOS firmware, as there will always be the time window between power on and full GalliumOS boot.

@thecodingbandit

I had been using it for about two hours, it was only when I was troubleshooting the audio problems that the problem occurred.

I've updated to the prerelease version as above but it's still not picking up an audio device apart from the HDMI output.

@reynhout
Member
reynhout commented Feb 4, 2017 edited

@thecodingbandit Did you get any messages about packages being "held back" in galliumos-update? If so, run sudo apt install galliumos-braswell to resolve.

You should have galliumos-braswell package version 2.0.4 or later. Check with dpkg -l galliumos-braswell.

@thecodingbandit

@reynhout That's got the audio working, thanks for your help. I'll definitely opt for the fail-fast testing process re: the speakers.

@chharris88
chharris88 commented Feb 6, 2017 edited

Sorry to keep posting in a closed thread, but it does seem to be the only applicable issue..

I've been running the nightly updates on my Acer chromebook 14 Edgar for about a week now, and I thought it worthwhile to mention that one time, while in Galliumos 4.9.4, I experienced the speakers producing a squelching/distortion/static noise while not playing any audio. A reboot got this noise to subside, and the speakers appear to still be ok when subsequently playing audio, but I have taken to leaving them muted whenever they're not in use (not sure if that'll actually help) for fear of hardware failure. I understand issues arising during the boot sequence before Gallium is running, but this one got me a little worried. Anything I can do to assist testing @reynhout ?

@reynhout
Member
reynhout commented Feb 6, 2017

Re: headphone jack detection: Please update to galliumos-braswell 2.0.5 and reboot. This ticket is closed, so please post any related comments to ticket #318.

@reynhout
Member
reynhout commented Feb 6, 2017

@chharris88 Thanks for the info. Noise is not necessarily indicative of a problem state (aside from the existence of the noise itself), but the problem state does sometimes make noise. Not very insightful, I realize, but that's all we know at this point.

Unfortunately, the only way we'll know for certain is if we hear a report of speaker damage in a fully updated OS. If there have been no reports for a long enough time, we can probably guess that the additional init helps.

And again, the pre-boot window of risk will always exist (unless Google updates ChromeOS firmware to resolve).

@tjyrinki
tjyrinki commented Feb 8, 2017

There is a suggested fix to enabling sound on CYAN at https://bugzilla.kernel.org/show_bug.cgi?id=151521 now.

As another note it's been a long time but some may be interested in that Ubuntu kernels now finally have "Fix Committed" to re-enable touch screen and internal keyboard like GalliumOS has had for a long time. The fix should be published to 16.04, 16.10 and 17.04 in the next kernel updates. https://launchpad.net/bugs/1630238 for more information. I filed the bug in October when it regressed after having worked for some time.

@reynhout
Member
reynhout commented Feb 8, 2017

@tjyrinki Thanks for the links, I will test the CYAN patch. @mildred has posted on this thread a few months ago, so I'll update here (on ticket #317), and on bugzilla.kernel.org with any news.

I haven't been able to find the patch which fixes the second issue. And I'm curious to see how they avoided the bug in 4.9 which broke keyboard/touchpad/touchscreen all over again. I'd like to merge an upstream patch instead of maintaining our own, if possible.

@hissingshark

@reynhout
With respect to Google applying a fix to the firmware - closing that window - have they actually been made aware of the issue/hazard? Is it under discussion?

@thatguy21212121

hallo nice people,

can someone please tell me which kernel version from " http://kernel.ubuntu.com/~kernel-ppa/mainline/ " I need to pick for the audio to start working? ( EDGAR - model )

thx

@reynhout
Member

@thatguy2121212 No mainline kernel versions will have working audio for Braswell, and as far as I know no other distro kernels will either. You need to either patch a kernel yourself, or use the GalliumOS kernel until the fixes are released in a mainline version.

This ticket is closed, but has many subscribers. I'm going to lock this thread to prevent future notifications. Further support questions should go to Reddit; issue reports to new GitHub tickets (but check for dupes first). Thank you!

@reynhout reynhout locked and limited conversation to collaborators Feb 18, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.