Realistic expectations for KANO / Acer Chromebook Spin 714 2003 / CP714-2W-5612

I deliberately bought this one because it had great specs for a great sale price, even though I wasn’t sure about the Linux support. It’s a KANO, but not the particular model listed on either MrChromebox’s or the chrultrabook’s supported devices pages (CP714-1WN). But I figured that MrChromebox’s firmware would work, since he says all that matters is the board name. I found chrultrabook’s docs, made myself a SuzyQ cable, and successfully disabled write protect. I installed his full UEFI/edk2 and that does in fact work fine. I installed Debian 12 Bookworm. Now it gets harder.

I tried the three post-install recommendations from the chrultrabook docs here, and only the keyboard fix works. The audio fix and the usb-c fix do not. I have other wish-list items, but I wonder whether, or how hard, I should keep trying to get any of them to work. Maybe I could push to get these individual items working on Debian. Maybe I could install other distributions in the hope that one of them would work better.

  1. F-keys DONE
  2. USB-C (fix doesn’t work)
  3. audio (fix doesn’t work)
  4. external monitor via HDMI (currently a lot of tearing)
  5. turn off the keyboard when its flipped into tablet mode
  6. turn off or dim the keyboard backlight
  7. Bluetooth (haven’t even tried)
  8. ectools (app doesn’t run)
  9. Chrultrabook-Tools (appimage doesn’t run)

The machine is functional as is, and I like it a lot. It’s now my most powerful Linux machine. Please let me know how much more you think I could realistically get from it…

When running the audio script, try with ./setup-audio --branch sof-nau8825

On Redrix (also brya) USB-C USB devices hotplugging works on NixOS OOTB and on other distros with the fix. What exact error do you get for the USB-C fix?

Can you also post the error you’re getting when trying to run ectool?

@deb714:~/Documents/chromebook-linux-audio$ ./setup-audio --branch sof-nau8825 2>&1 | tee setup-audio.log.003
WARNING: You may run into audio issues, even after running this script. Please report any issues on github.
Installing SOF
Installing UCM configuration
Cloning into ‘/tmp/chromebook-ucm-conf’…
Increasing alsa headroom (fixes instability)
Audio installed successfully! Reboot to finish setup.

I rebooted, and got audio! Thank you very much.

Thanks for testing, I’ve added that fix to the main branch now so everyone can use it normally.

I found out about ectool from the FAQ, here:

Which pointed to the ectool file at tree123 dot org, here

When I download it, and make it executable, and I try to run that file, I get:

@deb714:~/Downloads$ ./ectool
./ectool: error while loading shared libraries: libftdi1.so.2: cannot open shared object file: No such file or directory

Another question, aside from the wish-list…

I think the audio fix installed this kernel:

@deb714:~/Documents/714$ uname -a
Linux deb714 6.6.10-chrultrabook #1 SMP PREEMPT_DYNAMIC Tue Jan 9 04:03:43 UTC 2024 x86_64 GNU/Linux

Now, sudo apt update && sudo apt full-upgrade is offering me this update:

The following NEW packages will be installed:
linux-image-6.1.0-20-amd64
The following packages will be upgraded:
linux-image-amd64 linux-libc-dev

This update would be a good thing or a bad thing? If a bad thing, how do I suppress any such replacement of the special kernel with a a stock kernel?

Regarding the usb-c fix failing:

I created a file called chromebook-usbc.service in /etc/systemd/system/

[Unit]
Description=Enable USB-C on chromebook

[Service]
Type=oneshot
RemainAfterExit=yes
ExecStartPre=/sbin/modprobe -r -a cros-ec-typec intel-pmc-mux
ExecStart=/sbin/modprobe -a intel-pmc-mux cros-ec-typec

[Install]
WantedBy=multi-user.target

I tried to enable it, but that failed:

xyz@deb714:/etc/systemd/system$ sudo systemctl enable --now chromebook-usbc.service
Job for chromebook-usbc.service failed because the control process exited with error code.
See “systemctl status chromebook-usbc.service” and “journalctl -xeu chromebook-usbc.service” for details.

The recommended steps to get more detail yielded the following:

xyz@deb714:~$ systemctl status chromebook-usbc.service
× chromebook-usbc.service - Enable USB-C on chromebook
Loaded: loaded (/etc/systemd/system/chromebook-usbc.service; enabled; preset: enabled)
Active: failed (Result: exit-code) since Fri 2024-04-05 15:24:31 CDT; 2min 23s ago
Process: 1942 ExecStartPre=/sbin/modprobe -r -a cros-ec-typec intel-pmc-mux (code=exited, status=1/FAILURE)
CPU: 7ms

