Take a look at our
ThinkPads.com HOME PAGE
For those who might want to contribute to the blog, start here: Editors Alley Topic
Then contact Bill with a Private Message

Installing classic keyboard into X230 with EC firmware mod

X230-X280, X390 Series
Message
Author
derick
Posts: 37
Joined: Fri Feb 01, 2008 7:33 am
Location: Michalovce, Slovakia
Contact:

Re: Installing classic keyboard into X230 with EC firmware mod

#211 Post by derick » Thu Sep 29, 2016 8:41 am

Perfect, all is OK now, many thanks.
One question: For flashing another X230t, can be used the same flashdisk, or need create a new one, on next machine?
in use: T520, T431s, X230T, x61s (pinmod), x200s, x300 (pinmod), X220T
Past: 380x 600e, 240x, A22m, T20, x30, T30, T40, x41, x41T, T60, T61, T400, T500, R500, x60s, x61, x200T, x201T, T420, T430, X230i, X220i

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#212 Post by hamish » Thu Sep 29, 2016 8:59 pm

derick wrote:Perfect, all is OK now, many thanks.
One question: For flashing another X230t, can be used the same flashdisk, or need create a new one, on next machine?
You can just keep using the same flashdisk

Tasurinchi
Moderator
Moderator
Posts: 2156
Joined: Mon Aug 17, 2009 8:38 am
Location: Zurich, Switzerland

Re: Installing classic keyboard into X230 with EC firmware mod

#213 Post by Tasurinchi » Mon Oct 10, 2016 2:58 pm

Me again with issues :oops:

I'm trying a patch in a T430, following the instructions from here: https://github.com/hamishcoleman/thinkp ... ter/README (adapting the steps to my T430)

Everything apparently works fine, when booting via USB drive the message pops up, it boots and patch the BIOS, but after that the 7 row keyboard doesn't work (the same one working fine in my X230). What I noticed is if I test the image using:

Code: Select all

make patched.t430.img test
I get (among a lot of extra text) the following:

Code: Select all

echo Built: 2f49d711d520575ff9079d74c64ef495850a9818  t430.G1HT35WW.s01D2000.FL2
However, if I boot again from my USB drive and press Ctrl+C before flashing, I only find the directory G1ETB0WW. Does this make any sense...?

I repeated the process at least three times with no success (furthermore, the USB drive cannot be mounted or formatted anymore, neither in Linux nor in Win10)

My T430 has 8GB RAM, a Quad CPU and a modded FHD Panel, can be any of those components the culprit?

Thanks guys in advance for the help!
IBM Convertible 5140/L40SX/220/240/240X/2*340CSE/360PE/365XD/380D/380E/380XD/380Z/390/560E/560X/2*570/2*600/600E/750Cs/755C/760CD/760EL/760XD/770E
A20p/A22p/A31/i1600/G40/R50p/R61i/S30/SL510/2*T22/4*T4x/11*T6x/6*T40x/6*T5x0/3*W5x0/W700/3*X2x/4*X3x/3*X4x/5*X6x/3*X6xT/12*X2xx/4*X30x/Z60m/3*Z61x

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#214 Post by hamish » Tue Oct 11, 2016 8:40 pm

Tasurinchi wrote: What I noticed is if I test the image using:

Code: Select all

make patched.t430.img test
I get (among a lot of extra text) the following:

Code: Select all

echo Built: 2f49d711d520575ff9079d74c64ef495850a9818  t430.G1HT35WW.s01D2000.FL2
However, if I boot again from my USB drive and press Ctrl+C before flashing, I only find the directory G1ETB0WW. Does this make any sense...?
Your "Built" string looks fine to me - the filename in that string is constructed from the Lenovo EC version number. The directory you are seeing is the Lenovo BIOS version number - and it should contain the $01D2000.FL2 file which is patched by this build. Also important is that the sha1sum you got matches what I got here - so the file was patched OK.

From the steps you describe, It sounds like what we would expect if the firmware is being flashed to the EC, so I dont really know why that would not be actually happening.

