This is a newly registered CN user, and I'm excited to share "my progress", cause this would definitely help those
Thunderbolt 1/2 device users (including me) who have been disturbed by the recent BIOS update.
As we know,
ThunderBolt 1/2 device, although they would not show up in the Thunderbolt control center, would actually work with Thunderbolt controller firmware version NVM 31. However, in newer NVM 36 firmware, Intel intentionally dropped Thunderbolt 1/2 device support (suck Intel), and the firmware is included in BIOS 2204 (Asus did not mention it until a recent update of release note).
As a Focusrite Clarett 2Pre (Thunderbolt 1?) user, I've been stuggling for over a week seeking for a solution.
A flash of SM-BIOS chip (containing BIOS and ME) with SPI-flasher would not help (seems Thunderbolt controller firmware is stored in another chip). In previous posts, I also found a Thunderbolt firmawre update shell efi for the board, but the tool would check firmware version and permits upgrade only. Asus CN responsed that they can only provide firmware flash service if I choose to apply for repair service and send the board to them.
I also contacted Asus HK, and received a response that their engineer would make an attempt. I did not even expected they would help more than Asus CN. However, after about 3 days, I receive the email as following:
The pack (in Google drive and the copy in attach here) includes 3 files ("ProArt-Z690-CREATOR-WIFI-ASUS-9901" in .cab, .cap, .rom). Strangely the
version is 9901 (also shown in my BIOS dashboard after flashing, probably just a random name).
I'm not sure whether I can flash to other BIOS afterwards (during contact, I mentioned that my current BIOS is 1720 with ME 1735. I don't know if the BIOS is a modification of 1720 or not). As far as I tested,
the .cap file works no problem with EZ Flash, my Thunderbolt firmware went back to NVM 31, and my Focusrite interface went back alive!
For me, I probably would not attempt to update BIOS and ME afterwards (in order to mantain compatibility). Regaring Asus HK, I could not appreciate more for their diligence and helpful service.
As they sent the BIOS to me, I think they would not mind me sharing the files publicly. For convenience, I also attached the files here. Hope they would be helpful to more people. Best wishes!
Lastly updated of following part: 2023.4.5
BIOS 9901 is basically confirmed as a modification of version 1720 (contains same ME 16.1.15.1735), which indicates that it support 13th-gen intel K or KF processors (non-k CPU were not, as they were not released yet).
Althogh not proved, I'm personally worrying that ME firmware version 16.1.xx.xxxx (contained in BIOS newer than 1720) would cause incompatibility issues in Hackintosh (one reason I choose not to upgrade BIOS). ME seems to be a co-operator of motherboard, with its own CPU and allocated DRAM. ME firmware is stored in SM-BIOS chip with BIOS block. 12th-gen Core platforms suffered from performance and compatibility issues due to the use of new technologies (including DDR5, P-E cores), and new optimization are often added through not only BIOS but also ME (version 16.x). Strangely for Asus 12th and 13th-gen platforms, altough ME is already contained in BIOS image, ME update requires seperate update tool (can be downloaded from official website).
Sadly, 16.x ME cannot be downgraded without a SPI-flasher (various 3rd-party software tools tested).
As far as I tested, these operation are allowed:
- Upgrade BIOS to higher version (of course)
- Upgrade BIOS 9901 to 2004 or higher (EZ-flash recognized, but I did not continue for further check)
- Change BIOS 2204 / 2103 / 2004 / 9901 from one to another
This operation is
not allowed (without a SPI-flasher):
These operations can be done after a series of operations using
UEFI-editor:
- Downgrade BIOS from 2004 or higher to 1720 or previous (restricted by Asus)
- Downgrade BIOS from 9901 to 1720 or previous (upgrade to 2103 first, and downgrade afterwards)
- Downgrade BIOS 2305 to any previous version
Basically
you need to what I did:
- Get a copy of current BIOS and target BIOS (.CAP file from official website is fine)
- Extract required components with UEFI-tool and IFRextractor
- Analysis with UEFI-editor, find the location of "BIOS lock" key value
- Turn the fuction on by modifying BIOS value temporarily with reformatted USB disk and modded efi shell, BUT rename the .efi to "shell.efi" and put it directly into the USB disk (instead of USB:\EFI\BOOT\BOOTX64.EFI by the instrctions from UEFI-editor page)
- Extract .ROM(raw BIOS image) from target .cap (File->open image file->right click section shown->extract body), and change the suffix to .bin
- Flash the .ROM file with Flash Programming Tool (FPTW) for ME 16.x
Detailed steps (1 to 4) and necessary tools can be found in the UEFI-editor page (with links to other tools, except FPTW for BIOS with ME 16.0.x, which I found
here, and I attached the tool in this post for convenience).
(!!Check this!!!) For BIOS 2103/2204/2305 (as example): if you have current BIOS 2103, then after step 3, you can search "BIOS" in the left-bottom, and find "BIOS Lock". For 2103, it should look like this:
For 2204:
For 2305:
As shown, "BIOS Lock" have "VarStoreName" PchSetup and "VarOffset" 0x1D, enable corresponds to 1, and the lock is enabled by default. According to the instructions, you should type this before you type reboot (Size is 1):
sample:
setup_var_cv VarStoreName VarOffset Size Value
our case:
setup_var_cv PchSetup 0x1D 0x1 0x0
Before reboot, you can read the value for double-check:
sample:
setup_var_cv VarStoreName VarOffset Size
our case:
setup_var_cv PchSetup 0x1D 0x1
For the next boot (only), BIOS Lock would be disabled temporarily, so you can use FPTW for flashing. For powershell:
./FPTW64.exe -f xxx.bin
Warning: the value shown only applies to BIOS 2103/2204/2305!!! If you are using 2103, then you can copy the command code direcly; if not, you should analysis the BIOS by yourself, as the values may NOT be the same!
Note: strangely, IFRextractor fails to read BIOS 1720 and 9901. If you want to change from 9901 to others, you can simply upgrade to 2103, and then apply the example.
If you have questions related, feel free to comment