Can I add vt-d to my Bios

@Lost_N_BIOS and @Fernando I’m tryiing to create an unraid box with existing hardware I have. I would like to use my optiplex 3020 but it does not support VT-d. The processor does but not the bios. I was concerned about the chipset (H81) bit my friend has a Dell Inspiron 3847 with same chipset but it supports VT-d. I have attached both with service jumper in place. I need VT-d for pci-e pass through.

mod_3847_spi.zip (3.46 MB)

mod_3020b_spi.zip (4.44 MB)

This is broken mod (3020b) FIT Table (Define for the BIOS/ME, the CPU Microcode locations) is broken, I assume it was not like this by default, confirmed with stock BIOS below, just heads up that it’s bad mod whatever you did to it before this dump.
Actually, both BIOS have broke FIT Tables, probably due to bad SLIC Mod. This will likely break many CPU functionality features since the microcode for CPU wont get loaded properly (at all)

Dell-3020-FIT.png



I can fix that for you if you want, let me know

I checked both BIOS, the 3847 is a more complete actual BIOS vs the very limited 3020 BIOS.
You do not have Vt-d to unhide in this BIOS, only “virtualization” option is there, textually it remains as a reference but the coding and actual control is removed. Nothing can be done about that
However, that may only apply to this 3020 BIOS, isn’t there 2-3 different 3020 form factor BIOS? If yes, download the others and upload for me and I’ll check those

* Edit - maybe your friend is confused on which chipset he has in the 3847, I see this for H81 chipset (No Vt-d support)
https://ark.intel.com/content/www/us/en/…81-chipset.html
https://www.overclock.net/forum/6-intel-…therboards.html
https://www.reddit.com/r/gpumining/comme…st_cpu_for_vtd/
https://forums.tweaktown.com/asrock/5749…html#post482701
No H81 here either - https://en.wikipedia.org/wiki/List_of_IO…orting_hardware

So I checked 3847 specs, and it’s H81, but maybe that’s only at launch time and later released boards have H85 or H87, does his chipset specs look same as yours in CPU-z, HWINFO64, AIDA64?



I can answer that one.

Intel had some nomenclature problems regarding what they call VT-d. At least in the Haswell generation (Not sure Sandy Bridge/Ivy Bridge nor later), you require just a Processor with VT-d support and Firmware support to get the standard feature set associated with a working IOMMU, like VGA Passthrough. You can see here and here that VT-d is even an available option in some H81 Motherboards.
I recall that me and some other users strongly argued with an ASUS representative back at XtremeSystems 6 or 7 years ago about this, since they claimed that they didn’t had VT-d support on consumer Haswell Motherboards since the Chipsets didn’t supported it, yet other manufacturers like ASRock got it working pretty much across all Motherboards.

What Intel DOES call VT-d support in a Chipset, is found at Page 5.29.2 of the Intel 8 Series Chipset Data Sheet. It includes FLR (Function Level Reset) support for a few of the Chipset integrated PCI Devices. As an owner of a Motherboard with a C226 Chipset that officially supports VT-d, I can confirm that a full lspci -vvv in Linux confirm that these Devices support FLR (FLR+), whereas none of the consumer Chipset I saw had it (FLR-). I’m not sure about IOxAPIC and HPET virtualization, though.

@Lost_N_BIOS @zir_blazer Hey I thought I did a good job with the slic mods. I used phoenix/Dell/EFI Slic tool v2.73. Yes Lost cpu-z shows H81. I just did a pci-e passthrough with intel 4x nic card. “at his place now”. That blows a little I need to find another machine I guess. @zir_blazer I’m going to check on lspci -vvv. I hate asking but how can I do the slic 2.4 mod with screwing up the tables?

snakeman

Thanks for the info @zir_blazer - so, sounds like this is a Dell 3020 BIOS Limitation now at this point then, correct?

@snakeman - I can fix the BIOS mods you have now, leaving SLIC stuff alone and just correct the FIT Tables. And, please check and link me to the other 3020 BIOS, I think there is 2-3, one SFF one standard etc, maybe one of those would have VT-d and I could get it copied over for you easier that way.
Do you have flash programmer? If yes, we can possibly get you flashed over to 3487 BIOS if you wanted, how similar are the boards do you know?

3020FixFit.png

3487-FixFIt.png



Here’s both BIOS you attached with fixed FIT Tables.
http://s000.tinyupload.com/index.php?fil…971878230049623

