Dell 7010 NVME + BIOS Lock Mod Discussion

Any luck @sith with yours? I think I fried my bios, please have someone look at it. I decided to go off the reservation and I’m paying for it. Anyone know which programmer I need for this board “optiplex 7010” to try and recover it?


snakeman

Hello @snakeman. I am still waiting on an NVME drive (Asgard 250GB ~ £30 from Aliexpress) to arrive. I also better order another NVME to PCIe adaptor. I don’t really want to take the Asgard I’ve got already out of my daughters PC, just to mess around with the Dell. I haven’t pulled the trigger yet. I hoped I’d have had some feedback from the forum to give me the faith, I was not about to mess it all up and do something stupid.

What did you do to mess things up? I am happy to look at a bin file you flashed in case there is anything obvious I see different to my 7010. I noticed on my windows bios dump there were sections that were all FFFF and this was less common on the dos FPT bios dump. I will likely only flash a modified dos dump of the entire chips (12 MB)

Sorry for late replies!

@sith - yes, that looks like you wrote BIOS region back correctly via FPT, it’s comparing file and current BIOS region contents after the write action completed
I mentioned you would need to disable BIOS Lock, or use some other program/method because I didn’t know then you had the service jumper (Other users with same board said they didn’t have jumper)
I can’t tell from your image if the NVME Mod was done correctly, and your mention of having size issues sounds odd to me (This is rare from what I’ve seen).
Upload your FPT dump for me and I will test mod it and let you know if you have correct position and if you need to use small or can use normal NVME file (I will not use MMTool, unless forced to by BIOS )

@Boroda944 - you need to get full dump from other threads here and replace your service tag, serial, MAC Etc, - you can’t use BIOS from EXE
There is 7010 dumps here, which I think you found - Optiplex 7010 and VPro/AMT/ME (10)

@snakeman - did you get it fixed? If not, you need CH341A programmer and SOIC8 test clip cable (If both BIOS 8 pin and soldered to board)

plutomaniac - what stopped working 10 years ago, entire BIOS dump via FPT, or Universal BIOS backup toolkit. You confused me good on that one
Why would FPT dump not work? And on the later, I use this often, have tested myself on modern boards and have users send me dumps from it too, so unsure which you meant?

I’m talking about Universal BIOS Backup or whatever it was called

@lost_n_bios yes I reflashed it with -rewrite before I rebooted with -greset.


@sith here is a copy of my bios
@sith and @LOST_N_BIOs The "mod" version includes nvme. Please check to see if its correct.
snakeman

A29_orig_AMT.zip (5.82 MB)

A29_orig_AMT_mod.zip (5.83 MB)

plutomaniac I thought maybe so, yes it still works fine, I use it often and suggest it for others and get dumps often too when necessary. There may be some BIOS it wont work on, but I’ve not seen any that I can remember.
This is the one - https://www.majorgeeks.com/files/details…up_toolkit.html

@snakeman - not sure what you want checked there between the two? I checked NVME mod and it’s not done correctly, but may still function (boot-wise and NVME-wise), anything else needing checked I need more info.
NVME Module should be inserted after GUID 1712AD21-B6EC-4764-97C7-837DA5DDE4CD, but also really unsure in this instance since the main volume is nested within another volume, normal position would be after GUID 6E97D4F4-1898-4408-A62D-99CADED32FD8 in that same main volume
If you want to put it in the same volume as CMSCore then put after GUID 1712AD21-B6EC-4764-97C7-837DA5DDE4CD - IntelLOMUEFIdriverx64

@Lost_N_BIOS Sorry for my late response.

I believe I may have nested DXE volumes also. I will attach the bin files I took from the dos environment. I am getting quite excited that I might just get this working.

I had to use WinRAR to get these less than 6MB and of a file type, I could upload.

BIOS_d.rar has the 6MB Bios dump from my Optiplex 7010 taken in a dos environment

bios_d_mod.rar has the compressed small NVME DXE module inserted into a nested DXE volume

BIOS_d.rar (3.23 MB)

bios_d_mod.rar (3.24 MB)

@sith Did you ever get your adapter? I "m waiting to hear your results. Let me know what type adapter you are using or going to use.


