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

Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?! =(

Discuss the ThinkPad-branded Yoga
Post Reply
Message
Author
bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?! =(

#1 Post by bwsb » Mon Oct 06, 2014 6:13 pm

Hi everyone!

The BIOS version for the Thinkpad Yoga starting with version 1.15 have the END and INSERT keys behavior switched, which makes the laptop completely useless for technology work, as you need to press down FN when you hit the END/INSERT key in order for it to get END behavior, which is what you always want when doing technology work such as programming.

Just to make the problem super-clear: As a tech user, you have FnLock always on, because this is how you make the F1..F12 keys deliver without needing to push FN. With FnLock on, you also used to get END key behavior when pushing the END/INSERT button, without pushing FN. As of BIOS 1.15, pushing the END/INSERT key gives you INSERT behavior, so you need to push FN to get END behavior, and now since a tech user wants to press END some thousands of times every day, this is a big deal - and it breaks compatibility with all earlier Thinkpad keyboard layouts, that have always had a straight END key. INSERT, on the other hand, I use rarely, if ever. Gah. -

Lenovo hinted they'll reverse this behavior update in a future BIOS release, see: https://forums.lenovo.com/t5/ThinkPad-E ... 526/page/2


Until then however - if they bother ever fixing it, of course - every Thinkpad Yoga owner needs to take care not to upgrade to a BIOS >= version 1.15!!

Unfortunately, I was unaware of this scam, and upgraded to 1.18 which is the newest version right now.


Following this, I have desperately wanted to downgrade.

Using the 1.14 BIOS' EXE to downgrade: Failed.
When attempting to use the 1.14 BIOS EXE file http://download.lenovo.com/ibmdl/pub/pc ... uj09ww.exe for downgrading, it fails with the message: "Bios image file does not match this system. The utility process has not completed." So no luck!

It bundles the two BIOS flash files, however there are no instructions available for how to use the attached WinFlash64 program. So no luck there too!

Using the 1.14 BIOS' ISO to downgrade: Failed.
There is however an ISO Bottable CD distribution of the same BIOS, at http://download.lenovo.com/ibmdl/pub/pc ... uj09ww.iso .

The Internet is full of advice for how to actually use these Thinkpad BIOS ISO files - and this is where things get Seriously complicated.

So apparently, these ISO files can only be used out of the box in a built-in dock station CD reader, not even a Lenovo external USB CD would work - at least this is how it was with the X61 model back in the days, http://forums.lenovo.com/t5/X-Series-Th ... td-p/19222 , only God knows how it is now, however, I don't have any external CD driver at hand but need to use a USB stick to boot the ISO from.

The ISO, as I understand it, is in an El Torito bootable ISO format but with an MBR on it for being written to a harddrive (?!?!?) and therefore needs to undergo a special extraction process to get the ISO in the way we use to handle ISO:s. At least you can see this from that the Lenovo-supplied ISO file can't be read using an ordinary ISO reading program, but you only get errors and failures that way.

Using the 1.14 BIOS' ISO in extracted form to downgrade: Failed.
http://positon.org/lenovo-thinkpad-bios ... ux-and-usb among other pages tell you how to extract the actual ISO from within the Lenovo-special-format ISO.

wget http://userpages.uni-koblenz.de/~krienk ... eteltorito
chmod +x geteltorito
wget http://download.lenovo.com/ibmdl/pub/pc ... uj09ww.iso
./geteltorito -o bios114.iso gruj09us.iso

..and you have a bios114.img file that's a good ISO.

Now, how do you put this on an USB memory stick?

Using the 1.14 BIOS' ISO in extracted form and using a WIN 98 boot medium: Failed.
Well, as it turns out ( http://ubuntuforums.org/showthread.php?t=817897 ), you need to burn a suggested Windows 98 start disk to the USB drive, and then manually copy in the BIOS114.ISO content into the USB stick manually.

(This is because the BIOS114.ISO file (nor GRUJ09US.ISO) can be booted from an USB disk by itself, as per the article posted above that says that only a now nonexistent built-in CD drive would work, em. Anyhow when I tried boothing from these two ISO:s to an USB memory card using the program "USB Image Tool" (Windows), I did not get it to boot, and when trying to boot the ISO file directly as a simulated CD in VirtualBox, I just got something like a "Lenovo" text and then asked me to reboot.)

E.g. download the win98usb.tar file as suggested and

tar xf win98usb.tar
dd if=win98usb.img of=/dev/[YOUR USB DRIVE'S NAME HERE E.G. sdb] conv=notrunc

mount /dev/[YOUR USB DRIVE'S NAME HERE E.G. sdb] /mnt


I tried copying in BIOS114.ISO's containing files into the USB drive, running BIOS114.ISO's supplied COMMAND.COM gives you a menu system with 3 options, which are Info, "Update System Program" (i.e. update the BIOS!) and change machine number. I tried option 2, it asks me Are you sure? Y/N and i hit Y, and it fails with:

"The system program file was not found on the CD".

Using the 1.14 BIOS' ISO in extracted form and using a WIN 98 boot medium and using virtual CD simulation: Failed.
So, I figure this should be because it looks for the first CD plugged in, and indeed this start disk. So, I copied in BIOS114.ISO raw onto the USB disk, and then made a fake CD drive by getting the SHSUCDX suite from adoxa.altervista.org/shsucdx (sources at https://github.com/adoxa/shsucd ).

The commands to make it go are

SHSUCDHD /F:..\BIOS114.ISO
SHSUCDX /D:SHSU-CDH

(The filename here must be upper-caps, otherwise shsucdhd doesn't find it.)

Using the 1.14 BIOS' ISO in extracted form and using a WIN 98 boot medium and using virtual CD simulation and with a repackaged ISO: Failed.
This showed that the BIOS114.ISO file was not actually well formatted, so I needed to take my Linux box and remake the ISO file i.e.

mount bios114.iso /mnt
genisofs -o bios114_new.iso /mnt/*

..and even this way I get the same error message i.e. "The system program file was not found on the CD"!!

Also, trigging Lenovo's update can be done by directly running the program UPDTFLSH.EXE , that's the program that asks you the Y/N error and shows the error box.

Last, the ISO bundles a file lcreflsh.bat that just does flash2.exe /u , and when running it, it fails with an error 81, after having done "scanning the environment" and actually said "Flashing...".

Gah.


What must work: Using DOSFLASH or WINFLASH64 directly. But how?
BIOS114.ISO bundles the DOSFLASH program. And, there are some instructions on the Internet for how to use this program. And, the BIOS files are in the files B0ET18WW\$0AB0000.FL1 and GQET34WW\$0AGQ000.FL1 .


So then question is just, how can you use DOSFLASH or WINFLASH64 to perform this flashing the right way?

Your suggestions would be warmly appreciated, in order to make this a real laptop again!


(Meanwhile, desperate Windows users may use http://software-files-a.cnet.com/s/soft ... _setup.exe / http://download.cnet.com/Key-Remapper/3 ... 08576.html to remap END and INSERT with each others.)


Thank you!

bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#2 Post by bwsb » Mon Oct 06, 2014 6:43 pm

For your general reference, find here the complete list of files that are included in the version 1.14 BIOS ISO:

EFI
EFI/Boot
EFI/Boot/BootX64.efi
FLASH
FLASH/lcreflsh.bat
FLASH/SHELLFLASH.EFI
FLASH/UPDTFLSH.EXE
FLASH/40650.PAT
FLASH/306C1.PAT
FLASH/TPCHKS.EXE
FLASH/README.TXT
FLASH/UTILINFO.EXE
FLASH/FLASH2.EXE
FLASH/40651.PAT
FLASH/CHKLOGOD.EXE
FLASH/306C2.PAT
FLASH/FINDRAMD.EXE
FLASH/COMMAND.COM
FLASH/306C3.PAT
FLASH/B0ET18WW
FLASH/B0ET18WW/$0AB0000.FL1
FLASH/BCP.EVS
FLASH/USERINT.EXE
FLASH/UPDTMN.EXE
FLASH/DOSFLASH.EXE
FLASH/GQET34WW
FLASH/GQET34WW/$0AGQ000.FL1
System Volume Information
System Volume Information/IndexerVolumeGuid

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

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#3 Post by RealBlackStuff » Tue Oct 07, 2014 5:06 am

How about this?
Simple program to install an .ISO on a USB-stick: http://www.isotousb.com/

Or if you need multi-boot: http://www.pendrivelinux.com/yumi-multi ... b-creator/
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
.

bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#4 Post by bwsb » Tue Oct 07, 2014 6:53 am

Dear RealBlackStuff,


Booting using YUMI with the "Try unlisted ISO (via SYSLINUX)" gives me an error that the ISO is not supported, and via "Try unlisted ISO (GRUB from RAM)", it does boot the ISO, and it gives me the same behavior as when I tried booting the ISO from VirtualBox, the screen says:

"Lenovo Group Limited

Please remove any disk or media.
Please press any key to restart"

So I guess the ISO file is broken!

I mean, this level of expectation of the user for it to boot - to match some criteria about what drive it must be for it to boot, and that they don't even list it - or the ISO is simply broken - is a completely unrealistic expectation of the users to manage.


Please feel free to give a try to booting the ISO yourself, it's at http://download.lenovo.com/ibmdl/pub/pc ... uj09ww.iso .


Do you have any further suggestion?

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

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#5 Post by RealBlackStuff » Tue Oct 07, 2014 8:36 am

No thanks, I won't burn my fingers on any Insyde BIOS machines.
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
.

chune
Posts: 3
Joined: Fri Nov 21, 2014 5:09 pm
Location: Chicago, IL

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#6 Post by chune » Fri Nov 21, 2014 5:16 pm

Oh my chroist, this was the worst thing that ever happened to me. There is actually a new bios release as of today that fixes the "lowest brightness setting = screen is off" issue but does not do anything to resolve the end/ins switcharoo. The key-remapper program helped for local stuff, however it did not persist through an RDP connection which made it a bit useless for me. FORTUNATELY my friend had a similar issue with his carbon and was able to share this registry gem with me:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,4f,e0,52,e0,52,e0,4f,e0,00,00,00,00

additional info:
http://www.win.tue.nl/~aeb/linux/kbd/scancodes-1.html

00,00,00,00 Header: Version. Set to all zeroes.
00,00,00,00 Header: Flags. Set to all zeroes.
03,00,00,00 3 entries in the map (including null entry).
4f,e0,52,e0 ins-> end
52,e0,4f,e0 end-> ins (so fn+end still gives you insert- thanks bwsb)
00,00,00,00 Null entry.

typed in an RDP session on a thinkpad yoga w/ fn lock on and heavy use of the home & end keys =)
Last edited by chune on Wed Dec 17, 2014 10:22 am, edited 1 time in total.

bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#7 Post by bwsb » Fri Nov 21, 2014 11:29 pm

Could you ask your friend to also include an END to INSERT mapping there?



An alternative is to put an AutoHotkey script file in your Windows Startup directory, with this content:

#SingleInstance, forced
End::Insert
Insert::End



that will make them remap to each others too.

chune
Posts: 3
Joined: Fri Nov 21, 2014 5:09 pm
Location: Chicago, IL

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#8 Post by chune » Sat Nov 22, 2014 11:35 pm

bwsb wrote:Could you ask your friend to also include an END to INSERT mapping there?



An alternative is to put an AutoHotkey script file in your Windows Startup directory, with this content:

#SingleInstance, forced
End::Insert
Insert::End



that will make them remap to each others too.
his was originally for something else and i have modified it to fix the issue discussed in this thread. The reverse of this mapping would be the stock behavior... not sure why you would want that, but here it is:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,52,e0,4f,e0,00,00,00,00,00,00,00,00

bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#9 Post by bwsb » Sun Nov 23, 2014 7:31 am

Chune,

What I meant was, what you provided previously was an Insert -> End key mapping.

Now, the keyboard still has an End key too (which is Fn + Insert then), so would be great to have an End -> Insert *also*, i.e. two mappings simultaneously, so that when typing on the keyboard you have both End and Insert, however in reversed places.

I.e., the functional equivalent of the AutoHotkey script I provided above.

Is this what you provided now?

chune
Posts: 3
Joined: Fri Nov 21, 2014 5:09 pm
Location: Chicago, IL

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?

#10 Post by chune » Wed Dec 17, 2014 10:14 am

sorry, i understand the issue now. Here is the updated reg file with the insert functionality returned:

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]
"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,4f,e0,52,e0,52,e0,4f,e0,00,00,00,00

I have also updated my original post.

bwsb
Freshman Member
Posts: 99
Joined: Sat Jun 12, 2010 12:33 pm
Location: Stockholm, Sweden

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?! =(

#11 Post by bwsb » Fri Feb 20, 2015 1:27 pm

I think I read on forums.lenovo.com that the END/INSERT key issue has been resolved with Lenovo's newest BIOS update, so this post should be obsoleted by that fact.

surrealmind
Posts: 4
Joined: Tue Feb 04, 2014 3:13 pm
Location: Princeton, NJ

Re: Yoga END key scam.How downgrade BIOS using DOS/WINFLASH?! =(

#12 Post by surrealmind » Tue Oct 20, 2015 3:36 pm

I'm going to raise this thread back up to say that the new TP Yoga 12 perpetuates this same annoying behavior.

Apparently, there is a fix for the older Yoga SP1: https://forums.lenovo.com/t5/ThinkPad-S ... 48/page/11

And it looked at first like the latest BIOS (1.19) for the new Yoga 12 would fix the problem, because it boasts a new feature -- "Implemente F1~F12 Primary Key" (https://download.lenovo.com/pccbbs/mobiles/jeuj70ww.txt). Well, yes, you can now have f-keys as the "standard" setting with the function lock off. Only problem is, end/insert is still always reversed! That is, when F-keys are the selected functionality, the end/insert button is set to insert.

My workaround is to use an autohotkey script rather than a registry edit, but when I plug back into the keyboard dock, I have to make sure to close the script, so it's still a nuisance. Hopefully Lenovo will get on this update for the newer model.
Flexview R51 - backlight burnt out
T60
X61 Tablet

Post Reply
  • Similar Topics
    Replies
    Views
    Last post

Return to “ThinkPad Yoga”

Who is online

Users browsing this forum: No registered users and 5 guests