Lenovo Y700 EFI variable tool

Discussion in 'BIOS Mods' started by Redstorm, Jan 9, 2017.

Tags:
  1. Redstorm

    Redstorm MDL Novice

    Aug 1, 2009
    23
    1
    0
    #1 Redstorm, Jan 9, 2017
    Last edited by a moderator: Apr 20, 2017
    Their appears to be a tool for modifying the EFI variables called lvar32.exe and lvar64.exe for lenovo systems.

    see:
    https://forums.mydigitallife.net/th...ga-900-13ISK?p=1306452&highlight=#post1306452

    We are trying to modify the DMI/OPI link speed, as its set to pcie 2.0 speeds and not 3.0 speeds.

    Code:
    0x782F1 Setting: DMI Max Link Speed, Variable: 0xC10 {05 91 69 0E 6A 0E 44 07 34 12 10 0C 10 10 00 03 00}
    0x78302 Option: Auto, Value: 0x0 {09 07 C3 0B 00 00 00}
    0x78309 Option: Gen1, Value: 0x1 {09 07 2F 03 00 00 01}
    0x78310 Option: Gen2, Value: 0x2 {09 07 30 03 30 00 02}
    0x78317 Option: Gen3, Value: 0x3 {09 07 31 03 00 00 03}
    0x7831E End of Options {29 02}
    We would like to set variable 0xC10 to 0x3 ( we have confirmed that it is currently set to 0x2 but cant change it)

    We have tried booting to the EFI shell and using setup_var but this is getting access denide so, its either a locked bios or authenticated variables.

    The vendor tool above may have the necessary authentication to be able to set this variable...

    The goal is to unlock the M2 performance so its not capped at ~1600MB/s

    LVAR64.exe??
     
  2. felix_w

    felix_w MDL Novice

    Jul 8, 2009
    3
    0
    0
    #2 felix_w, Feb 6, 2017
    Last edited: Feb 6, 2017
    Never thought i could answer to this question in a forum different than the Y700 thread in your blog....:biggrin::biggrin::biggrin:

    I just found the tool in a russian forum i just registered. It was in a SLIC toolpack for Lenovo Ideapad 300.

    However, there is no usage info.

    You got a pm.


    EDIT: ...or not...don't have 5 posts...

    Here is the link : https upload.ee/files/6644539/Lenovo_Ideapad_300.7z. html

    Also, i was trying to send you a message @ Geektech blog, through "Contact" but after pressing "Send" the process stuck forever.


    Cheers,

    felix
     
  3. Redstorm

    Redstorm MDL Novice

    Aug 1, 2009
    23
    1
    0
    #3 Redstorm, Feb 7, 2017
    Last edited by a moderator: Apr 20, 2017
    (OP)
    I managed to get a copy of lvar but unfortunately the variables it can change are limited to the following list where xx =.

    Code:
    =====================================================
    | Lenovo Variable Tool |
    | v1.29 LBG/LCFC 2013/11/25 |
    =====================================================
    Usage:
    LVAR.exe /? This help screen
    LVAR.exe /? /v Display supported variables
    LVAR.exe /r /xx Read xx variable and display it
    LVAR.exe /r /xx /f 1.bin Read xx variable and save it to 1.bin
    LVAR.exe /w /xx /f 1.bin Write 1.bin to flash
    LVAR.exe /w /xx /c "1234 5" Write string "1234 5" to flash
    LVAR.exe /w /xx /b "12 3 ab" Write binary data 0x12, 0x3, 0xab to flash
    LVAR.exe /d /xx Delete xx variable
    LVAR.exe /l /xx Lock xx variable, make it read only
    LVAR.exe /u /xx /c "Password" Use "Password" to unlock xx variable
    Following LENOVO_CHINA_EEPROMContents_and_Tools_Spsc_1.15
    Press any key to continue...
    xx:
    /pn : Product Name
    /pn2 : Project Name
    /mt : MTM number
    /sn : Serial Number1
    /ln : Lenovo SN
    /uu : UUID
    /bt : Brand Type
    /kd : Keyboard ID
    /el : EPA ID
    /fl : Function flag
    /cd : Customer
    /fd : Family Name
    /at : Asset Tag
    /msdm : OA3 MSDM data
    /slic : OA2 SLIC data
    /os : OS license info
    /osp : OS PN number
    /oss : OS descriptor
    /cf : The 64bit configuration variable
    /lse : Lenovo Security Engine flag
    /mfg : For MFG internal use
    However their may be hope with a newer version of LVAR that may work but i susspect it will still be limited to hard coded variables in the utility.

    Code:
    LVAR.exe /m /xx "1 a 10" /c "A0m"
           Modify xx variable offset 0x1, 0xa, 0x10 (1 based) to data A, 0, m
    LVAR.exe /m /xx "1 a 10" /b "11 00 ab"
           Modify xx variable offset 0x1, 0xa, 0x10 (1 based) to data 0x11, 0x00, 0xab
    Link on a russian forum , search for "NormalTool Y700-15 17ISK.rar"