snakeman

Hello @snakeman

I am still waiting on the adaptor but the NVME arrived at my dad’s quite quickly. He will bring it over next time he visits me.

The NVME to PCIe adaptor I used on the ASUS AM1 and that I am going to use on the Dell Optiplex 7010 is this one costing £1.91 in the sale

https://www.aliexpress.com/item/New-arri…2977637883.html

The price of the Asgard drive has also gone down to £29.22 and at the moment has a $5 discount on it which is ok for a 250GB NVME. The selling point for me was the Graphene heat spreader. It looks good and

https://www.aliexpress.com/item/New-arri…2967598274.html

My product review is the benchmarking results on the ASUS AM1M-A on that item is dated 28th Feb 2019 and reads…

The system is an AMD 5150 APU on an ASUS AM1M-A Motherboard with a modded bios I created to allow this drive to be bootable. Given the graphics card slot on AM1M-A is not PCIe 3.0 I am very impressed with the performance which is way better than my Samsung Evo 850 SSD.

CrystalDiskMark 6.0.1

Sequential Read (Q= 32,T= 1) : 1678.756 MB/s
Sequential Write (Q= 32,T= 1) : 1067.416 MB/s
Random Read 4KiB (Q= 8,T= 8) : 223.486 MB/s [ 54562.0 IOPS]
Random Write 4KiB (Q= 8,T= 8) : 210.218 MB/s [ 51322.8 IOPS]
Random Read 4KiB (Q= 32,T= 1) : 68.442 MB/s [ 16709.5 IOPS]
Random Write 4KiB (Q= 32,T= 1) : 63.937 MB/s [ 15609.6 IOPS]
Random Read 4KiB (Q= 1,T= 1) : 35.217 MB/s [ 8597.9 IOPS]
Random Write 4KiB (Q= 1,T= 1) : 51.823 MB/s [ 12652.1 IOPS]

Test : 1024 MiB [C: 6.8% (15.7/232.3 GiB)] (x5) [Interval=5 sec]
Date : 2019/02/26 22:47:38
OS : Windows 10 Professional [10.0 Build 17763] (x64)


It’s not setting the world alight but I hope on the Optiplex 7010 it will be faster. This NVME drive uses system Ram as the cache I believe. I don’t know if that’s an issue with power cuts etc. i.e. no time for the file index being written back to the NVME chips.

Re: Your Uploaded Bios files

I looked at the A29 bin and modified bin files you uploaded. I saw you inserted the NVME (large) module immediately after the CSMCORE module. What software did you use to insert it at index point “50”. With UIEFTool I couldn’t insert it into the correct place index point “B8” by inserting it after “B7” and the original “B8” I believe was free space at the end of the volume.

Snakeman Mod.PNG



Alternative index location.PNG



I believe UIEFTool wouldn’t let me insert it as there was too little space in the ‘correct location’ volume.EDIT: I was using the wrong version of UIEFTool, one that doesn’t allow insertion So with MMTool and the small NVME file (with compression), I inserted it into the same volume as the CSMCore module and MMTool’s automatically put it at the end of the volume after the “B7 IntelLOMUEFIdriverx64”

I will try again later today myself and see what my results are.
I used UEFItool version 2.60. Which version are you using?
Thanks for the links. I will take look in a few minutes.

snakeman

Until recently I have never used these type of tools and wasn’t sure where to get them from. I think one might have been from a website called ‘mydigitallife’ or ‘tweektown’ or something like that. My version of UEFTool might be an incompatible version as it’s version ‘NE Alpha 55 (Feb 10 2019)’ has a very different version number than yours.

https://github.com/LongSoft/UEFITool/releases

UEFITool_NE_A55_win32.zip

and MMTools was called MMTool 4.50.0.23.zip

@snakeman I was shopping and came across the programmer and clip Lost_N_Bios mentioned. I will link below the ones I purchased. I went with the USB programmer with the black PCB as I found a really informative video that explained how it’s used. Pin orientation, software function (Getting it in English - by moving the English language file into a directory) etc.

TEST CLIP (For 8 PIN CHIP) and 2 Adaptors

