Kernel arguments were unnecessary to bring device up, I'm using Q35 UEFI and both Ubuntu 23.10.1 and last OpenWRT snapshot are able to initialize device with following libvirt XML additions:
<features>
<ioapic driver="qemu"/>
</features>
<devices>
<iommu model="intel">
<driver intremap="on" caching_mode="on"/>
</iommu>
</devices>
Both intremap and caching_mode were necessary for device to initialize, the rest are required for those two to work.
Kernel argument intremap=on shouldn't be necessary because it is on by default, similarly iommu=pt and intel_iommu=on shouldn't be necessary.
This is on Epyc 7302P processor.
In Ubuntu 23.10.1 (I used Live ISO) I couldn't see any networks and hotspot wasn't working either (at least didn't seem to). In OpenWRT I can configure everything and AP seems to be up, but I don't see it on end device:
root@OpenWrt:~# wifi status
{
"radio0": {
"up": true,
"pending": false,
"autostart": true,
"disabled": false,
"retry_setup_failed": false,
"config": {
"path": "pci0000:00/0000:00:02.3/0000:04:00.0",
"channel": "1",
"band": "6g",
"htmode": "HE20",
"cell_density": 0
},
"interfaces": [
{
"section": "default_radio0",
"ifname": "phy0-ap0",
"config": {
"mode": "ap",
"ssid": "OpenWrt",
"encryption": "psk2",
"key": "11111111",
"mode": "ap",
"network": [
"lan"
]
},
"vlans": [
],
"stations": [
]
}
]
}
}
What else can I debug from here? Everything seems to be working, but it clearly doesn't. Maybe I can enable driver-level logs?