The only thing that occurs to me is that your BIOS version might be out of date - there is a lot of leeway in which BIOS and EC versions will match with each other, but if they do not match then strange things can happen (and Lenovo doesnt document which versions match) - So, if your BIOS version is significantly older than the G1ETB0WW version then perhaps try upgrading it (that version is simply the one that this EC firmware version was originally bundled with, before we patched it)
Tasurinchi wrote: I repeated the process at least three times with no success (furthermore, the USB drive cannot be mounted or formatted anymore, neither in Linux nor in Win10)
Could the USB drive have been corrupting its storage before it got to this point? - Though, I would have expected an error message from something. There are checksums that both the BIOS and EC check before allowing the flashing to complete.
Tasurinchi wrote: My T430 has 8GB RAM, a Quad CPU and a modded FHD Panel, can be any of those components the culprit?
None of that should affect the embedded controller, so you should be fine there.

Tasurinchi
Moderator
Moderator
Posts: 2156
Joined: Mon Aug 17, 2009 8:38 am
Location: Zurich, Switzerland

Re: Installing classic keyboard into X230 with EC firmware mod

#215 Post by Tasurinchi » Wed Oct 12, 2016 1:22 am

Thanks for looking into this! :thumbs-UP:
hamish wrote:The only thing that occurs to me is that your BIOS version might be out of date
I will check again tonight, but from memory I think my BIOS is v2.62.

Any restriction regarding which BIOS version to upgrade?

I recall that the command "make list_iso" also shows one extra T430 patch, I think it was for v2.65 with no KB patch or something similar ... A pity I don't have my T430 here at work :|
IBM Convertible 5140/L40SX/220/240/240X/2*340CSE/360PE/365XD/380D/380E/380XD/380Z/390/560E/560X/2*570/2*600/600E/750Cs/755C/760CD/760EL/760XD/770E
A20p/A22p/A31/i1600/G40/R50p/R61i/S30/SL510/2*T22/4*T4x/11*T6x/6*T40x/6*T5x0/3*W5x0/W700/3*X2x/4*X3x/3*X4x/5*X6x/3*X6xT/12*X2xx/4*X30x/Z60m/3*Z61x

Tasurinchi
Moderator
Moderator
Posts: 2156
Joined: Mon Aug 17, 2009 8:38 am
Location: Zurich, Switzerland

Re: Installing classic keyboard into X230 with EC firmware mod

#216 Post by Tasurinchi » Thu Oct 13, 2016 1:54 pm

What a dumb moment I had :oops: :roll: :oops: :oops:

I'm building this T430, so I don't have all parts, no LCD bezel, no palmrest, no LED card...

... and no battery ... :banghead:

Now I got one to do the BIOS update and even before the update even started I see the EC flashing the last bits and bytes of code. Of course now everything works... Geez, some days I should just stay in bed...
IBM Convertible 5140/L40SX/220/240/240X/2*340CSE/360PE/365XD/380D/380E/380XD/380Z/390/560E/560X/2*570/2*600/600E/750Cs/755C/760CD/760EL/760XD/770E
A20p/A22p/A31/i1600/G40/R50p/R61i/S30/SL510/2*T22/4*T4x/11*T6x/6*T40x/6*T5x0/3*W5x0/W700/3*X2x/4*X3x/3*X4x/5*X6x/3*X6xT/12*X2xx/4*X30x/Z60m/3*Z61x

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#217 Post by hamish » Sat Oct 15, 2016 11:04 pm

Tasurinchi wrote:
I'm building this T430, so I don't have all parts, no LCD bezel, no palmrest, no LED card...

... and no battery ... :banghead:

Now I got one to do the BIOS update and even before the update even started I see the EC flashing the last bits and bytes of code. Of course now everything works... Geez, some days I should just stay in bed...
Hey, thats good news!

I dont think it is that dumb either - its not like we have a detailed list of steps from Lenovo that are guaranteed to work - I'll add a note about batteries to the readme though..

RealBlackStuff
Admin Emeritus
Admin Emeritus
Posts: 23812
Joined: Mon Sep 18, 2006 5:17 am
Location: Loch Garman, Éire

Re: Installing classic keyboard into X230 with EC firmware mod

#218 Post by RealBlackStuff » Sun Oct 16, 2016 7:14 am