https://www.aliexpress.com/item/Free-Shi…1844277735.html (middle option with “2 parts” adapters = £1.64)

USB PROGRAMMER (To work with above Test Clip)


https://www.aliexpress.com/item/CH341A-2…27424c4dvN9Lrg (£1.54)

https://www.youtube.com/watch?v=5NYe21nFSDI (Long video but it might save you time by watching it and avoiding some mistakes. He also links to the software you need in the description.)

Finally, my 7010 came without those blue caddy things and I found them here…

https://www.aliexpress.com/item/1pc-Hard…2949180523.html

@sith I’ve been trying to follow the advice of the guys on this forum, thats how I ended up with 2.60!
@sith watching the video now
I need one that allow you to flash without removing it from the board.

https://www.youtube.com/watch?v=2Y06x1f22B0

another good link
snakeman

Evening @Snakeman

The USB programmer can connect to the 8 pin test clip and then you can program the chip in situ. Assuming you don’t have any electrical components (chokes, capacitors or sockets) in the way as the test clip isn’t the smallest of things.

I will link another video which shows a laptop bios being reflashed in situ.

https://www.youtube.com/watch?v=vgbWtxv_hqM

@sith - 7010 BIOS is 12MB total, 4MB + 8MB - Unsure what your 6MB dump is, DOS FPT of BIOS region only? If you have programmer, use that instead, dump both BIOS, unless you are just more comfortable with FPT and BIOS region, that’s fine too
Just general statement there on the BIOS size/files, I’m sorry this thread is not specific to you and I tried to look back to see what’s going on and why you posted BIOS for me, but I can’t figure that out.
NVME insert does not go inside or near CMSCORE, that’s just given as example to select in MMTool to be sure you are selecting the correct volume # when you insert with MMTool.
As a generic example, here is image, I inserted NVME module (full size) into 7010 8MB BIOS Dump (Inserted at" FV Main Nested", after last DXE module - same volume as CMSCore then put after GUID 1712AD21-B6EC-4764-97C7-837DA5DDE4CD - IntelLOMUEFIdriverx64)

Dell-7010NVME.png



I have also test inserted at the other possible working location, at end of main BIOS volume, after DxeSbACPI and the full size module inserts there fine too, but I do believe above location is best method for this BIOS layout

Dell7010-NVME-OUtsideFVNested.png


I described this with GUID Details at post #143, as second method in my comments at that post. The main ideal method I also describe there, as shown in above image (inside FV Main Nested), this method in first image is the ideal and suggested insertion location IMO

All these inserted done with UEFITool 25, no reason particular for that version, it was just the one I had open then.

@Lost_N_BIOS

Bios Region Mod Only

I did take 12mb and 6mb dumps via FTP. I am more comfortable only modding the bios region. That’s why I’m modifying just bios region. Also, the service mode jumper still leaves some regions locked.

I saw in the 12MB Bios Descriptor that certain regions (i.e. ME) have locks with specific offsets. I haven’t been able to understand how to read these offsets and locate the piece of hex (Using HxD64) that I would have needed to change. I seem to get confused with trailing zeros on lines but will have a guess with the Bios lock (0Bh 0Ah)

Bios Region.PNG



I assume 0Bh is the line B which for some reason is labelled 000000B0 (why in HxD it has a trailing zero makes no sense to me unless they just want it 8 digits long! why not 0000000B!)

The column I guess is 0Ah which is likely labelled 0A (I understand the trailing h just signifies the number is hexadecimal)

HxD64 of 12MB Dos Dump.PNG



The bios lock location shows the highlighted code ‘FF’. Have I done this correctly?



The pictures I recently posted in #146 were looking at Snakeman’s mod which bricked his system. I believe my mod was at the correct location. I hoped you could verify this.

I will try the mod using an older version of UEIFtool 0.25.x if that is working, as my alpha version from Jan 19 didn’t allow the insertion.

I don’t have the programmer yet, but have bought one and learned how to use it, just in case. I hope I never need it and am much happier using FPT in dos.

The reason I shared the bios was to confirm that the normal size (uncompressed) NVME module could not be inserted into the correct place and that my insertion of NVME (small + compressed) was the only viable method. I also wanted reassurance that the MMTool compression method (Tiano) won’t render the mod unreadable. Other regions of the bios region which are compressed don’t have any description of the type of compression used.

