View unanswered posts | View active topics It is currently Mon Jun 25, 2018 12:36 am



Reply to topic  [ 3 posts ] 
 My Research EVSA out of Space & ? Engineer 
Author Message

Joined: Wed Aug 29, 2012 12:18 am
Posts: 63
Post My Research EVSA out of Space & ? Engineer
First, I can make and delete boot menu entries with no issue.

Second, UEFI v3 worked fine before messed the PC by reverting to v2.

Third I can boot the machine. It just auto powers off after a time instantly. Maybe temp sensor trip points messed up with all this.

Forth the PC won't flash to v3, v4 or v5. becuase of the ESVA out of space issue (exhausted).

EVSA = EFI variable storage area,

----------------------------------------
Ok let take trouble shooting to a higher level in todays attempt. Lets use Ubuntu FWTS v18.05 Live.

Make a USB nand flash stick with it and boot into it.
about and exit to command prompt.

sudo -s
fwts uefivarinfo -

On my IntensePC
UEFI NVRAM storage
Maximum storage 57324 bytes (So Primary area is 56K in size)
Remaining storage is 41742 bytes (Way more than half)
Maximum variable size 8152 bytes
Current used
88 variables, storage used 7491 bytes
---------------------------------------
So: 15,582 bytes is really been used up here
8,091 could be free'd up if garbage collection was run.
Maybe garbage collection routine engages at 50% remaining point
57324/2 = 28,662 bytes.
---------------
I did a:
fwts uefirtvariable
fwts uefirtvariable--uefi-set-var=10000

Both should have consumed more remaining space. But funny thing there it did not. The goal is to use up 50% of the space and try to engage garbage collection (UEFI Fault Tolerant Write protocol ) on next boot. But the space used remained the same. Very Strange.

I rebooted to windows. Used EasyUEFI and created a boot menu entry for MEMtest86+. Then rebooted back into FWTS.

The remainng space changed to 41574 bytes used. and 89 variables with 7623 bytes used in total by the variables. Ok, one boot entry used 168 bytes. So, I could create and delete the entry 78.85 times to use up 50% of the space. A lot of work. Maybe I can write a AutoIt script to do it in a few seconds.

But something wacky here?
The EVSA space is not really exhausted here. the SPI chip is not broken in that regard. It just looks like needs a large amount of EVSA space to be free for the Flash process be allowed to go through. The question is why.

The Cap file is 4067KB. There no way that is wriitten into the EVSA space.
So I assume the process is writing variables there and needs a huge amount of free space for the fault tolerate process. Else maybe there a special seperate area for the CAP file that's full here. And the error is wacko.

But dam i'm 72% free. How free does the space need to be here.

Fit-Pc/Compu Lab Bios Engineer a few question?

1/ To flash the UEFI Firmware, how much EVSA remaining space must we have free? 49K? (Note: that is bit stupid if so)

2/ At what % of remaing space does the automatic garbage routine (UEFI Fault Tolerant Write protocol) engage and free up the deleted space to the remaining available pool?


Thu Jun 07, 2018 12:04 am
Profile

Joined: Wed Aug 29, 2012 12:18 am
Posts: 63
Post Re: My Research EVSA out of Space & ? Engineer
Hmm! things did not work out the way I was thinking here.

Using EasyUEFI I created and deleted 80 boot entries that should eaten 168 bytes each. and half the EVSA (EFI Variable storage area).

However rebooting into "FWTS Live v18.05 "showed remaining space only went from 41574 to 41300. With 91 variables using 8138 in space.

Last week I had 41574 remaing in 88 variable using 8152bytes.
Now Have 3 more variables somehow. and we didn't use up half the space as expected.

I went back into windows and EasyUEFI and create 5 boot variables, rebooted to FWTS. "FWTS UEFIVARINFO -" showed the remaing space decreased to 40630. so that 74bytes per entry. Went back in windows and EasyUEFI deleted the variables and then went back FWTS. UEFIVARINFO show the remaining space went back to 41300.

I did not expect that. If the NVRAM can only write a 0 and not a 1 then the delete should only flag as deleted but not free it up space. Thus you should only decrease in available space until finally hitting 50% used mark where the garbage collection kicks in.
But FWTS showed I got the space used right back on the deletion of variable here. Odd???

I also noticed the reboot process is now working right after the 80 created and then deleted variables. and also so far the pc hasn't auto instant shutdown on me. hmm?? weird why is that working now. I'm going the let the pc run all night and check if it still running in the morning.

This brings up questions on shellflash64.efi here. If "/cvar" is used, that deletes the EFI variables (I do in fact lose the boot entries on reboot using it). Does that mean I get more free space back by using it?

Now I've done /cvar before it did not help me. But when I added /v switch, it showed me I was getting the "EVSA Region Exhausted" error here.

With the /cvar switch it just rebooted the machine in 5sec and the flash didn't go through. You didn't know why. Maybe it checks the free space before deleting the variables. (That would be design Flaw)

But the key thing is the machine did a reboot and recreated the most of variables /cvar deleted ( except: the windows, Linux, and refind entries) That means should then retaken a bunch of that free space back a that reboot.

And maybe that's disconnect here and the trick. Maybe we have and do should a two part process here. First do "/cvar /v" first. That would clear all the variables but not reboot the pc. It would still error out because it maybe checks free space first but does do the /cvar and clears variables. Maybe the variables will all be deleted and won't be recreate because with "/v" it doesn't reboot. That might give you maximum free variable space at that moment.

Then do the normal "shellflash64.efi /file Bios.cap". Maybe then it will see enough free space on the EVSA space check and flash UEFI.

After a flash it auto reboots the machine 5sec later. recreating most the missing default variables on the reboot. Leaving you to create the windows, Linux, refind entries. which is easy if had refind installed or even if its just on a usb key because you can drop in shell64.efi and launch windows directly by running refind64.efi. Once Windows runs up it replaces its missing boot entry automatically and as does Linux. linux also replaces them with each kernel update too over time via each kernel update.

This is my current working theory here. I'll have to this try out in another day or so and report back.


Tue Jun 12, 2018 2:16 am
Profile

Joined: Wed Aug 29, 2012 12:18 am
Posts: 63
Post Re: My Research EVSA out of Space & ? Engineer
no go

seems /cvar /v doesn't clear the variables like /patch /cvar does.

Know /cvar /patch does clear the variables but also bumps you out of UEFI mode. So must go turn it back on to get the shell or the drives. Then Windows boot entry is automatically regenerated.


so it must error out first before /cvar for lack of space.

I tried /capload that does successfully report the load of the bios.cap file into the cap memory space. But doesn't perform the update. ? as why you what to do that.

Tried /force too. but no go

Outside of creating 80 boot entries with out deleting them and rebooting the booting back into windows and then deleting them. I don't know what else I can try.

Again fo the engineer Why is a Firmware update check the EVSA space in the first place here. If /capload can successfully load the cap file into the memory. It not that memory space that is an issue.

------
Maybe I should go get the "Hades Canyon's" as an replacement


Wed Jun 13, 2018 12:27 am
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 3 posts ] 

Who is online

Users browsing this forum: No registered users and 0 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by STSoftware for PTF.