I don’t really know much about M.2 slots and the different capabilities and how the key type corresponds, so I don’t want to spend money on something that won’t work.
There’s an unused slot on the motherboard marked ‘M.2 PCIe / SATA1’. I believe it’s M-keyed.

Can it be used with an M+B keyed adapter like this one? Or will it physically fit, but the socket itself isn’t wired to work with an ethernet adapter? Is there a command I can run to figure out the capabilities of that slot?
My plan is to use this machine as an OpenWrt router to replace the shitty Linksys one my ISP supplied, but it would obviously need a second ethernet socket. My home wifi is dealt with by a TP-Link mesh network, so I don’t need it to have wifi and bluetooth. I could use the slot that the networking card is using, but if I can retain those then that would be ideal for any future flexibility I may need.
@djdarren Nobody’s answered your actual last question, so: sudo dmidecode -t slot. That’s DMI type 9, System Slots. It lists each slot with its bus width and whether it’s occupied, so you can see which one is the x4 before spending a cent.
Pair it with -t connector (type 8). A SATA-only M.2 turns up there rather than under slots, which is the tell you’re after.
This is the result of dmidecode
root@OpenWrt:~# dmidecode -t slot
# dmidecode 3.5
Getting SMBIOS data from sysfs.
SMBIOS 3.1.1 present.
Handle 0x0026, DMI type 9, 17 bytes
System Slot Information
Designation: SLOT1_M.2
Type: x4 M.2 Socket 3
Current Usage: Available
Length: Long
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:ff:1f.7
Handle 0x0027, DMI type 9, 17 bytes
System Slot Information
Designation: SLOT2_M.2
Type: x1 M.2 Socket 1-SD
Current Usage: In Use
Length: Short
Characteristics:
3.3 V is provided
PME signal is supported
Bus Address: 0000:ff:00.0As far as I can tell, the top one is the M.2 in question, so it’s a 4 channel PCIe slot. Running -t connector doesn’t show that slot at all, presumably because it’s not got anything connected to it currently.
I’ve order a cheap(ish) adapter that should arrive today, so I’ll bung it in and report back.
@djdarren Your own output answers it. SLOT1_M.2 is “M.2 Socket 3”, which SMBIOS (DSP0134) maps to mechanical key M, and it reads x4 and Available. Four lanes free, so a 2.5G card isn’t starved. SLOT2 is “Socket 1-SD” = key E, x1, In Use. That’s your wifi. The part that costs money if you get it wrong: these adapters ship in both A+E and B+M keys, and the A+E one wants the slot that’s already taken. Length: Long, so a 2280 fits.
I’m in a rush but ive put Ethernet cards in both slots of my optiplex 3080 m.2 slots. The top right slot is vanilla and 4xpcie lanes,full speed. The bottom left is A+e keying and only 1x lane which is enough for 2.5gig Ethernet. This is ultimately what i used. For my prfesene box I added a second card, a 2 port Ethernet card to the top right m.2 slot and made it a four port beast.
Ok sorry its been a busy day but here are the things I ordered and all work:
Godspeed!

It is wired for PCIe, it will probably work, I have personally had wonderful luck with these kinds of things, but you always risk stupid UEFI vendor code stopping it from working.
In other words, if it’s correctly labeled, it will work unless Dell actively prevented it from doing so, but that isn’t out of the question.
It is PCIe, so yes.
Not a direct answer to your question, but assuming you have a switch that supports VLANs you don’t need a second ethernet port at all.
Yes but I personally wouldn’t run OpenWRT on x86. I would instead pickup a old gateway/firewall device that is supported by openwrt.
Yes. I’m doing that with a 7040mff right now.
If the m2 to Ethernet road leads nowhere: you could try one or more usb3 to Ethernet adapters.
I would recommend this over the M.2 adapter. USB3 goes up to 5 gbps, so gigabit Ethernet should be no problem. Just get an an adapter from any actual brand, even if it’s just tp-link. No junk non-brand ones because they’ll be unreliable or not work at all due to a bad chipset.
The key doesn’t correspond to capability. It’s about the connector’s physical shape. i.e. which side is the lil notch on. B has a notch on the right, M on the left. B & M have a notch on both sides and therefore fits into either connector, but it is limited to PCIex2/SATA speed (i’d guess this won’t matter to you as pciex2 is around 4gbps even on pci1). It also doesn’t mean the length would fit, that’ll be a number like 2230, 2280 etc.
You’d have to check the manual for the motherboard to see if it specifies, but if it’s labelled m.2 PCIe it should work I think. If it only said SATA then it would not work.
You can try
dmidecode --type sloton Linux, it should list them as available and presumably specify the type to be PCI express.I think ultimately you’ll only know when you try, but these may give you some confidence.
Huh, TIL that B-keyed slots can have any PCIe at all. I thought it meant SATA-only.
This is the output of dmidecode
Handle 0x0026, DMI type 9, 17 bytes System Slot Information Designation: SLOT1_M.2 Type: x4 M.2 Socket 3 Current Usage: Available Length: Long Characteristics: 3.3 V is provided PME signal is supported Bus Address: 0000:ff:1f.7
Handle 0x0027, DMI type 9, 17 bytes System Slot Information Designation: SLOT2_M.2 Type: x1 M.2 Socket 1-SD Current Usage: In Use Length: Short Characteristics: 3.3 V is provided PME signal is supported Bus Address: 0000:ff:00.0
I’m guessing the top one is the M.2 in question, on account of it saying “Available”. And from what I understand having searched for some of the info on that, it should work, assuming the firmware allows for it.
The slot that is currently in use is the slower one since it’s only Type: x1. Depending on what you use the slot currently (such as an M.2 drive), you might wanna switch slots so you can take advantage of the speed; the x1 slot is completely adequate for 1gbps ethernet if you don’t need more. Both slots are otherwise functionally the same, but make sure to look up in your mainboard documentation if there’s any limitation if you use both slots or a specific hardware configuration (mine deactivated the second M.2 slot after changing from an 2600x to an 5950x for example)
I don’t see why not, and for $24 you may as well give it a go.
How is it $24 ?
Do note you can use a device with only one ethernet port as a router/firewall, if you have a managed switch, you just only get half-duplex speeds naturally.
You don’t strictly need a managed switch, but I would recommend it for security.
But where are you getting half duplex from? I’ve never seen anything support half duplex gigabit Ethernet. A router on a stick is as fast as your adapter chipset can push packets.
It’s not actually half duplex, but because every outbound packet needs an inbound twin (and vice versa) on the same cable, you get half-duplex rates for the interface in effect.
No, if everything supports it, you can can get full gigabit line rate in both directions at the same time.











