msi_ms7d25 pcie bus reset
Dasharo version Dasharo (coreboot+UEFI) v1.1.3
Dasharo variant msi_ms7d25
Question text Using an LSI FW643 FireWire800 -> PCIe 1.0 x1 card on this board I discovered an issue: cat /sys/devices/pci0000:00/0000:00:1c.1/0000:03:00.0/reset_method lists "pm bus".
On reboot, the device and its root port disappear, regardless of OS. On Z68, this was never an issue, neither was it on H87. In linux, echo -n "0000:03:00.0" > /sys/bus/pci/drivers/firewire_ohci/unbind produces a trace described here: https://lore.kernel.org/lkml/[email protected]/
Altering reset_methods reveals bus reset not working when using the vfio-bound device in qemu: pcieport 0000:00:1c.1: broken device, retraining non-functional downstream link at 2.5GT/s pcieport 0000:00:1c.1: retraining failed pcieport 0000:00:1c.1: broken device, retraining non-functional downstream link at 2.5GT/s pcieport 0000:00:1c.1: retraining failed vfio-pci 0000:03:00.0: not ready 1023ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 2047ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 4095ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 8191ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 16383ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 32767ms after bus reset; waiting vfio-pci 0000:03:00.0: not ready 65535ms after bus reset; giving up twice, then: vfio-pci 0000:03:00.0: Unable to change power state from D0 to D3hot, device inaccessible vfio-pci 0000:03:00.0: Unable to change power state from D3cold to D0, device inaccessible
My proposed patch was of course reversed due to it working fine everywhere else. The issue effectively prevents it from being bound to a qemu windows guest.
MSI support did not want to help, claiming the device is "too old". Many generations of Apple computers used this PCIe-FW800 interface chip, they still sell it as the Thunderbolt-to-FireWire adapter.
Switching from MSI UEFI to coreboot has improved stability for me immensely, the FW643 enumerates on every cold boot (full-power-off) but bus reset doesn't work there either.
Does Z690 even support PCIe 1.0 bus reset? I've read of other Z690 and even Z790 boards also having missing PCIe devices after reboot.
Is there anything that can be done here? If not, could we ask intel about this?
The draw to FireWire lies in availability of "old" but excellent professional audio interfaces. Aside from the issues on linux and the device missing after reboot, on Windows the FW643 can stream multi-channel audio to an interface 24/7, it works flawlessly there, on the ms7d25, coreboot or stock uefi.
Please try to gather logs from a good and bad case using these instructions: https://docs.dasharo.com/common-coreboot-docs/dumping_logs/
I've sent them to you via email so the files won't be on the internet forever. Is this appropriate?
The logs I have requested do not have any sensitive information (maybe except storage serial numbers from disk enumeration, possibly). This is also fine to send them over email.