Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Does this work on any Libreboot supported ThinkPads? #1

Open
herbsmn opened this issue Aug 5, 2018 · 3 comments
Open

Does this work on any Libreboot supported ThinkPads? #1

herbsmn opened this issue Aug 5, 2018 · 3 comments

Comments

@herbsmn
Copy link

herbsmn commented Aug 5, 2018

Your description of what Thinkpads this works on is pretty vague. Does this work on any Libreboot supported ThinkPads, by chance?

@ypid
Copy link

ypid commented Aug 6, 2018

Partly answered in hamishcoleman/thinkpad-ec#32 (comment).

@herbsmn
Copy link
Author

herbsmn commented Aug 20, 2018

Ok, I found out that my Librebooted Thinkpad has an H8S. I want to liberate the EC.

Libreboot.org says that this EC software is "not ready yet". https://libreboot.org/faq.html#what-other-firmware-exists-outside-of-libreboot

Would I mess something up if I tried flashing it onto my device? Are there still things that need worked on?

I can't understand the directions very well: "At the moment the only possible way to flash this firmware is using the ROM loader. To access the ROM loader you must change solder several pins to enter it. Pins: P90, P91, P92, mode0, mode1"

What does it mean to "change solder" these pins?

I just found these write ups, but didn't find the answers there either: https://blogs.coreboot.org/blog/tag/h8s/ Sorry if I'm missing something obvious.

@mikini
Copy link

mikini commented Jun 5, 2019

@herbsmn I think the first post in the coreboot series and the article link from there explains it somewhat comprehensible.

The procedure involves putting the MCU into a special mode in which a bootloader that can receive a new program through its serial port is started instead of the currently flashed application program. This mode is chosen by applying a special voltage pattern to some of the input pins. You'll also obviously need access to the uart (RX/TX pins) to be able to download the program when the mode is right and reset to be able to reset the MCU.
Accessing these pins involves identifying and soldering a wire to each of these signals on pads of the motherboard. The schematic of the hardware will obviously help in this process, the MCU pinout is definitely needed. Some info about the MCU seems to be at thinkwiki.

The MCU setup in the description seems to differ between T40 and T42, unless the T40 post is just earlier and less complete than the T42 one. The repository itself only mention T40 in the code, so I guess everything beyond that is experimental. But I'll assume that Thinkpads using this MCU are very similar.

The main loop according to structure and comments allegedly doesn't do much more than flip some leds, dumps 96 bytes of memory, sets up two DACs, powerup the board and fan by setting a few outputs, initialises the serial port and dives into a loop echoing whatever is written to the serial port back out while dumping SCR_1 and SSR_1 registers (serial status and control registers). Interrupt service routines seem only to be defined for the debug serial port (SCI_1). No active fan, battery or keyboard control seems to be implemented.

There are some old threads at thinkpads.com about replacing/patching the EC. Haven't read through it all.

I have an X200 Tablet which I need to dismantle and solder to flash LibreBoot before considering diving into the EC. But hope this helps someone ;).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants