Skip to content
This repository has been archived by the owner on Apr 17, 2024. It is now read-only.

Incompatible Hardware: Lenovo ThinkPad C13 Yoga Chromebook (MORPHIUS) - 2020 model #12

Closed
ChrisTitusTech opened this issue Dec 21, 2021 · 31 comments
Labels
help wanted Extra attention is needed

Comments

@ChrisTitusTech
Copy link

Tried various USB installs (debian/ubuntu) cli and upon pressing Ctrl+U to boot from the usb results only in a black screen. USB device does blink with activity for 10-30 seconds before nothing happens.

Troubleshooting steps tried:

  • Multiple usb drives
  • Debian CLI and Ubuntu CLI tried

Chromebook is in developer mode and from shell I did sudo crossystem dev_boot_usb=1; sudo crossystem dev_boot_signed_only=0; sync

Not sure what else I can try to proceed.

@jthompson05
Copy link

Hey Chris! are you planning to make a video on this project? That would be epic!

@ChrisTitusTech
Copy link
Author

Yeah, checking out all the different ways to bypass ChromeOS's janky firmware. I hate it.

Breath looks amazing, currently I'm using coreboot from mrchromebox firmware to get around it.

@MilkyDeveloper
Copy link
Collaborator

Are you using Mr. Chromebox's firmware with this project? This only works with stock dev mode ChromeOS firmware.

@MilkyDeveloper
Copy link
Collaborator

I've just noticed you have an AMD Chromebook. I don't have any AMD chromebooks to test on, but I'll still try to get it working :D

@MilkyDeveloper MilkyDeveloper added the help wanted Extra attention is needed label Dec 21, 2021
@ChrisTitusTech
Copy link
Author

Thanks Milky I'm sure the Ryzen firmware is causing this. Its a lot different than the intel chromebooks, but also more powerful.
Using the bypass and install stock linux using the chromebox coreboot firmware method has some strange results. The touch screen with rotation is all over the place and sound of course is a sore spot as well.
Touchpad and other features do work. The only other thing I see is the standby states are pretty jacked and will need to be tweaked to work with stock linux.

@ChrisTitusTech
Copy link
Author

I think breath would be a much better solution. I'm going to revert everything to stock with dev mode. I'll keep going with a linux container, but let me know if you need a lspci or any readouts from this system.

@MilkyDeveloper
Copy link
Collaborator

I think it should be fixed now, I compiled in amdgpu drivers. Update the git repo (git fetch; git pull), plug in a USB, and run:

bash updatekernel.sh

