Summary
The Orange Pi 6 Plus (CIX Sky1/CD8180) suffers from an ARM SMMU v3 interrupt storm that causes system freezes, SSH hangs, and network unresponsiveness — requiring hard power cycles to recover.
Root Cause
The UEFI firmware's ACPI IORT tables define a 2-level stream table for SMMU instance 0 (0x0b010000) that only covers 25 of 32 bits of the Stream ID space. Every PCIe DMA transaction generates a spurious event 0x07 (C_BAD_STREAMID), producing ~130 IRQs/sec on CPU0. This eventually starves the network stack.
All PCIe devices are affected:
0x0100 — Intel BE200 Wi-Fi 7
0x3100 / 0x6100 — Realtek RTL8126 5GbE Ethernet
0x9100 / 0xC100 — NVMe SSDs
Tested on BIOS v1.3 and v1.4 — both affected.
Workaround
We developed a fix that disables the SMMU event queue (clearing EVTQEN bit in CR0 register at 0x0b010020) via devmem2, applied at boot via a systemd service. All PCIe devices and DMA continue working normally.
Firmware Fix Needed
The IORT tables need to be corrected to either expand the stream table to cover the full Stream ID range, add proper STE mappings for all PCIe root ports, or configure identity mapping for PCIe devices at the firmware level.
Full Details & Fix
Complete diagnosis, technical analysis, and installable fix:
https://github.com/ErcinDedeoglu/orangepi-6plus-cix-sky1-smmu-fix
Summary
The Orange Pi 6 Plus (CIX Sky1/CD8180) suffers from an ARM SMMU v3 interrupt storm that causes system freezes, SSH hangs, and network unresponsiveness — requiring hard power cycles to recover.
Root Cause
The UEFI firmware's ACPI IORT tables define a 2-level stream table for SMMU instance 0 (
0x0b010000) that only covers 25 of 32 bits of the Stream ID space. Every PCIe DMA transaction generates a spurious event 0x07 (C_BAD_STREAMID), producing ~130 IRQs/sec on CPU0. This eventually starves the network stack.All PCIe devices are affected:
0x0100— Intel BE200 Wi-Fi 70x3100/0x6100— Realtek RTL8126 5GbE Ethernet0x9100/0xC100— NVMe SSDsTested on BIOS v1.3 and v1.4 — both affected.
Workaround
We developed a fix that disables the SMMU event queue (clearing EVTQEN bit in CR0 register at
0x0b010020) viadevmem2, applied at boot via a systemd service. All PCIe devices and DMA continue working normally.Firmware Fix Needed
The IORT tables need to be corrected to either expand the stream table to cover the full Stream ID range, add proper STE mappings for all PCIe root ports, or configure identity mapping for PCIe devices at the firmware level.
Full Details & Fix
Complete diagnosis, technical analysis, and installable fix:
https://github.com/ErcinDedeoglu/orangepi-6plus-cix-sky1-smmu-fix