m.2 keying: A+E vs M+B

I guess this is a motherboard related question since it's about a motherboard expansion slot. m.2 is quite confusing as you all know, and I have sort of an academic question about different keying.

I know that m.2 supports more than just PCIe. For example, some devices connect to m.2 that use SATA, some use USB (esp wireless network cards). Which raises a question... correct my if I'm wrong, but keying is purely a physical thing, right? It shouldn't tell you anything about the interface used by cards that fit in that slot. At least, that's how I used to understand it.

I ask because I've been looking at m.2 cards for 2.5GbE, and there are cards that have Intel's I225 chip, and cards that have Realtek's 8125B chip. I usually go for Intel for network stuff when given the choice between the two... but I don't have a choice! My motherboard's "WiFi" slot is E-keyed, and the only 2.5GbE cards that I'm finding that are A+E keyed are Realtek. For some reason, every Intel card is M+B, nothing A+E. I had just a guess, but maybe one of the two vendor's chips only work with USB, and that's why a particular key is used for all the finished cards with their chip onboard?

Any other ideas why the two chip vendors only have products shipping with different keys? At the end of the day, Realtek is the only available option for my situation, so that's what I bought, but I'm curious why there's even a difference.
 

IceStorm

Ars Legatus Legionis
24,871
Moderator
Last edited:

cogwheel

Ars Tribunus Angusticlavius
6,691
Subscriptor
I know that m.2 supports more than just PCIe. For example, some devices connect to m.2 that use SATA, some use USB (esp wireless network cards). Which raises a question... correct my if I'm wrong, but keying is purely a physical thing, right? It shouldn't tell you anything about the interface used by cards that fit in that slot. At least, that's how I used to understand it.
It basically does tell you what interfaces a card might support, since not even power has pin function overlap between all of the keyings. Specifically, what you're running into is A/E/A+E have zero overlap in which pins provide PCIe lanes with B/M/B+M. Pins 41 and 43 on all are the PCIe Lane 0 Receive pair, but the PCIe Lane 0 Transmit lane is on pins 35 and 37 on A/E/A+E but pins 47 and 49 on B/M/B+M. The combo keyings are also just the subset of what pin definitions overlap, so while A supports DisplayPort and E supports SDIO, UART, and I2C, A+E supports none of that; or while B supports USB 3.0 and M supports four PCIe lanes, B+M supports only two PCIe lanes (no USB 3.0, only USB 2.0).

Between the differing goals of A and B, the way E and M were created as respective modified versions of those two, and the fact that each key notch removes a different 8 pins from the original 75 of m.2, there was no way for commonality to happen.
 

Lord Evermore

Ars Scholae Palatinae
1,490
Subscriptor++
Check the manual for your motherboard. There's a fair chance that since it's intended as a Wi-Fi slot and is only E-keyed, it will only support CNVio2 (which only works with Intel chipsets), which is a lot cheaper for the manufacturer since they don't need to run all the traces for the other protocol pins and power, so it will not work with PCIe devices despite being an M.2 slot. (A 2.5GbE adapter (which I never knew could be found in M.2 form) that has A+E keying would only be done that way to allow for physical compatibility with A+E slots. I guess the few that make M.2 Intel cards just aren't bothering to make them more widely compatible, but A+E slots aren't common anyway I think, and an A+E card is incompatible with the more common M-key slots. Slot lengths are also different.) M.2 compatibility is a lot like trying to figure out what your USB-C port can do.

Intel's 2.5GbE controllers were and remain shit, apparently, even the newest models and with repeated updates for firmware and drivers. It's not easy to make them work reliably at 2.5G speeds, and if your particular setup can't get them to work then they don't even hit 1Gb speeds unless you manually configure them to 1Gb. The i226 controller's drivers seem to make it work a lot better, but it's by disabling features of the controller, and it's still not 100%. Even if Realtek were a little bit lower maximum real performance, at least it would actually reliably reach that level and not require disabling functions that you've paid for. I can't believe after years of problems Intel hasn't come out with a fixed model, and there are still so many devices made with them, like 4-port "firewall" boxes as well as motherboards.
 
Last edited:
Check the manual for your motherboard. There's a fair chance that since it's intended as a Wi-Fi slot and is only E-keyed, it will only support CNVio2 (which only works with Intel chipsets), which is a lot cheaper for the manufacturer since they don't need to run all the traces for the other protocol pins and power, so it will not work with PCIe devices despite being an M.2 slot. (A 2.5GbE adapter (which I never knew could be found in M.2 form) that has A+E keying would only be done that way to allow for physical compatibility with A+E slots. I guess the few that make M.2 Intel cards just aren't bothering to make them more widely compatible, but A+E slots aren't common anyway I think, and an A+E card is incompatible with the more common M-key slots. Slot lengths are also different.) M.2 compatibility is a lot like trying to figure out what your USB-C port can do.

Intel's 2.5GbE controllers were and remain shit, apparently, even the newest models and with repeated updates for firmware and drivers. It's not easy to make them work reliably at 2.5G speeds, and if your particular setup can't get them to work then they don't even hit 1Gb speeds unless you manually configure them to 1Gb. The i226 controller's drivers seem to make it work a lot better, but it's by disabling features of the controller, and it's still not 100%. Even if Realtek were a little bit lower maximum real performance, at least it would actually reliably reach that level and not require disabling functions that you've paid for. I can't believe after years of problems Intel hasn't come out with a fixed model, and there are still so many devices made with them, like 4-port "firewall" boxes as well as motherboards.
thank you for such a detailed explanation, this experience is invaluable
 
  • Like
Reactions: EnglishBob