I believe I read on another thread yesterday that someone else was forced to insert the small module compressed due to space on the 7010 bios.

Possible success. I downloaded the older UEIFTOOL 0.26.0 and I was now able to insert. The bigger NVME file was also able to fit. This is now the one I will install and forget about the other one. I am feeling brave. Tonight I flash the modded BIOS!

@sith I’m ready for the results so we can compare. My programmer is on the way also, I had to pay a lot more it than you. Should be here in a couple of days.

snakeman

Well @snakeman I class this evenings effort as 99% successful. At the end, I will let you know the 1% frustration.

I filmed the FTP process in case something went wrong I could review the video and find out what killed my PC! I uploaded it to YouTube so you can relive the nerve-racking 40 seconds of flashing the modded bios.

https://youtu.be/-QYe6DWuQLY

The system rebooted and loaded up into windows. Using the windows version of FPT I took a dump of the bios and compared it to my modded bios and they didn’t match. I assumed this was just as I had removed the service jumper before restarting and locks were back in place, so I loaded the bios dump into UEIFTool and searched for NVME.

I found one reference as expected and went to the search result to find that it was the ‘NVME Small’ file that was present. I had flashed the wrong modded bios version!!!

In DOS my filenames were too long and I had two bin files on the root and I believed they were the same but one was the moded version with small NVME (Made via MMTools) and the other was the one I made this morning with normal size NVME module (made via UEIFTools).

The lesson here is to only have one bin file in your DOS root or have short names


So now that I confirmed the mod had been applied and I hadn’t bricked the PC. Rather than flashing this morning’s bios version I thought let’s see if I can get it to boot from PCIe NVME drive.

I grabbed the adapter and NVME drive from my daughters PC, as she is on holiday and won’t find out. I shut down the Optiplex added the NVME drive to the graphics card slot and disconnected every other drive.

Turned on PC and it said 'No hard drive found. F1 To Continue F2 Setup F5 diagnostic etc)

I pressed F2 and had a poke around the bios. I found the ‘Mass Storage’ drive listed in the PCIe slot.

[[File:Mass-Storage-(2).jpg|none|auto]]

I was hopeful as it was at least seeing the NVME as a ‘Mass Storage’ device. I switched from legacy boot to UEIF boot options and restarted and again got the ‘No hard drives found’ message. My heart sank!

I pressed F5 and got the message that ‘No hard drives or drive controlled not recognised’ in the diagnostic program. My heart sank again.

I restarted with a windows USB installation disk in the front USB port and got as far as the windows program showing the NVME as a detected drive. There were a few error messages. I might have been able to install to here but I wasn’t willing to format my daughters NVME drive. I cancelled the installation, thinking when I get my drive and adapters I’ll try to do a fresh Windows install and see if having the formatting a different version (Not MBR but GPT) would possibly work!

Cancelling the install restarted the PC and I went through the bios again and did nothing of much substance.

I restarted and thought, what the hell one option left. I pressed F1 and in a few seconds, Windows had booted from the NVME drive.

Then through windows file explorer, I looked at the properties of the boot drive just to convince myself it wasn’t a dream.

Asgard-on-Optiplex.jpg



I couldn’t believe my eyes. Weeks I’ve been learning from the forum and my efforts have bloody worked again. I love this forum!

Here are the speeds of the Asgard NVME drive on the Optiplex 7010 via what I believe is a PCIe 2.0 slot (blue, x16 length and near the CPU).

Asgard-bench-Optiplex.jpg



Now the 1% frustration is that I might have to press F1 every time I boot the PC, unless I or some kind person on the forum can help me find a solution to this issue. I hope there is a bios setting to not halt on errors or something like that. But I’ve put back the NVME drive in my daughters PC and won’t tinker again until I have my drive and adapter.

Now for a well deserved Titantic Dark and Strong ‘Plum Porter’

Mass-Storage-(2).jpg

Ok guess what my work around is for my machine. It does the same thing. I installed a non boot drive on the sata connector! Boots everytime! How did you do that speedtest?


snakeman