Flash log, unbricking, Cr50, CCD, SuzyQ: Lenovo Flex 3 BOTENFLEX

I am about to get a pretty cheap Flex 3.

I already have a Novacustom coreboot Laptop and a phone, so I needed an excuse for getting another one.

This should be a mix between form factor (11,6in) and long battery life, but Laptop capabilities.

I plan on flashing MrChromebox firmware on that, but yesterday saw the presentation by the FyraLabs people about running Linux on stock firmware.

Even though I would feel safer with full coreboot, I imagine stock firmware would be unproblematic and more stable, with better hardware support… and no risk of bricking. unless your input devices dont work at all and you are f-ed.

I also just found FydeOS (openFyde is FOSS but has no Android support) which is an advanced ChromiumOS.

This sounds really nice, but I have no idea how to get Software on there? Portage packaging into a custom image?

I alread wrote in their forum, if they need full Coreboot or if it also runs on stock firmware.

except for the parts where the stock firmware uses ChromeOS-specific ACPI extensions not used in the mainline kernel, and your input devices don’t work as a result. And you’re stuck in developer mode.

the stock firmware is not more stable and does not have better hardware support. It’s designed first and foremost to work with a specific build of ChromeOS, and as such, takes no consideration as to how well a mainline kernel/distro will run.

1 Like

Thanks this makes a lot of sense! The Fyralabs guys should warn for this.

In that case, I will flash coreboot onto the device.

Thanks for the reply and your great work!

some devices have more sane stock firmware than others. YMMV.

1 Like

I saw nowhere documented how to backup the stock firmware. I would like to do that and could share it too.

WP is gone!

the script backs it up for you to USB when flashing. You can also back up with flashrom

sharing isn’t a great idea as the serial # and HWID are specific to that device. Someone else could use your serial to register a device as managed and then if you went back to ChromeOS, your device would be locked/managed.

1 Like

Oh thanks! So I just need to plug in a thumbdrive? Fat32 or other requirements?

This could be better documented, as there are multiple “restore from a local backup” notices but no guide on how to do this.

i can help with this, once I find out how.

Pressing “2” is pretty scary, so this is great news.

the script documentation details what it does and what’s required - yes, FAT32 formatted USB stick with a single partition (or at least the first partition is FAT32 and has room for the firmware backup)

1 Like

Thanks the script is great, really, thats art!

Went really well. Could you backup the rom and then quit the process? This would be even safer I think.

I will look at the script, this could be an advantage for reliability. I am not sure what the fallback method is when there is no suitable USB storage device found

Sorry, annoying you one more (last?) Time.

I backed up the rom, and proceeded with the flashing.

Power cable (thinkpad USB-C PD cable) connected, the “remove thumbdrive and press enter” step was skipped, probably a timeout.

I pulled out the thumbdrive while it was flashing, the rom looks good? 16,78 MB

After flashing, it threw me back to the start screen, pressed “r” to reboot.

Waited a few minutes like 4 or so, nothing happened. Pressed a few keys, nothing happened, then pressed the power button shortly.

It probably turned off, pressed it again, it came back into that state, screen lit but black (LCD) and nothing happens.

I left it in that state for now, connected to AC, will check this afternoon again.

Is this a typical occurrence? Is there no splash screen? Would I need to inserte a UEFI-compatible thumbdrive with some Linux ISO to make it display anything?

i will do that this afternoon, some Fedora variant.

Thanks a lot!

try a hard reset (Refresh+Power), otherwise there may have been a problem flashing or something wrong with the image and you’ll need to reflash using a SuzyQ cable

1 Like

Thanks, I will hope for the best.

Would a CH431a work too?

only if the board has a SOIC-8 flash chip that is clippable

1 Like

Ok, a reset didnt work. The Chromebook was really warm and still on.

I turned it off, removed the battery, pressed the power button a couple of times, plugged the battery back in, no change.

a SuzyQable works in this state? I thought you needed a working device for that, to change USB settings, at least on Android…

so, at least in the original firmware, hardware and software write protect was off. developer mode on of course.

I will check the docs

works in any state, other than on a managed/locked device. there is nothing to enable it on the device itself

1 Like

Thanks. Will try to build one, as it is not available anywhere.

I could use this to get firmware logs too, right? Try to debug the issue, maybe it is installed but fails at some point.

Does Esc do anything in the firmware? Displaying logs like on Linux?

they’re available, $10 on ebay.

with a debug build, can get serial logs and hopefully determine the issue.

there is no screen/console logging of the firmware boot process

1 Like

very nice! lots of shipping fees but worth it.

reviews say it is the correct one, am I right?

yes

1 Like

okay, the cables arrived!

I will now try to reflash the firmware image manually

Before I would like to catch some logs when turning the device on, as this is possibly a firmware bug, or something with the EC (after turning on, the device stays on forever and gets pretty hot)

I stumbled upon instructions how to get a “shellball” which confused me a bit. Some old blog post explains how to extract one from a recovery firmware image, as the normal download link didnt work.

I dont know what a shellball is and if it is really needed :slight_smile:

I should have all the other needed stuff like the latest firmware image and flashrom installed on my device.

I also didnt specifically enable any CCD debugging (obviously, as this was supported to be a software flash XD) , but the firmware is hardware and software unlocked, and lsusb shows the cr50 connected.

I appreciate any guidance to documentation but will try to find the things myself