As for how to do without screwing this up, it depends on the BIOS and tools/methods used, some mods may not rebuild the volume that includes mircodoes, others may no matter what.
Probably best to check afterwards, and fix I/when necessary. This is easy to do, I need to update my guide on this so it’s much easier for users to do (I’ll try to update in next few days) - [GUIDE] Update CPU Microcode + Fix FIT Using UEFITool / Hex

My programmer should be here today or tomorrow. The optiplex 3020 is a MT model the USFF/DT/SFF models none of them have VT-d. Strange how they decided to cripple an optiplex model. I don’t have an optiplex 7020/9020 my guess is they have VT-d. My guess they are a different chipset. maybe Q87 so they would have support for Intel Vpro. I just checked an old acer X2630g with H81 and even it has VT-d. Maybe I should buy it from him nope SFF model. I used the UBU tool to update the drivers on both bioses also. I hope that did not screw up the tables.

Link me to all the BIOS for the 3020 I will check, maybe they don’t have Vt-d visible, but maybe could be hidden and still possible to enable. It used to be in the base BIOS they used to make your BIOS, that’s why I think maybe one of the 3020’s could possibly have it.

If you edited BIOS above I posted for you in #5, you can open in UEFITool NE version after you are done, and check FIT Tab at bottom, if it’s blank on right side then yes it’s messed up again. UBU is usually good at not breaking the FIT table, but sometimes it happens, so always check
https://github.com/LongSoft/UEFITool/releases/tag/A55

Dell 7020 and 9020 are both Q87 chipset, I checked neither BIOS has Vt-d, so seems like this is a consistent Dell issue, at least for these models mentioned so far.

@Lost_N_BIOS Here is what I think is strange the 3847 only has VT-x in the bios but it activates both VT-d and VT-x and it works not crippled at all!


Dell optiplex 3020
https://downloads.dell.com/FOLDER05300304M/1/O3020A19.exe

Dell optiplex 7020
https://downloads.dell.com/FOLDER05278229M/1/O7020A17.exe

Dell Inspiron 3847
https://downloads.dell.com/FOLDER0500704…47_3847_A10.exe

Yes, that is strange, Vt-x is just virtualization, which they all have. Do you have links to all the 3020 BIOS variant/models or not? Above links I already have those, that your standard 3020 BIOS linked above, isn’t there SFF/USFF/DT/SFF models all still 3020?
If you have flash programmer for recovery, I can swap setup, AMITSE and AMITSE/SetupData from whatever model you think is most similar (board-wise) and that may work, but you have to be able and ready to recover (programmer in hand, backup made) before I’ll do that in case it fails.

@Lost_N_BIOS
Looks like one size fits all! I can find no no links for opti 3020sff/DT/MT just one bios for all!
I no not currently have one(sff) a relative needed a computer so they have it. I contacted him he said he upgraded with the same link I posted above.

That is a little odd.

The 7020 has the intel nic 3020 has the realtek, sorry just thinking out loud.

My programmer should be in the post today.

That’s a new one, but I can see it happening, I didn’t check because I’m not familiar with these so wasn’t sure which terms to search to get what models etc.
If you do not have this system, then we can’t test the swapped stuff I mentioned, unless you’re friend who has the 3020 also has a programmer and SOIC8 test clip cable (Or you can go to his house)

* Edit, digging around in a 7010 BIOS for someone tonight, I see it has “VT for Direct I/O” as the setting name, not VT-d, so I’ll have to check back on 3020 again now and see if I find that instead!
*Edit 2 - no luck, but I do see this, maybe helpful for what you wanted to do, but probably not since it’s already set to Direct I/O by default
PECI Access Method, VarStoreInfo (VarOffset/VarName): 0xC53, VarStore: 0x2, QuestionId: 0x381, Size: 1, Min: 0x0, Max 0x0, Step: 0x0 {05 A6 79 0A 7A 0A 81 03 02 00 53 0C 10 10 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00}
One Of Option: Direct I/O, Value (8 bit): 0x0 (default) {09 0E 7B 0A 30 00 00 00 00 00 00 00 00 00}
One Of Option: ACPI, Value (8 bit): 0x1 {09 0E 7C 0A 00 00 01 00 00 00 00 00 00 00}


Yes. I have fought against Motherboard vendors for not including controls for either Intel VT-d or AMD-Vi/IOMMU for a good part of the year 2013. If you googled about this issue and found topics around that date, there is like 90% chance that you have seen my old Posts. Based on old info, it was not precisely simple to do a BIOS mod to add these as the options weren’t there to begin with, so you couldn’t simply unhide them. The old "IOMMU supporting Hardware" lists that included Motherboards were precisely because people checked if they had an option in the BIOS to enable the IOMMU (Usually either by checking the BIOS itself, or looking in the Manual if such an option was mentioned). There were also issues with broken or missing ACPI DMAR (Intel) or ACPI IVRS (AMD) Tables, sometimes BIOS updates broke them and many people begged manufacturers for fixes with no response. ASUS was the worst offender.
Getting VGA Passthrough working 6 years ago was quite a challenge, those were rather chaotic times for pioneers. Actually, that is the whole reason why I got a Xeon E3 and Supermicro X10SAT on the first place :slight_smile:



