We have interfaced PCIe devices through M.2 M-keyed slots since 2016. Those were 6th through 11th generation CPU with 100 series through 500 series chipsets. The 500 series chipsets support 10th and 11th Gen. CPUs.
We then tried to use the same equipment on 12th and 13th Gen. CPUs on 600 and 700 series chipsets and nothing worked. Or more accurately nothing worked thru the M-keyed M.2 slots. The hardware did work when plugged into the single card slot on the motherboards. Worked means the PCIe card enumerated and the device showed up in the device manager with its driver installed. We could look at the details tab for the device and see the PCI speed and width.
If we connect our M.2 to PCIe slot adapter that worked with all previous hardware we did get hardware based indications that the device was being enumerated by the PCIe subsystem on the motherboards, BUT we did not see the device in device manager.
HAS a REQUIREMENT FOR M-KEYED M.2 DEVICES TO ON RESPOND IF THEY ARE ACTUALLY DISK DEVICES BEEN HARD CODED INTO SYSTEM BIOS?
The M.2 Spec states M-keyed slots are only for disk devices. Did some genius decide that only disk devices should be allowed, then if the device is not a disk the device should not be loaded?