For those of you who like to have W7 on their X230, I found this Slic patch:
TRANSLATED (by Google) FROM CHINESE:
Thinkpad x230 slic 2.1 problem
Leave a reply

Thinkpad x230 front of me is a parallel, bios slic 2.1 there is no information, means you can not use the oem windows 7 system. Do 5,6 hours of research, and finally successfully activated.

1. Install lenovo oem version of windows 7 ultimate. Since no slic 2.1 bios and other relevant information, suggesting the need to activate within 3 days.
About 1.1 windows 7 ultimate production oem version in front of me have the relevant technology to record the message. For reference.

1.2 See bios slic slic toolkit can use the information and other tools. Attachment with slic toolkit v3.2.


2. We need to use some tool to modify the marker x230 bios, but before the marker can not be used. I use the success of the TP-G2 this.
G2 is designed for x230, if it is another model, the need for other bin file. TP-G2.rar compression bag has fl2.exe g2.bin and other documents.


3. fl2.exe not run on x64. So we need to make a 32 boot disk. I used HPDOS_Format this gadget.
This is a tool to format my flash disk, in the above made a dos boot disk. The tp-g2 unzip this on the disc.


4. restart the machine, so as to modify the boot from the flash disk into dos interface. Switch to tp-g2 directory, type
fl2.exe /w:g2.bin
Soon the modification is completed.


5. Go back to windows 7 interface, open the computer properties, see has been successfully activated.
With slic toolkit you can also see the related information slic.


http://nanzt.info/wp-content/uploads/2013/08/TP-G2.rar
http://nanzt.info/wp-content/uploads/20 ... t_V3.2.rar
http://nanzt.info/wp-content/uploads/20 ... Format.rar
Lovely day for a Guinness! (The Real Black Stuff)
Lenovo: X240, X250, T440p, T480, M900 Tiny.

PS: the old Boardroom website is still available on the Wayback Machine
.

Radioguy
ThinkPadder
ThinkPadder
Posts: 1124
Joined: Fri Feb 29, 2008 2:45 pm
Location: New York, New Yorrrrrk

Re: Installing classic keyboard into X230 with EC firmware mod

#219 Post by Radioguy » Mon Oct 17, 2016 12:22 pm

Is there a similar conceivable mod for the T460?
240, 380ED, 760C, 760CD, 760E, 760EL, 760LD, 760LD, 760XD, 760XD, A30, E520, G40, I1300, P53, R31, R40, R51, R52, R61, T20, T30, T40, T41, T42, T43, T43P, T60, T61, T400, T410, T420, T430, T460, X1C2, X30, X40, X220, X301 and on, and on, and on...

Botticelli
Posts: 11
Joined: Sun Jan 17, 2016 12:17 pm
Location: Haifa, Israel

Re: Installing classic keyboard into X230 with EC firmware mod

#220 Post by Botticelli » Mon Oct 17, 2016 6:25 pm

How do I undo this and flash the original BIOS?

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#221 Post by hamish » Tue Oct 18, 2016 4:58 am

Radioguy wrote:Is there a similar conceivable mod for the T460?
it is certainly conceivable - however, there are a number of hurdles that would need to be crossed - eg, the plastic top of the case would need to be hacked to fit the classic keyboard, a shim board would need to be built that adapts the classic connector to the new flexible printed circuit board and - probablly the most difficult - the EC firmware uses a different authentication method that would need to be reverse engineered.

I would love to work on this, but I cannot justify the price of a brand new laptop, just to have it in parts and cut up straight away....

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#222 Post by hamish » Tue Oct 18, 2016 5:04 am

Botticelli wrote:How do I undo this and flash the original BIOS?
Its pretty straight forward:
* To make an installer that reverts any EC changes, rename all the "*.patch"
  files in the subdirectory for your laptop so that they have "*.OFF"
  appended to them.  Ensure you start with a clean build ("make clean")
  Then build with the normal instructions.

Botticelli
Posts: 11
Joined: Sun Jan 17, 2016 12:17 pm
Location: Haifa, Israel

Re: Installing classic keyboard into X230 with EC firmware mod

#223 Post by Botticelli » Tue Oct 18, 2016 6:41 am

Thanks hamish. Was going to try just that, just wanted to make sure.

