The previous topics got out of hand so I will summarize:
I’ve been playing with an Asus Z890 with a 265K.
There are 3 USB controllers on the mainboard.
Meteor Lake TB4 USB/NHI
JHL9580 TB5 USB/NHI
7f6e USB at 80:14.0
Note: NHI is not a USB controller, it loads the thunderbolt driver. It’s complicated because the NHI and USB share the port depending on what you put in it - TB, USB, DisplayPort alt, etc.
The TB USB controllers
These seem pretty useless if you ask me, whatever I put in those, it somehow gets tunnelled to the 80:14.0. So even if you give them to a VM, it doesn’t help. I did buy a type c to type a hub. Putting inside one of the TB ports, plugging stuff in it, then the stuff shows up on 80:14.0 USB controller.
The 80:14.0 MB USB controller
Out of the box, the USB controller on the mainboard can’t be passthroughed.
@Bloged made a brilliant fix which I finally got to use today. Apparently the architecture of the Arrow Lake is different so there are additional PCI bridges.
The patch basically treats the second bridge as PCI root too. Makes sense but it hasn’t gotten approval from @marmarek yet.
So, after applying the patch, I still have to allow non-strict reset. Otherwise it won’t work.
Curiously, I get the Aura RGB controller plus two other USB devices(Type C to DisplayPort) inside my sys-usb. I wonder if there’s any security risk here. What would happen if the Type C to DisplayPort usb devices were hacked? Could they interact with my monitors.
Technically speaking TypeC to Displayport cables contain these devices but they don’t seem needed.(because even if I keep my main USB controller with pciback driver inside dom0, ignored, my monitors still work).
Getting a second USB controller
So to speak, I’ve added a USB controller via a PCIE slot.
I’ve tried with both the PCI-E 4.0 x4 and the PCI-E 5.0 x16. Both slots work. No need for strict reset or permissive. ASM3142 if anyone is curious.
Ethernet ports working during suspend or shutdown
ErP setting in Bios cuts power
Checking traffic nothing seems to be happening, no open ports either
Some errors I see in the dmesg when the ASM3142 is passthroughed
Will post later but it works.
On usb authorized kernel flag
I can’t do the whole authorized=0 usb flag. My keyboard uses a USB hub so it’s not detected. Probably a common issue.
On the topic of monitors
To get my monitors out, I’ve tried three strategies:
a) use MST and connect directly via Type C to Type C cable(should be using Display Alt)
b) use a TB4 dock in whatever port
- if I disable TB drivers/bios functions/etc. it functions identically doing Display Alt
- can be finicky if you replug
- could be a security risk, has other things in it, which would appear in dom0 like USB devices and so on
Notes for a) and b):
Since my monitors have built in hubs and other things, these do actually appear to whichever VM I pass the TB controllers to. But the monitor outputs always stay in Dom0. Passing through these things won’t ever give your VMs monitors.(unless you use an eGPU).
That gets us to the most secure option.
c) Type C to DisplayPort cables
Essentially one per monitor allowing you to bypass the TB, use Display Alt and to not allow the stuff jn your monitors to connect to Dom0.
Audio
Type C to DisplayaPort cables do support Audio too, so if your monitor has a 3.5mm, all set
On the topic of TB things getting into Dom0
Perhaps giving the main USB controller at 80:14.0 to sys-usb actually fixes this, since then those devices would probably get inside sys-usb. I will later try and confirm.
APIC errors
I am getting APIC ID mismatch errors inside Dom0 on boot. Similar to what @Bloged is getting. I wonder if these would be trouble when I get to do a GPU passthrough.
Please advice everyone.
I haven’t updated the BIOS yet btw.
[Firmware Bug]: CPU .: APIC ID mismatch. CPUD: ... APIC: ...
[Firmware Bug]: CPU .: APIC ID mismatch. Firmware: ... APIC: ...
cpu ... spinlock event irq 2..
NPU/VPU errors
I noticed the CPU has an NPU for AI stuff. I’ve tried passing it through but inside the VM I am getting an error that it can’t go from D3 Cold state to D0 hot or something. Basically it’s like the device can’t start.
intel_vpu 0000:00:07.0: Refused to change power state from D0 to D3hot
TB errors
Now that I think about it, I think I saw similar D3 cold/hot errors. I will look into it more.
Fans/PWM
I am pleased with the nct6775 driver. Inside dom0, I can get all temps, RPMs and control my fans too. It’s really nice since you can actually bypass the BIOS. Note: the CPU temp is a bit different from the one you’d get outside Xen if you used sensors. I think it’s fine though. No per core temp.
OpenRGB
I did try using it to control the RAMs RGB lights. Bad idea. Got errors and on reboot got stuck until hard reset. On a second note, SPD modification is disabled in the BIOS, so perhaps it would have worked. Too risky anyway. My advice is to stay away unless you know what you’re doing.
Kernels
6.17 seems to behave same as 6.12
Help needed:
APIC ID mismatch errors, NPU/TB cold to hot state D0/D3, errors in Kernel log related to the ASM3142 passthrough