I encountered a reproducible Intel Arc B580 issue on TrueNAS 26.0.0-BETA.3 with kernel 6.18.42-production+truenas.
Hardware:
- Intel Core i5-14600K
- MSI PRO Z790-A MAX WIFI, latest
M.B0BIOS - ASRock Intel Arc B580 (
8086:e20b)
The B580 initializes normally, but about 25 seconds after boot its PCIe hierarchy enters D3cold and fails to resume:
pcieport 0000:00:01.0: retraining failed
pcieport 0000:00:01.0: Data Link Layer Link Active not set in 100 msec
xe 0000:03:00.0: [drm] *ERROR* DC state mismatch
snd_hda_intel 0000:04:00.0: CORB reset timeout#2
xe 0000:03:00.0: Runtime PM usage count underflow!
TrueNAS then fails to enumerate any GPUs because its PCI bridge scan receives EINVAL:
truenas_pylibvirt/utils/iommu.py", line 86
secondary = int(f.read().strip())
OSError: [Errno 22] Invalid argument
Updating the motherboard BIOS and disabling ASPM/L1 did not help.
This kernel option works around the issue:
xe.dmc_firmware_path=/dev/null
I applied it through TrueNAS Kernel Extra Options. After reboot, the B580 remains in D0, its PCI bridges remain readable, and both device.get_gpus and app.gpu_choices successfully return the B580 and UHD 770.
sudo midclt call system.advanced.update \
'{"kernel_extra_options":"xe.dmc_firmware_path=/dev/null"}'
The workaround disables DMC/runtime PM and therefore increases idle power. The kernel also notes that TrueNAS provides B580 GuC firmware 70.40.2, while 70.49.4 is recommended. There may be some power state handling fixes there, looking forward to an update when TrueNAS bumps its kernel / dependencies.