sudo journalctl -xeu chromebook-usbc.service
Apr 05 15:24:31 deb714 systemd[1]: Starting chromebook-usbc.service - Enable USB-C on chromebook…
░░ Subject: A start job for unit chromebook-usbc.service has begun execution
░░ Defined-By: systemd
░░ Support: Debian -- User Support
░░
░░ A start job for unit chromebook-usbc.service has begun execution.
░░
░░ The job identifier is 1981.
Apr 05 15:24:31 deb714 modprobe[1942]: modprobe: WARNING: Module intel_pmc_mux is in use.
Apr 05 15:24:31 deb714 systemd[1]: chromebook-usbc.service: Control process exited, code=exited, status=1/FAILURE
░░ Subject: Unit process exited
░░ Defined-By: systemd
░░ Support: Debian -- User Support
░░
░░ An ExecStartPre= process belonging to unit chromebook-usbc.service has exited.
░░
░░ The process’ exit code is ‘exited’ and its exit status is 1.
Apr 05 15:24:31 deb714 systemd[1]: chromebook-usbc.service: Failed with result ‘exit-code’.
░░ Subject: Unit failed
░░ Defined-By: systemd
░░ Support: Debian -- User Support
░░
░░ The unit chromebook-usbc.service has entered the ‘failed’ state with result ‘exit-code’.
Apr 05 15:24:31 deb714 systemd[1]: Failed to start chromebook-usbc.service - Enable USB-C on chromebook.
░░ Subject: A start job for unit chromebook-usbc.service has failed
░░ Defined-By: systemd
░░ Support: Debian -- User Support
░░
░░ A start job for unit chromebook-usbc.service has finished with a failure.
░░
░░ The job identifier is 1981 and the job result is failed.

sudo apt install libftdi1

1 Like

Make sure that the left/right audio is also working. :slightly_smiling_face:

I did so, and still get an error:

@deb714:~/Downloads$ ./ectool
./ectool: error while loading shared libraries: libftdi1.so.2: cannot open shared object file: No such file or directory

Yes, left and right both work. An online audio tests shows no problems at all.

You need to also install libftdi-dev

@deb714:~$ sudo apt install libftdi-dev
Reading package lists… Done
Building dependency tree… Done
Reading state information… Done
The following additional packages will be installed:
libusb-dev
The following NEW packages will be installed:
libftdi-dev libusb-dev
0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded.
Need to get 222 kB of archives.
After this operation, 2,250 kB of additional disk space will be used.
Do you want to continue? [Y/n]
Get:1 Index of /debian bookworm/main amd64 libusb-dev amd64 2:0.1.12-32 [37.9 kB]
Get:2 Index of /debian bookworm/main amd64 libftdi-dev amd64 0.20-4+b1 [184 kB]
Fetched 222 kB in 0s (1,227 kB/s)
Selecting previously unselected package libusb-dev.
(Reading database … 142134 files and directories currently installed.)
Preparing to unpack …/libusb-dev_2%3a0.1.12-32_amd64.deb …
Unpacking libusb-dev (2:0.1.12-32) …
Selecting previously unselected package libftdi-dev.
Preparing to unpack …/libftdi-dev_0.20-4+b1_amd64.deb …
Unpacking libftdi-dev (0.20-4+b1) …
Setting up libusb-dev (2:0.1.12-32) …
Setting up libftdi-dev (0.20-4+b1) …
Processing triggers for man-db (2.11.2-2) …
@deb714:~$ cd ./Downloads/
@deb714:~/Downloads$ ./ectool
./ectool: error while loading shared libraries: libftdi1.so.2: cannot open shared object file: No such file or directory

Apologies, that was not the issue. The issue is that Debian is fucking terrible at naming packages. The package you want to install is actually libftdi1-2. That will install version 1.5 of libftdi, instead of version 0.20

1 Like

To be clear, I shouldn’t install (or should purge) both of the following:

libftdi1
libftdi-dev

And, instead, I should install just the following:

libftdi1-2

ectool now runs, at least to the extent of getting the help output. I read all the help output and chose this to try:

@deb714:~/bin$ ectool pwmgetkblight
Error getting I/O privilege: Operation not permitted
Cannot find I2C adapter
Unable to establish host communication
Couldn’t find EC

?

Oh, tried sudo and it worked better:

@deb714:~/bin$ sudo ectool pwmgetkblight
Keyboard backlight disabled.

(although the keyboard backlight seems to be on…)

I’ve tried these:

@deb714:~/bin$ cat ectool.tried.txt
sudo ectool battery
sudo ectool chipinfo
sudo ectool hello
sudo ectool inventory > ectool.inventory.txt
sudo ectool pwmgetfanrpm
sudo ectool pwmgetkblight
sudo ectool switches
sudo ectool tpselftest
sudo ectool usbpdpower
sudo ectool version

There are so many more options, most of which I have zero knowledge of. I’ve been handed the keys to some giant piece of equipment, and I’m likely to run over something.