If you are assuming than VT-d is enabled by default, then what the user needs to do is to actually test if VT-d works. It may be possible than he thought that because there is no option to enable it, it is disabled by default (Actually, I never heard that for some people it was enabled by default with no chance to turn it off!).

I suppose that he should try to run a Linux LiveCD of which he can edit the Boot Loader to add intel_iommu=on as a Kernel Parameter, then check if IOMMU Groups are created.

@zir_blazer - I remember years back many users fighting for IOMMU, so yes, I probably have ran into your posts from time to time back then

On the second comment you quoted, I am not sure, I only dropped that out there as a BIOS setting I found in the 3020 BIOS. I am not sure what “PECI Access Method” means, and I do assume that’s not a typo for PCIE.
I do not know how any of that works, VT-d, IOMMU etc, I only know how to mod BIOS and enable settings that are hidden.
Sometimes I can add but not in this instance, other than swapping modules from BIOS that does have, but in those cases board needs to be nearly similar and user has to be ready to recover via hardware in case of failure

* Edit - from results in google it seems like this is fan control, temps, stuff like that and other related things, nothing to do with what we’re discussing
https://en.wikipedia.org/wiki/Platform_E…ntrol_Interface
https://forums.anandtech.com/threads/why…-disabled.6147/
http://www.xtremesystems.org/forums/show…-bios-ON-or-OFF

@zir_blazer I 've done a ton of testing with the optiplex 3020 with proxmox, debian, ubuntu, and live cd. Its not working! “VT-d” A great little motherboard/machine. I’ve had really crappy motherboards that had it working perfectly. The 4th gen intel processors have plenty of juice left! The supermicro stuff has always been a little pricey for me.

@Lost_N_BIOS My programmer is here I hope all the attachments made it. I’m ready to play I will do a couple of backups with the programmer and fptw. I assume the flash will be the best backup.

Thanks for all the help,

snakeman

@snakeman - Best backup will be with programmer (both chips), make sure programmer says it’s verified chip and buffer, then save. Do not use “Auto” in the software it’s first function unless you uncheck it is erase! Manually use only read, then verify, then save if it’s a match.
Then open that file in hex and make sure it’s not all FF or 00, and then also open in BIOS tools and make sure it looks like all your other BIOS files in that same software, that way you know you have a good backup before proceeding with anything.
This also will help you find out which software version and chip ID works best for your system, that way when you do have to recover you will be ready and it will only take a few non-stressful minutes

Which system model has the motherboard that most closely matches your 3020 one? Our best chance for success is using modules from a board that is nearly the same as your current one.
Some systems might even use same exact board, and often in those cases you can straight cross-flash too.

@Lost_N_BIOS the Inspiron 3847 has wifi built in on the board has one less pcie x1 slot. The 3020 has an odd 8 pin power connector the 3847 has the traditional 24 pin. other than that the layouts look similar.

Optiplex 3020 DP back I/O
https://www.amazon.com/Genuine-Dell-Opti…M/dp/B010RCKB36

insipron 3847 HDMI I/O
https://www.amazon.com/Inspiron-Socket-M…1/dp/B01JG21SJY

Now all it seems that they share, the H81 chipset,[sad

@Lost_N_Bios Are we still playing

Hello Guyzzz,

I see these options in my bios via AMIBCP

1) Intel Virtualization Technology (Vanderpool) -dasabled by default but shown in BIOS settings
2) Intel TXT (LT) support -disabled by default, not shown by default in bios
3) VT-d function on MCH -disabled by default, not shown by default in bios

but only one works on my CPU i know… and it is OK

Hi,
BTW I have found that some O’C unlocked CPUs have disabled VT-d I/O.
E.g. my i7-2600K intel ark says no
http://ark.intel.com/content/www/us/en/a…o-3-80-ghz.html
while standard version of i7-2600 have Vt-d
http://ark.intel.com/content/www/us/en/a…o-3-80-ghz.html
Did someone investigated how is it disabled on K version? Is it done in silicon by LASER burning of some jumper or is it disabled by microcode or BIOS? Any chance to enable it via MSR or old ucode?