Botticelli
Posts: 11
Joined: Sun Jan 17, 2016 12:17 pm
Location: Haifa, Israel

Re: Installing classic keyboard into X230 with EC firmware mod

#224 Post by Botticelli » Tue Oct 18, 2016 11:55 am

How could I tell if the battery mod was flashed correctly on the T430s?
I have changed the "battery_validate.patch.OFF" to battery_validate.patch, did a "make" and tried flashing the BIOS again.
I have got a battery that probably is not genuine or faulty. After flashing the BIOS, the battery still will not charge and makes these error code blinks when connected to a charger. Is there a way to know if this is the battery or I need to do something else to flash the battery mod (The keyboard mod did work)? Thanks!

https://imgur.com/a/KUDxY

redbat
Posts: 4
Joined: Thu Jan 30, 2014 5:32 pm
Location: Santa Cruz, CA

Re: Installing classic keyboard into X230 with EC firmware mod

#225 Post by redbat » Wed Nov 02, 2016 11:50 pm

Ok, so I just tried this with my t430s and I've got a little problem. Hardware-wise, everything has gone well, but I've applied the patch and it doesn't seem to have taken. Still have to hit FN + Space for the ThinkLight, dim and brighten are FN+F8 & F9, etc.

I've double-checked the BIOS and EC version numbers and they look fine, and it seems as though the build went ok.

I ran it twice with no change.

I ran make clean patched.t430s.img and got this result:

Code: Select all

rm -f patched.*.iso patched.*.img *.FL2 *.FL2.orig *.img.enc \
            *.img.enc.orig *.img.orig *.bat \
            *.img
