Fixing USB 4 Compatibility Issues on Gigabyte Z590I VISION D

July 13, 2025


Last week, I upgraded my homelab server from the Gigabyte Z490I AORUS ULTRA to the Gigabyte Z590I VISION D to take advantage of its faster Thunderbolt 4 connectivity. Unfortunately, I found that my USB 4 hard drive enclosure with an ASMedia ASM2464PD controller was not functioning at all on this board. After a frustrating week of searching for solutions, I finally managed to resolve the issue by upgrading the on-board Thunderbolt NVM firmware. If you are experiencing difficulties with USB 4 devices on older Intel Thunderbolt 4 platforms, this article may help you.

Thunderbolt Firmware

According to the Linux Kernel documentation, PCs typically come with a firmware connection manager for Thunderbolt 3 and early USB4-capable systems, while Apple systems and later USB4-compliant devices utilize a software connection manager. This may explain why my ASM2464PD USB 4 controller worked seamlessly on Macs but not on the Z590 board.

My Z590 board features the Intel Maple Ridge Thunderbolt 4 Controller (Intel JHL8540), which is currently stuck on NVM firmware version 28.0 due to Gigabyte not providing any updates.

# cat /sys/bus/thunderbolt/devices/0-0/nvm_version 
28.0

Users have reported that the ASM2464PD will function on Maple Ridge with NVM firmware version 36 or higher.

Upgrading NVM on Thunderbolt Host Controller

The Linux Kernel documentation also states that the NVM firmware is upgradeable. It appears that the only way to get the ASM2464PD working on my Z590 board is to perform this upgrade. But how can you accomplish this if Gigabyte has not released any firmware updates?

Fortunately, ASUS offers a ThunderboltEX 4 expansion card, which uses the same Intel Maple Ridge JHL8540 controller as my Z590 board, and they regularly release firmware updates.

To flash the NVM firmware on the Intel Maple Ridge, you will also need a recent Linux Kernel, as the upgrade capability was enabled following this commit.

WARNING: Before upgrading firmware on a device, host, or retimer, please ensure it is a suitable upgrade. Failing to do so may render the device unusable without special tools!

Once the NVM image (NVM.bin in this case) has been downloaded, we need to connect a Thunderbolt device to activate the host controller. In my case, I plugged in my Mac.

Next, we can write the firmware to the non-active parts of the NVM of the host. Here’s how I upgraded my Z590 board:

# dd if=NVM.bin of=/sys/bus/thunderbolt/devices/0-0/nvm_non_active0/nvmem

After the operation completes, we can trigger the NVM authentication and upgrade process as follows:

# echo 1 > /sys/bus/thunderbolt/devices/0-0/nvm_authenticate

If no errors are returned, the host controller shortly disappears. Once it comes back the driver notices it and initiates a full power cycle. After a while the host controller appears again and this time it should be fully functional.

We can verify that the new NVM firmware is active by running the following commands:

# cat /sys/bus/thunderbolt/devices/0-0/nvm_authenticate
0x0
# cat /sys/bus/thunderbolt/devices/0-0/nvm_version
43.83

If nvm_authenticate contains anything other than 0x0 it is the error code from the last authentication cycle, which means the authentication of the NVM image failed.

Note names of the NVMem devices nvm_activeN and nvm_non_activeN depend on the order they are registered in the NVMem subsystem. N in the name is the identifier added by the NVMem subsystem.

Conclusion

After upgrading, the ASM2464PD should work flawlessly with Maple Ridge. You can verify this by using the lspci command:

# lspci | grep ASMedia
0d:00.0 PCI bridge: ASMedia Technology Inc. Device 2463
0e:00.0 PCI bridge: ASMedia Technology Inc. Device 2463

There is one thing worth mentioning: since we flashed an ASUS firmware onto the Gigabyte board, the vendor name and device name of the on-board Maple Ridge also changed:

# cat /sys/bus/thunderbolt/devices/0-0/vendor_name 
ASUS 
# cat /sys/bus/thunderbolt/devices/0-0/device_name 
THUNDERBOLTEX 4

It looks funny, but hey, it just works! :-P


Last updated July 13, 2025 by Fang Ling.