The Notebook Review forums were hosted by TechTarget, who shut down them down on January 31, 2022. This static read-only archive was pulled by NBR forum users between January 20 and January 31, 2022, in an effort to make sure that the valuable technical information that had been posted on the forums is preserved. For current discussions, many NBR forum users moved over to NotebookTalk.net after the shutdown.
Problems? See this thread at archive.org.
 Next page →

    FN-CTRL swap on all Lenovo laptops [SOLVED]

    Discussion in 'Lenovo' started by middleton, Apr 8, 2010.

  1. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    I've decided to gather all my CTRL-FN BIOS mods in one place. These patches were originally posted in different topics at official Lenovo forum ( lenovo community).
    If you want to swap FN and CTRL keys, then download and flash the modified BIOS.

    Supported models:

    Lenovo G430, G530
    Lenovo G450, G550
    Lenovo G455, G555
    Lenovo N200 (type 0769)
    Lenovo N500, G530 (MT 4446 only)

    IdeaPad S9, S10
    IdeaPad S9e, S10e, S10 with 3G (MT 4329, 4333)
    IdeaPad S10-2
    IdeaPad S10-3
    IdeaPad S10-3t
    IdeaPad U350
    IdeaPad U450, U450p
    IdeaPad Y430
    IdeaPad Y450
    IdeaPad Y530
    IdeaPad Y550
    IdeaPad Y550p
    IdeaPad Y460, Y560
    IdeaPad Y460p, Y560p

    ThinkPad SL300, SL400, SL400c, SL500, SL500c
    ThinkPad L410, L510, SL410, SL510
    ThinkPad R400, T400
    ThinkPad R500
    ThinkPad R60, R60i (Machine types 94xx)
    ThinkPad R61
    ThinkPad T400s
    ThinkPad T500, W500
    ThinkPad T60, T60p
    ThinkPad T61, T61p
    ThinkPad W700, W700ds
    ThinkPad X200, X200s
    ThinkPad X200 Tablet
    ThinkPad X300
    ThinkPad X301
    ThinkPad X60, X60s
    ThinkPad X60 Tablet
    ThinkPad X61, X61s
    ThinkPad X61 Tablet


    Disclaimer:

    Lenovo has no relation to these BIOS-es. These patches are completely unofficial. They provided "as is" without any warranties from Lenovo. Lenovo has never tested or approved these patches and doesn't support them.
    You will be solely responsible for any damage to your computer system or loss of data that results from flashing or using of the patched BIOS.
    Use it at your own risk.



    Note: This forum spoils some links. To avoid problems, click on the first word of a link to download BIOS.


    Attention to ThinkPad owners.
    If you get error message during BIOS update:
    "BIOS image file is same as BIOS ROM. An update is not necessary at this time."
    OR
    you flashed the patch but FN and CTRL are still not swapped

    then you have to do the following:

    1) Create "flash.bat" file in the folder with WINUPTP.EXE. Bat-file should have the following contents:

    @echo off
    echo Updating BIOS. Please wait...
    winuptp.exe /s
    echo BIOS flash completed. Reboot your machine now.
    pause

    2) Run flash.bat as administrator, you'll see "Updating BIOS. Please wait..." message.

    3) Wait until "BIOS flash completed. Reboot your machine now." message is displayed.

    4) Reboot your machine.

    flash.bat is attached just in case.


    If you want to bring back (for some reason) the original FN-CTRL layout, then follow the instructions below:

    - For all non-ThinkPad models: just flash the original BIOS.

    - ThinkPad owners have to do the following:

    1) Download the latest BIOS update utility for Windows from the official website.

    2) Run it and remember the folder where the update utility will be installed.

    3) Uncheck "Install ThinkPad BIOS Update Utility now" on the last screen of the setup wizard and click "Finish".

    4) Go to the folder where the update utility was installed, and then place flash.bat there.

    5) Run flash.bat as administrator, you'll see "Updating BIOS. Please wait..." message.

    6) Wait until "BIOS flash completed. Reboot your machine now." message is displayed.

    7) Reboot your machine.

    If flash.bat quits instantly, then something goes wrong. Read Winuptp.log (it will be created in the same folder with flash.bat) to determine the cause of the issue.
    Run flash.bat again after eliminating all the causes.



     

    Attached Files:

    • flash.zip
      File size:
      222 bytes
      Views:
      2,333
    Last edited by a moderator: May 7, 2015
    hoofwall likes this.
  2. talin

    talin Notebook Prophet

    Reputations:
    4,694
    Messages:
    5,343
    Likes Received:
    2
    Trophy Points:
    205
    Flash your BIOS with an unsupported version at your own risk. I personally wouldn't do it. If something goes wrong, it will not be covered under warranty, and any fixes will come out of your own pocket. Just not worth the risk IMHO.
     
  3. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
  4. millermagic

    millermagic Rockin the pinktop

    Reputations:
    330
    Messages:
    1,742
    Likes Received:
    0
    Trophy Points:
    55
    Can't you do this by software?
     
  5. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    Unfortunately it's impossible to fully swap FN and CTRL by software.
     
  6. not.sure

    not.sure Notebook Evangelist

    Reputations:
    101
    Messages:
    480
    Likes Received:
    1
    Trophy Points:
    31
    And I think that's true for all 2010/Calpella/"new" models.
     
  7. Mutnat

    Mutnat Notebook Consultant

    Reputations:
    134
    Messages:
    233
    Likes Received:
    0
    Trophy Points:
    30
    Yep, my T510 had it as a configurable BIOS setting right out of the box. One of the first things I did was to enable the swap.
     
  8. pem69

    pem69 Notebook Consultant

    Reputations:
    22
    Messages:
    216
    Likes Received:
    1
    Trophy Points:
    30
    You are an amazing person, middleton. We shall be eternally grateful.
    Does this support the wake-on-(as-labeled)-fn-press that the newer models' BIOS switch does?
     
  9. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    At the moment my patches don't support waking by pressing FN key but you can wake your laptop by pressing the power button.
    I think I can fix this issue but only if several people will ask me about it because actually, I don't consider it as a problem at all.
     
  10. vince100

    vince100 Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    Just post to say thank you, middleton.

    With your bios I am able to work with thinkpad much more efficiently!

    I feel your work is somehow under-appreciated in the lenovo forum. But don't let that discourage you, It's a work of pure genius!

    You mentioned downgrading to a lower version bios was necessary if the latest bios was already installed. But I read somewhere later it may be possible to use "WINUPTP.EXE -s" to force an update. I missed my opportunity to test it though.
     
  11. pem69

    pem69 Notebook Consultant

    Reputations:
    22
    Messages:
    216
    Likes Received:
    1
    Trophy Points:
    30
    Definitely not a dealbreaker. It's a nice feature, to not have to press the power button - I used to have a laptop that would sometimes decide to turn off, instead of wake up - but I'd take your Ctrl-Fn any day over Fn-Ctrl with Fn-On.
     
  12. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    I've disassembled WINUPTP.EXE. You are right: WINUPTP.EXE skips version checking with /s switch.
    So if you get this message "BIOS image file is same as BIOS ROM. An update is not necessary at this time", then create "bios.bat" file with the following contents:

    WINUPTP.EXE /s

    Then run "bios.bat" as administrator.
     
  13. alisadm

    alisadm Newbie

    Reputations:
    0
    Messages:
    6
    Likes Received:
    0
    Trophy Points:
    5
    As someone who isn't a complete novice to making system changes, but not as adept as y'all, could you possibly give a step-by-step to making this change? It's driving me bonkers—what were they thinking???

    And since, unfortunately, I've already updated my BIOS to the most current version, I assume it's gonna be even more involved, right?

    Thanks for doing this!!
     
  14. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    - Download BIOS archive.

    - Unpack it.

    - Read "READ_ME!!!.txt" and follow the instructions.

    - If you get this message: "BIOS image file is same as BIOS ROM. An update is not necessary at this time", then create "bios.bat" file in the folder with WINUPTP.EXE. Bat-file should have the following contents:

    WINUPTP.EXE /s

    Then run "bios.bat" as administrator.

    bios.bat is attached just in case.
     

    Attached Files:

  15. SeattleIT

    SeattleIT Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Hi Middleton,

    ..just for clarification...

    I own a lenovo S10e:
    is this the same as the S10-2?
    will the S10-2 bios patch work on my S10e?

    If the new bios patch (s10-2)interferes with my S10e's operations, is there a way to "flash back" to my current/original bios settings?

    Thanks!
     
  16. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    S10e is not the same as S10-2. Don't even try to flash S10-2 firmware into your S10e otherwise you'll get a bricked laptop.
    Maybe I'll make the patch for S10e later.
     
  17. ferry

    ferry Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    I've rejoiced having a new hope of getting the Ctrl key at the right place when finding this thread :) I'm not sure if this is the right place to place requests or wishes - would you be so kind and patch also the BIOS for the X200s? Thank you very much!

    Here we are the source of the most recent BIOS 3.13 for X200/X200s: http://www-307.ibm.com/pc/support/site.wss/document.do?lndocid=MIGR-70347

    I used to develop in the x86 assembler but I could not find anything about how to reassembly a BIOS. You contribution to the community here is greatly appreciated!

    --- Ferda
     
  18. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    OK. The patch for X200/X200s will be ready very soon.
     
  19. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    ferry
    Check the first post of this topic. I've added the patch for X200, X200s.
     
  20. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    SeattleIT
    The patches for S9, S10, S9e, S10e are also available (see the first post).
     
  21. vince100

    vince100 Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
  22. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    If you've already flashed my modded BIOS, then you can safely flash any further official updates from Lenovo (BIOS updater will not overwrite FN-CTRL swap because Embedded Controller's firmware version is still the same).
    When Lenovo change Embedded Controller's version, then I'll modify my BIOS mod.
     
  23. vince100

    vince100 Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    Thank you for the advice, middleton.

    I've updated to the latest BIOS and found the FN-CTRL swap was not affected by the update just like you said.
     
  24. hotkeyguy

    hotkeyguy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    middleton, thanks for the effort. In my case I do not see any change. Heere is what I did:

    1. dowloaded the CTRL-FN_ThinkPad_T500_W500_BIOS_(3.13-1.06).rar file and after I unzipped I saw two subfolders and a read_me.txt.
    2. I followed the instructions on the read_me.txt and ran the WINUPTP.EXE (yes I have admin access on my machine)
    3. I restarted the machine but did not see any change. The keys are unchanged!

    4. I also tried the latest BIOS updates from Thinkpad support later and that also did not give me the option of the key swap.

    Did I miss anything? Is there a file I can flash manually using WinPhlash that would solve the issue?

    Thanks again
     
  25. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    All ThinkPad BIOS-es consist of two files:

    1) The main BIOS image.
    2) Embedded Controller's firmware.

    The patched BIOS has the following versions:

    1) BIOS: 3.13
    2) ECP: 1.06

    You were probably using the same 1.06 version of Embedded Controller's firmware before you flashed my patch. So WINUPTP.EXE simply didn't update Embedded Controller's program because both the new firmware and the old one had the same versions.

    You need to flash my patch once again but this time you have to run WINUPTP.EXE with /s (or -s) switch. This switch forces WINUPTP.EXE to skip all version checks.

    Create "bios.bat" file in the folder with WINUPTP.EXE. Bat-file should have the following contents:

    WINUPTP.EXE /s

    (or you can download bios.bat on the second page of this topic).

    Run "bios.bat" as administrator. And please write here about your results.
     
  26. AndersBonde

    AndersBonde Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    HI

    First at huge thanks to Mr. Middleton" for this BIOS Change.

    Du I have a small problem. I have a Lenovo T61, win7 - had the problem with BIOS it updatet and does not need to etc.........
    So I tried the BIOS.BAT file, I'm running it as admin, but nothing happens - no bios program is startning......

    What i'm i doing wrong?????
     
  27. vince100

    vince100 Newbie

    Reputations:
    0
    Messages:
    7
    Likes Received:
    0
    Trophy Points:
    5
    did you make sure bios.dat is in the same folder as WINUPTP.EXE?
    If you did,
    1. start->search for "cmd.exe", right click to run as admin.
    2. "cd" to WINUPTP.EXE folder, and run WINUPTP.EXE /s manually
    if it still doesn't work, try "WINUPTP.EXE -s" instead of "WINUPTP.EXE /s"
     
  28. AndersBonde

    AndersBonde Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5


    Hi Vince

    Tried the above - still nothings happens......
     
  29. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    AndersBonde
    Look at the contents of WINUPTP.log file (it was created by WINUPTP.EXE in the same folder).
    You can find the reason of your problem after reading the last records of WINUPTP.log.
     
  30. AndersBonde

    AndersBonde Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Here is what is in that file...... :confused: :confused: :confused:

    OS = Windows Vista
    Driver Loading....Done
    System BIOS Version -> 7LETC6WW
    Applying BIOS Version -> 7LETC6WW
    System EC Version -> 7KHT24WW
    Applying EC Version -> 7KHT24WW
     
  31. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    It seems that /s switch doesn't suppress versions checks, it just removes showing dialog boxes with messages for user.
    So try to flash directly with winphlash.exe.

    - Download "flash.bat" and place it in the folder with winphlash.exe.
    - Run "flash.bat" as administrator.
    - Wait until flashing is completed.
    - Reboot your laptop.

    Warning: This "flash.bat" is intended for T61, T61p ONLY. Don't run it on other ThinkPad systems.
     

    Attached Files:

  32. CoolSong

    CoolSong Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    X200 link does not work.
    May be anyone knows right link?
     
  33. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    This forum spoils some links. Click on the word "ThinkPad" instead of "X200" :).
     
  34. hotkeyguy

    hotkeyguy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Thanks a lot. That worked perfectly.
     
  35. nesnera

    nesnera Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    Is there any solution for T60?
     
  36. hotkeyguy

    hotkeyguy Newbie

    Reputations:
    0
    Messages:
    3
    Likes Received:
    0
    Trophy Points:
    5
    Middleton,

    That worked perfectly. Thanks a lot. The /s switch did skip the version check and updated bios on the background. Users, please be aware that you will not see a updating status dialogue on the screen but you will see some activities on your file explorer or the cmd window for sure.
     
  37. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    The patches for ThinkPad T60, T60p and for IdeaPad S10-3, S10-3t are also available now.
     
  38. Moopz

    Moopz Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Hey middleton, I really appreciate your work, as this FN / CTRL placement is my only gripe with my X61 Tablet.

    I was wondering though, does the X61 Bios update work with X61 Tablet?
    When I try to do the flashing, I get:
    "BIOS image file cannot be found."

    Any ideas?
     
  39. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    X61 Tablet has its own separate BIOS which is not compatible with X61. I've added the patch for X61 Tablet (see the first post of this topic).
     
  40. pem69

    pem69 Notebook Consultant

    Reputations:
    22
    Messages:
    216
    Likes Received:
    1
    Trophy Points:
    30
  41. k-lin

    k-lin Newbie

    Reputations:
    0
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    5
    hello middleton, thanks for your time and for making the key swapping possible!

    [sorry for the previous post, now it is working like a charm!, I will try to update the BIOS to 2.11 - 1.07 later today! ]

    THANKS AGAIN! :D
     
  42. MastahRiz

    MastahRiz Notebook Evangelist

    Reputations:
    179
    Messages:
    463
    Likes Received:
    0
    Trophy Points:
    30
    Awesome that someone finally fixed this. Thanks a ton middleton!
     
  43. middleton

    middleton Notebook Consultant

    Reputations:
    212
    Messages:
    284
    Likes Received:
    3
    Trophy Points:
    31
    I spent three weeks digging ThinkPad's keyboard handling code and now I can say the following: improvement of Fn/Numlock features is possible. But there are two little problems:

    1) When I analyzed Embedded Controller's code for the first time, it was very interesting. In other words it was a challenge for my genius :D whether I am capable to get success resolving the problem which nobody in the world has solved yet. And when I realized the problem had solved, I lost all my interest in any further improvement of FN key work.
    For me now it's not а funny entertainment just a routine work. Lenovo doesn't pay me for fixing their bugs, I don't want to do their job for free. I hope you understand me.

    2) I've never seen or touched any lenovo laptop in real life. It's very difficult to modify ThinkPad's firmware if you don't have a laptop at hand. If I had had some ThinkPad I would have spent much less than three weeks creating CTRL-FN patch. But I was forced to create a patch by e-mail, communicating with a real owner of ThinkPad T500.
    This experience helped me to understand one simple thing: resolving such a complex problem by email takes a lot of time and efforts.
     
  44. ferry

    ferry Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    The patched BIOS for x200s works like a charm. Thanks a lot, middleton!

    By the way, it is *really* good to know that the /s switch makes the flasher run in the background before you start disassembling the exe to learn what the /s actually does and why is it not doing anything on you machine :) Checking the log file and waiting until it is full and the flasher process is away is the way to go.

    --- Ferda
     
  45. Moopz

    Moopz Newbie

    Reputations:
    0
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    5
    Had to use the -s command as well, but works flawlessly now. Thank you so much <3
     
  46. tata668

    tata668 Notebook Consultant

    Reputations:
    5
    Messages:
    141
    Likes Received:
    1
    Trophy Points:
    30
    Wow, thanks SO MUCH middleton!!

    I applied your fix on my T400 and it works perfectly!
     
  47. MastahRiz

    MastahRiz Notebook Evangelist

    Reputations:
    179
    Messages:
    463
    Likes Received:
    0
    Trophy Points:
    30
    Do you guys also switch the keys on the keyboard around afterwards or do they not fit properly?
     
  48. tata668

    tata668 Notebook Consultant

    Reputations:
    5
    Messages:
    141
    Likes Received:
    1
    Trophy Points:
    30
    The CTRL key is bigger than the Fn, at least on my T400. I don't think you could switch them.

    This would work though ;) :

    [​IMG]
     
  49. MastahRiz

    MastahRiz Notebook Evangelist

    Reputations:
    179
    Messages:
    463
    Likes Received:
    0
    Trophy Points:
    30
    ^^Doh!!

    .........
     
  50. pem69

    pem69 Notebook Consultant

    Reputations:
    22
    Messages:
    216
    Likes Received:
    1
    Trophy Points:
    30
    Wow. Now I'm even more impressed at your success! Fixing the BIOS is amazing enough, bit without having ever used one for testing? My hat is off to you, sir!

    I completely understand not wanting to do all the extra work to fix problems. I had been under the impression that it was a labor of love and/or frustration; you wanted it fixed for yourself, so you worked on it and figured it out. Since it's not, it's not at all surprising you don't want to fix any of the other issues. Routine work is definitely not fun - and we're all thankful (or, at least, I am) that you're willing to do as much as your have.

    Is there any chance you'd be willing to pass on what you've learned, and how you made the changes you've done? Maybe someone else will pick up the mantle, and take a stab at the other problems. (I can hope, right?)
     
 Next page →