./slice.extract t430s.G7HT39WW.s01D8000.FL2.slice t430s.G7HT39WW.s01D8000.FL2.orig
+ dd status=none iflag=count_bytes,skip_bytes if=g7uj19us.iso.orig skip=3628544 count=16912384 of=t430s.G7HT39WW.s01D8000.FL2.orig
./slice.extract t430s.G7HT39WW.img.enc.slice t430s.G7HT39WW.img.enc.orig
+ dd status=none iflag=count_bytes,skip_bytes if=t430s.G7HT39WW.s01D8000.FL2.orig skip=5242880 count=196608 of=t430s.G7HT39WW.img.enc.orig
mec-tools/mec_encrypt -d t430s.G7HT39WW.img.enc.orig t430s.G7HT39WW.img.orig
sha1sum -c t430s.G7HT39WW.img.orig.sha1
t430s.G7HT39WW.img.orig: OK
cp --reflink=auto t430s.G7HT39WW.img.orig t430s.G7HT39WW.img
./hexpatch.pl t430s.G7HT39WW.img t430s.G7HT39WW.img.d/*.patch
Attempting to patch t430s.G7HT39WW.img
Applying t430s.G7HT39WW.img.d/001_keysym.patch -8529,11 +8529,11
Applying t430s.G7HT39WW.img.d/002_dead_keys.patch -8538,7 +8538,7
Applying t430s.G7HT39WW.img.d/003_keysym_replacements.patch -8516,8 +8516,8
Applying t430s.G7HT39WW.img.d/004_fn_keys.patch -8481,9 +8481,9
Applying t430s.G7HT39WW.img.d/005_fn_key_swap.patch -8481,7 +8481,7
./xx30.encrypt t430s.G7HT39WW.img t430s.G7HT39WW.img.enc
+ cd mec-tools
+ ./mec_repack ../t430s.G7HT39WW.img ../t430s.G7HT39WW.img.enc
building ../t430s.G7HT39WW.img.enc from ../t430s.G7HT39WW.img
6f164a14 6f164a14 OK
608fa3ee 608fa3ee OK
9c586114 9c586114 OK
daba6245 0719f62f FIXED
dde8 f6b7 FIXED
c324 b257 FIXED

reverifying
b257 b257 OK
f6b7 f6b7 OK
6f164a14 6f164a14 OK
608fa3ee 608fa3ee OK
9c586114 9c586114 OK
0719f62f 0719f62f OK
./slice.insert t430s.G7HT39WW.img.enc.slice t430s.G7HT39WW.img.enc t430s.G7HT39WW.s01D8000.FL2
+ cp --reflink=auto t430s.G7HT39WW.s01D8000.FL2.orig t430s.G7HT39WW.s01D8000.FL2
+ dd status=none conv=notrunc bs=5242880 seek=1 of=t430s.G7HT39WW.s01D8000.FL2
+ dd status=none if=t430s.G7HT39WW.img.enc bs=196608 count=1
sed -e "s%__DIR%`mdir -/ -b -i g7uj19us.iso.orig@@71680 |grep FL2 |cut -d/ -f3`%; s%__FL2%`mdir -/ -b -i g7uj19us.iso.orig@@71680 |grep FL2 |cut -d/ -f4`%; s%__DESC%`cat g7uj19us.iso.orig.desc`%; s/__BUILDINFO/v1-25-gdd39cb (20161102) clean patched.t430s.img/" autoexec.bat.template >g7uj19us.iso.bat.tmp
mv g7uj19us.iso.bat.tmp g7uj19us.iso.bat
touch -d @1 g7uj19us.iso.bat
./slice.insert t430s.G7HT39WW.s01D8000.FL2.slice t430s.G7HT39WW.s01D8000.FL2 g7uj19us.iso && sed -i "s/__BUILT/`sha1sum t430s.G7HT39WW.s01D8000.FL2`/" g7uj19us.iso.bat && mcopy -m -o -i g7uj19us.iso@@71680 g7uj19us.iso.bat ::AUTOEXEC.BAT && mdel -i g7uj19us.iso@@71680 ::EFI/Boot/BootX64.efi
+ cp --reflink=auto g7uj19us.iso.orig g7uj19us.iso
+ dd status=none if=t430s.G7HT39WW.s01D8000.FL2 bs=16912384 count=1
+ dd status=none conv=notrunc bs=3628544 seek=1 of=g7uj19us.iso
mv g7uj19us.iso patched.t430s.iso
mv g7uj19us.iso.bat patched.t430s.iso.bat


Your build has completed with the following details:
echo Buildinfo: v1-25-gdd39cb (20161102) clean patched.t430s.img
echo Built: 5547647606551ed2fd40ebb45bc9982458574af5  t430s.G7HT39WW.s01D8000.FL2
./geteltorito -o patched.t430s.img patched.t430s.iso
Booting catalog starts at sector: 20 
Manufacturer of CD: NERO BURNING ROM
Image architecture: x86
Boot media type is: harddisk
El Torito image starts at sector 27 and has 65536 sector(s) of 512 Bytes

Image has been written to file "patched.t430s.img".
./hexpatch.pl patched.t430s.img fix-hdd-image-`stat -c %s patched.t430s.img`.patch
Attempting to patch patched.t430s.img
Applying fix-hdd-image-33554432.patch fix partition table


Your build has completed with the following details:
echo Buildinfo: v1-25-gdd39cb (20161102) clean patched.t430s.img
echo Built: 5547647606551ed2fd40ebb45bc9982458574af5  t430s.G7HT39WW.s01D8000.FL2
I did encounter an encryption error the first time around - it turns out that I did not have libssl-dev installed (running Korora 24) at first, and there is apparently not a libssl-dev package for Fedora, so I installed openssl-devel instead, and the build completed without errors.

It's great to type on a classic keyboard again, but I want it to be perfect! Any ideas on what I may have done wrong?
New Beast: T430s, NVIDIA, FHD mod, 16GB, 1TB SSD
My Frankenpad: T40 Case, added BT, WiFi, T42 mainboard, fingerprint scanner from T43, 60GB SSD, 14" SXGA+, 2.0 GHz Dothan SL7EM, 2GB RAM, running LMDE 13 OS
Also running a T43 as a 24/7/365 PFSense firewall server

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#226 Post by hamish » Thu Nov 03, 2016 1:42 am

redbat wrote: It's great to type on a classic keyboard again, but I want it to be perfect! Any ideas on what I may have done wrong?
I can confirm that your buildinfo/built strings all look good - so you ended up with the same results I did.

A number of people have had wierd issues where the boot disk didnt actually reflash the EC until some other setting was configured correctly - a charged battery and power plugged in and BIOS set to boot in non-UEFI mode. Sometimes a couple of reboots were needed too.

If after booting from the installer, you have never seen the BIOS bootup screen show you a percentage complete bar with words to the effect that it was reprogramming the embedded controller, then the patch never got applied.

redbat
Posts: 4
Joined: Thu Jan 30, 2014 5:32 pm
Location: Santa Cruz, CA

Re: Installing classic keyboard into X230 with EC firmware mod

#227 Post by redbat » Thu Nov 03, 2016 10:19 pm

hamish wrote:
redbat wrote: It's great to type on a classic keyboard again, but I want it to be perfect! Any ideas on what I may have done wrong?
I can confirm that your buildinfo/built strings all look good - so you ended up with the same results I did.

A number of people have had wierd issues where the boot disk didnt actually reflash the EC until some other setting was configured correctly - a charged battery and power plugged in and BIOS set to boot in non-UEFI mode. Sometimes a couple of reboots were needed too.

If after booting from the installer, you have never seen the BIOS bootup screen show you a percentage complete bar with words to the effect that it was reprogramming the embedded controller, then the patch never got applied.
Thanks for the response, Hamish. I did actually see the percentage complete bar, and a message to the effect that all was well, then a reboot in 5 seconds, etc.

I also made sure that BIOS was set to Legacy first prior to the flash. I'll maybe try different media, and try plugging it into AC - it was running on either the UltraBay or main battery when I tried the flash the first few times.

EDIT: And now it works! I plugged AC, plugged in the USB Drive, restarted the system, saw "FLASHING EMBEDDED CONTROLLER" (or something similar) for about 2 seconds, and then the regular boot screen. Thanks, Hamish! This is a wonderful upgrade.
New Beast: T430s, NVIDIA, FHD mod, 16GB, 1TB SSD
My Frankenpad: T40 Case, added BT, WiFi, T42 mainboard, fingerprint scanner from T43, 60GB SSD, 14" SXGA+, 2.0 GHz Dothan SL7EM, 2GB RAM, running LMDE 13 OS
Also running a T43 as a 24/7/365 PFSense firewall server

charlotteplusplus
Posts: 3
Joined: Mon Nov 07, 2016 5:21 pm
Location: Wash DC

Re: Installing classic keyboard into X230 with EC firmware mod

#228 Post by charlotteplusplus » Mon Nov 07, 2016 6:03 pm

nitrocaster wrote:Fn+F2 and Fn+F3 can be swapped (so that Fn+F2 will do screenlock) with this patch:

Code: Select all

 00021668 B4 8E 01 00
-0002166C C0 70 C0 71
-00021670 C0 72 C7 73
+0002166C C0 70 C0 72
+00021670 C0 71 C7 73
 00021674 E4 50 E5 51
This is very interesting. I would also like to have all F1 to F12 keys giving keycodes with FN.

I would also like to add a FN table for all the other keys, for remapping. For example, with the appropriate keycodes, FN+Q, FN+W, FN+E, etc. could all be used to start a shortcut.

There is no complete documentation of the FN table format. I have read https://github.com/hamishcoleman/thinkp ... fnkeys.txt but it is still unclear. Can I please ask for some help, if only to get started by doing FN+F1 to FN+F12?

Also, would it be possible to alter the EC power checks using a similar method? A W520 or W530 will not charge without the 135W adapter, while the 90W adapter is lighter to carry. There are hardware mods to do that: http://www.thinkwiki.org/wiki/Power_Con ... Signal_Pin

A software patch doing the same thing would be nice!
W520/32G ram upgraded with coreboot to a i7 3940XM

hamish
Freshman Member
Posts: 82
Joined: Thu Apr 14, 2016 4:08 am
Location: Melbourne, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#229 Post by hamish » Fri Nov 11, 2016 7:31 am

charlotteplusplus wrote: This is very interesting. I would also like to have all F1 to F12 keys giving keycodes with FN.

I would also like to add a FN table for all the other keys, for remapping. For example, with the appropriate keycodes, FN+Q, FN+W, FN+E, etc. could all be used to start a shortcut.
While it is probably possible to do a little bit of this, the current size of the table in the firmware limits the number of keys you could do this with - there is only one clearly spare slot, with three more possibly spare slots.
charlotteplusplus wrote: There is no complete documentation of the FN table format. I have read https://github.com/hamishcoleman/thinkp ... fnkeys.txt but it is still unclear. Can I please ask for some help, if only to get started by doing FN+F1 to FN+F12?
I have added a little bit more information to that file, but there really isn’t much documentation available. Much of the documentation is going to be low-level and speculative. Was there some specific feedback on what is missing or unclear in that file? If it is my phrasing, or I have forgotten a vital remark, then we might be able to improve it.
charlotteplusplus wrote: Also, would it be possible to alter the EC power checks using a similar method? A W520 or W530 will not charge without the 135W adapter, while the 90W adapter is lighter to carry. There are hardware mods to do that: http://www.thinkwiki.org/wiki/Power_Con ... Signal_Pin

A software patch doing the same thing would be nice!
While the charging is undoubtedly controlled by the EC, finding the code and making a patch would require a little more information than we currently have. We only have hints on how the EC might talk to its Analog-Digital convertor or set the GPIO lines - which are where you would probably start looking for the charging control.

aaroncm
Posts: 8
Joined: Sat Nov 05, 2016 8:24 pm
Location: Sydney, Australia

Re: Installing classic keyboard into X230 with EC firmware mod

#230 Post by aaroncm » Sat Nov 12, 2016 6:53 am

Simple exploits such as this:

http://www.techspot.com/news/61596-bios ... g-you.html

(Boot system, write-protect bit set, send system to sleep mode, write-protect bit is reset and not set upon system wake)

Doesn't work? I would be so happy if it did. But... go ahead and disappoint me.

charlotteplusplus
Posts: 3
Joined: Mon Nov 07, 2016 5:21 pm
Location: Wash DC

Re: Installing classic keyboard into X230 with EC firmware mod

#231 Post by charlotteplusplus » Sun Nov 13, 2016 6:08 pm

hamish wrote:
charlotteplusplus wrote: This is very interesting. I would also like to have all F1 to F12 keys giving keycodes with FN.

I would also like to add a FN table for all the other keys, for remapping. For example, with the appropriate keycodes, FN+Q, FN+W, FN+E, etc. could all be used to start a shortcut.
While it is probably possible to do a little bit of this, the current size of the table in the firmware limits the number of keys you could do this with - there is only one clearly spare slot, with three more possibly spare slots.
Thanks for the updated documentation - now I see the size problem. 17 slots would be sufficient to cover all the F1-F12 number +4 arrows + space. But maybe the size of the table changed with EC releases.

I wonder if there are also 17 slots on the W520 EC. (I have a W520; I want to add the shortcuts to its native keyboard)

How do you locate the table and check its size?

Can I please ask you to look at the W520 native table? On version 8AHT38WW-3.20 I don't get Fn events for 4 F keys. I do get Fn key events for PrintScreen, Scroll Lock and Pause, which I could do without to keep more useful shortcuts like Home/End/PageUp for the brightness and thinklight.
W520/32G ram upgraded with coreboot to a i7 3940XM

seasonshu
Freshman Member
Posts: 55
Joined: Thu Jun 16, 2016 4:55 am
Location: Manchester, UK

Re: Installing classic keyboard into X230 with EC firmware mod

#232 Post by seasonshu » Wed Nov 16, 2016 1:29 pm

[deleted]
Last edited by seasonshu on Sat Nov 19, 2016 1:20 pm, edited 1 time in total.

sanyo
Posts: 3
Joined: Fri Nov 18, 2016 2:05 am
Location: Rotterdam, Netherlands

Re: Installing classic keyboard into X230 with EC firmware mod

#233 Post by sanyo » Fri Nov 18, 2016 2:12 am

Dear users of ThinkPad,

Please suggest which is the best classic keyboard for X230 known to work without any problems?


I have found two keyboards:

1) for IBM X200 X200S X200T X201 X201T X201I:
https://gd3.alicdn.com/bao/uploaded/i3/ ... 00x600.jpg
Price about $11 USD

2) for X220 X220T T400S T410 T420 T510 T520 X200 X201:
https://gd2.alicdn.com/bao/uploaded/i2/ ... 00x600.jpg
Price about $15 USD

Second keyboard seems to be a more modern one and therefore I guess it is worse? :)
The older the better? Right?

axur-delmeria
Senior ThinkPadder
Senior ThinkPadder
Posts: 3810
Joined: Mon May 28, 2012 5:49 am
Location: Metro Manila, Philippines

Re: Installing classic keyboard into X230 with EC firmware mod

#234 Post by axur-delmeria » Fri Nov 18, 2016 4:11 am

sanyo,

Only the second keyboard is usable on the X230 after the firmware mod.
The X200/X201 keyboard probably won't fit correctly.
Planned Purchase: T480s i5-8350 FHD Touch
Impulse Buy: Thinkpad not named for safety reasons :lol:
RIP: X220 4291-C91 X61 7676-A24 760XD-U9E :cry:

sanyo
Posts: 3
Joined: Fri Nov 18, 2016 2:05 am
Location: Rotterdam, Netherlands

Re: Installing classic keyboard into X230 with EC firmware mod

#235 Post by sanyo » Fri Nov 18, 2016 4:31 am

Are these two keyboards the same:

https://world.taobao.com/item/523408944 ... 963924b380

and

https://world.taobao.com/item/523408944 ... .64.ZA7fyu

Are they both suitable?

I am confused they are marketed for X220 X220T T400S T410 T420 T510 T520 X200 X201
so X201 too ...

seasonshu
Freshman Member
Posts: 55
Joined: Thu Jun 16, 2016 4:55 am
Location: Manchester, UK

Re: Installing classic keyboard into X230 with EC firmware mod

#236 Post by seasonshu » Fri Nov 18, 2016 4:54 am

You'll need one of these FRUs (in order of preference):
45N2211 - NMB
45N2141 - CHICONY
45N2071 - ALPS (mushy, not recommended)
sanyo wrote:Are these two keyboards the same:
Are they both suitable?
Yes, they are both Chicony.
sanyo wrote:I am confused they are marketed for X220 X220T T400S T410 T420 T510 T520 X200 X201 so X201 too ...
They are not good for X201.. that's an error in the advertisement.

sanyo
Posts: 3
Joined: Fri Nov 18, 2016 2:05 am
Location: Rotterdam, Netherlands

Re: Installing classic keyboard into X230 with EC firmware mod

#237 Post by sanyo » Fri Nov 18, 2016 5:02 am

Can you please explain why 45N2211 - NMB is better?

seasonshu
Freshman Member
Posts: 55
Joined: Thu Jun 16, 2016 4:55 am
Location: Manchester, UK

Re: Installing classic keyboard into X230 with EC firmware mod

#238 Post by seasonshu » Fri Nov 18, 2016 5:05 am

sanyo wrote:Can you please explain why 45N2211 - NMB is better?
See http://forum.thinkpads.com/viewtopic.php?f=45&t=122003

Starlight5
Posts: 26
Joined: Tue Nov 25, 2014 9:44 pm
Location: Papua New Guinea

Re: Installing classic keyboard into X230 with EC firmware mod

#239 Post by Starlight5 » Wed Nov 23, 2016 10:54 am

Did anyone make the opposite mod (x30 keyboard in x20 machines) eventually? I'd like to get an x30 keyboard because I like it better, especially the layout, but since I have fully functional machine I'm somewhat lazy to experiment myself, while would adopt tried&tested solution if there is one.

seasonshu
Freshman Member
Posts: 55
Joined: Thu Jun 16, 2016 4:55 am
Location: Manchester, UK

Re: Installing classic keyboard into X230 with EC firmware mod

#240 Post by seasonshu » Sat Nov 26, 2016 8:05 am

I modded two keyboards, flashed the X230. One of the is working fine.

However, the other one is dead in the middle section, everything included:
4-8
r-i
f-k
v-,
space,=,bkspace,\,enter

does not work. I tried putting the wrong one into the X220, then removed the mod, nothing.

Did I probably tear the cable while modding? Any chance of comeback from this? I ordered the keyboards from the US (to UK) for mainly their layout; the shipping price + Royal Mail "handling fee" was really eye watering...
Thanks.

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “ThinkPad X230-X280 / X390 Series”

Who is online

Users browsing this forum: No registered users and 48 guests