Many interesting chipsets for retro networking are equipped with the older PCI bus instead of the current PCIe interface.
There are a number of PCIe->PCI bridge chipsets available, with varying levels of quality/reliability.
If you have tested a new chipset or revision of a bridge chip listed here, please update this page.
The ASMedia ASM1083 (PCIe to 2x PCI) and ASM1085 (PCIe to 5x PCI) chipsets seem to have problems with interrupt handling.
This will flood the kernel log with messages like:
pcieport [...]: PME: Spurious native interrupt!
ASM1083/1085 also seem to have other issues related to DMA/IRQ handling. Many soundcards seem to have issues as well.
- ASM1085, datecode: 1040 (40th week 2010), rev 01 (not working)
- ASM1083, datecode: 1106 (11th week 2011), rev 01 (not working)
- ASM1083, datecode: 1127 (27th week 2011), rev 01 (unknown)
- ASM1083, datecode: 1218 (18th week 2012), rev unknown (not working)
- ASM1083, datecode: 1346 (46th week 2013), rev 04 (working with pcie_aspm=off cmdline)
- ASM1083, datecode: 1350 (50th week 2013), rev 03 (not working)
- ASM1083, datecode: 1438 (38th week 2014), rev 04 (working with pcie_aspm=off pci=noaer,nocrs)
Cards with a revision (check lspci) higher than 03 seem to work better. With ASPM enabled (by default), they will still flood messages about interrupts.
Make sure you get Revision 04 or higher and disable ASPM!
Common on many Gigabyte motherboards. Untested.
Common on "PCI-E To Dual PCI Riser Cards" and some PCIe->PCI adapters. Untested.
The "PCI-E To Dual PCI Riser Cards" have some sort of issue and won't get recognized at all in most systems. Reason is still unknown, pending investigation.
Used on StarTech.com PCIe to PCI adapter card.
Seems to work fine, with default kernel settings, interrupts work, legacy I/O writes work.
03:00.0 PCI bridge: Pericom Semiconductor Device e113
HFC-S ISDN card, ES1371 sound card and Matrox Mystique graphics card were tested successfully.
Sangoma Wanpipe cards (A104D) were tested successfully.
Issues reported with Sangoma Wanpipe cards, specifically: Cards enumerate quite fine, are visible in lusb and driver binds to it. However, their interrupts never reach Linux, neither the registered interrupt handler, nor does the counter in /proc/interrupts ever count up.