Let me know if it works (since I don't have an AMD chromebook)!

@ChrisTitusTech
Copy link
Author

updated the usb drive with bash updatekernel.sh and then tried again with Ctrl U at startup. Still just getting a black screen

I did do a fresh clone on a new drive to see if that changed anything, but alas still just a black screen. Darn those AMD drivers... I think it could also be the touchscreen as well. It's one of those Lenovo screens that can do a full 360 degree swap to "tablet mode"

@MilkyDeveloper
Copy link
Collaborator

Should be fixed now since I modularized AMDGPU, giving it firmware access. Try running bash updatekernel.sh on your Linux PC (not your chromebook).

@ChrisTitusTech
Copy link
Author

YOU ARE THE MAN! ... Worked like a champ.

@MilkyDeveloper
Copy link
Collaborator

Just wondering, could you try making a video over this :D? I think if this project had a bit more exposure I could get more contributors and testers for more chromebooks supported. Thanks!

@MilkyDeveloper
Copy link
Collaborator

I recently also got audio working on AMD Chromebooks (#24) :D

@ChrisTitusTech
Copy link
Author

Awesome! Yeah, I'm definitely going to make a video on it. The biggest issue I'm having now is getting it moved from USB to internal storage. The bin/internal-storage script isn't working for me. Sooo close to building it into a sweet little linux laptop.

@MilkyDeveloper
Copy link
Collaborator

I've just now fixed the install to internal storage script, just run:

sudo wget https://raw.githubusercontent.com/MilkyDeveloper/cb-linux/main/bin/install-to-internal-storage -O /usr/local/bin/install-to-internal-storage

and then

sudo chmod +x /usr/local/bin/install-to-internal-storage

Although I don't have an AMD Chromebook, i've had users report that running my sof-setup-audio script works. Since you've installed it earlier than when I released it, you could run:

sudo wget https://raw.githubusercontent.com/MilkyDeveloper/cb-linux/main/bin/sof-setup-audio -O /usr/local/bin/sof-setup-audio

and then

sudo chmod +x /usr/local/bin/sof-setup-audio

@ChrisTitusTech
Copy link
Author

This worked absolutely perfectly on the internal storage. Much faster than usb as my chromebook has an nvme.

Running like a dream. Now to build out my system. I can't wait to see the FPS difference in steam games.

@jthompson05
Copy link

That's awesome! Do you think I would see a performance increase using the internal storage over my 32gig MicroSD card? I have 64GB of eMMC storage.

@MilkyDeveloper
Copy link
Collaborator

Yes, I experienced a performance boost when installing from a common Sandisk SD Card to my EMMC.

@ChrisTitusTech
Copy link
Author

Few things I'm noticing with Debian.
using sof-setup-audio the audio doesn't work. It's looking for alsa-base package which doesn't exist in debian
Another notable thing I haven't figure out is re-mapping the "chrome keys" at the top of the keyboard to F-Keys or something else.
I'd say these are the last things from keeping it from being complete for me.

@MilkyDeveloper
Copy link
Collaborator

I've fixed the sof-setup-audio script:

sudo wget https://raw.githubusercontent.com/MilkyDeveloper/cb-linux/main/bin/sof-setup-audio -O /usr/local/bin/sof-setup-audio

and then

sudo chmod +x /usr/local/bin/sof-setup-audio

As for the keymappings, it might take me some time to implement this. I don't want something that depends on X11, but I need to support X11, Wayland, and the TTY.

@ChrisTitusTech
Copy link
Author

Still having issues with sound. Looks like it might be an AMD issue as I'm not seeing a driver for any of my audio or multimedia outputs of lspci -kk.
Here is my an abridged output. Getting a kernel module loaded for my sound is my first step.
2021-12-30_16-43

@ChrisTitusTech
Copy link
Author

Here is the kernel driver readout
2021-12-30_17-39
.

@MilkyDeveloper
Copy link
Collaborator

A good starting place would be modprobing sof-pci and sof-pci. Why don't you post the output of lsmod within the ChromeOS shell (not Crostini) to find out which modules are needed?

@ChrisTitusTech
Copy link
Author

I wiped out all my ChromeOS and installed it to internal storage.
Here is my lsmod output:

Module                  Size  Used by
cdc_ether              16384  0
usbnet                 45056  1 cdc_ether
r8152                 122880  0
mii                    16384  2 usbnet,r8152
btusb                  53248  0
btrtl                  24576  1 btusb
btbcm                  20480  1 btusb
btintel                45056  1 btusb
bluetooth             630784  5 btrtl,btintel,btbcm,btusb
ecdh_generic           16384  1 bluetooth
ecc                    36864  1 ecdh_generic
amdgpu               6221824  13
snd_hda_codec_hdmi     65536  0
crc32c_intel           24576  0
joydev                 24576  0
rtw88_8822ce           16384  0
rtw88_8822c           475136  1 rtw88_8822ce
cros_ec_sensorhub      61440  0
rtw88_pci              28672  1 rtw88_8822ce
snd_hda_intel          49152  0
snd_intel_dspcfg       24576  1 snd_hda_intel
drm_ttm_helper         16384  1 amdgpu
snd_hda_codec         163840  2 snd_hda_codec_hdmi,snd_hda_intel
gpu_sched              45056  1 amdgpu
rtw88_core            172032  2 rtw88_pci,rtw88_8822c
snd_hwdep              16384  1 snd_hda_codec
i2c_piix4              24576  0
snd_hda_core          106496  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_soc_rt5682_i2c     16384  0
snd_soc_rt5682         86016  1 snd_soc_rt5682_i2c
acpi_als               16384  1
snd_soc_rl6231         16384  1 snd_soc_rt5682
industrialio_triggered_buffer    16384  1 acpi_als
kfifo_buf              16384  1 industrialio_triggered_buffer
industrialio           86016  3 industrialio_triggered_buffer,acpi_als,kfifo_buf
snd_soc_max98357a      16384  0
iwlmvm                401408  0
iwlwifi               376832  1 iwlmvm
fuse                  143360  3

@MilkyDeveloper
Copy link
Collaborator

I'd start by running modprobe snd_sof_pci snd_sof_pci_dev snd_sof_intel_hda_common

@ChrisTitusTech
Copy link
Author

Modprobe was successful run on snd_sof_pci and snd_sof_intel_hda_common
Modprobe did not find snd_sof_pci_dev

No effect before or after reboot aplay -l still lists no soundcards found.

I'm thinking the hardware might be too new for the 5.10 kernel.

@ChrisTitusTech
Copy link
Author

Then again, I do recall in the latest ChromeOS update 98 dev build... sound in the linux containers started working where in prior builds it did not.

@MilkyDeveloper
Copy link
Collaborator

Could you post the dmesg? Might be something about firmware.

@ChrisTitusTech
Copy link
Author

This is my dmesg output:
dmesg.txt

@ChrisTitusTech
Copy link
Author

Looks like the card is now recognized and even shows in aplay -l however no sound.

I did loadup alsamixer and it showed the sound and I was able to adjust volumes, but again no actual sound came from the speakers.

@MilkyDeveloper
Copy link
Collaborator

MilkyDeveloper commented Mar 16, 2022

Looks like this was a kernel issue. Maybe retrying the latest release from the docs would work? The kernel has been updated a lot since I last made progress on this issue.

@runcros
Copy link
Member

runcros commented Jul 18, 2022

Closing this old issue. Reopen @ChrisTitusTech if needed.

@runcros runcros closed this as completed Jul 18, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
help wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

4 participants