Using E-Key M.2 WiFi Adapters with Orange Pi 5

Orange Pi 5 E-Key to M-Key WiFi Adapter Guide
Orange Pi 5 E-Key to M-Key WiFi Adapter Guide

Orange Pi has not released the WiFi module for the Orange Pi 5 yet which has left some people in a difficult position. While working on this problem I discovered an adapter that claimed to be able to let me use normal E-keyed WiFi adapters (commonly found in laptops and tablets) with the Orange Pi 5 using an adapter.

I received and tested the adapter and I am pleased to report it works perfectly! There are some caveats though such as you need a driver for your WiFi card within your OS (and often firmware as well).

In this guide I’ll show you how to get this working with the Orange Pi 5 using Linux. Let’s get started!

Hardware Used

Sintech M.2 E-Key to M.2 M-Key Adapter Card
Sintech M.2 E-Key to M.2 M-Key Adapter Card

Convert a M.2 Key-E or Key A+E module (such as WiFi, Bluetooth, or Dual Band Wireless Module, etc.) to be used with M Key M.2 Socket. Supports Bluetooth and Dual Band Wireless Modules.

Links: Amazon.com*, AliExpress*, Amazon.ca*, Amazon.co.uk*, Amazon.co.jp*, Amazon.com.au*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*, Amazon.nl*, Amazon.pl*, Amazon.se*, Amazon.sg*

Custom WiFi Module (Added 1/15/2023)

Orange Pi 5 Custom WiFi Module
Orange Pi 5 Custom WiFi Module

The Orange Pi 5 official wireless module is designed to fit into a M-keyed M.2 slot (the only one the Orange Pi 5 has). This WiFi adapter will work with both Linux and Android.

Links: Amazon.com*

Problem Overview

The Orange Pi 5 only has a single M.2 slot and is it M-keyed. This is meant for storage devices typically. Because of this Orange Pi is releasing a “custom PCB” wireless adapter for the Orange Pi 5 to allow you to choose between using the M.2 slot for storage or WiFi.

Normal WiFi adapters will not fit into the Orange Pi 5’s M.2 slot basically without using an adapter. It looks like this:

Orange Pi 5 with E-key to M-key adapter installed
Orange Pi 5 with E-key to M-key adapter installed

Installing linux-firmware

When I first got the adapter I noticed that I could see all of the adapters but it was failing to load the firmware. That is because the Orange Pi 5 does not come with the linux-firmware package installed.

Install the package with:

sudo apt install linux-firmware -y

Tested WiFi Adapters

After installing the linux-firmware package the following adapters worked for me:

Before installing the Linux firmware package I would get errors in dmesg saying that the firmware was missing. After installing the linux-firmware package all of my Intel WiFi adapters became plug and play.

Best Adapter Options

Until I hear more from some of you in the comments that try this I highly recommend using Intel adapters for this. They’re easy to find and almost every one I had in old laptops was an Intel adapter.

There’s an awesome list of Linux supported adapters here from Intel. This list is specifically for the Linux iwlwifi driver and tells you which version of Linux support was added for the WiFi adapter.

The kernel at time of writing was:

orangepi@orangepi5:~$ uname -a
Linux orangepi5 5.10.110-rockchip-rk3588 #1.0.6 SMP Fri Dec 16 15:41:15 CST 2022 aarch64 aarch64 aarch64 GNU/Linux

This means that anything on the above list that is supported in kernel version 5.10 or earlier should be supported!

Diagnosing WiFi Adapter

First see what PCI devices you can see with:

sudo lspci

Once you put the WiFi card into the adapter and start up the Orange Pi you should view the WiFi related debug output with:

sudo dmesg | grep -i wifi

This will show you all the hardware related messages related to WiFi. It often will tell you critical information such as a firmware file wasn’t loaded, etc.

You will need this information to diagnose the device if it is not working properly.

Here’s an example for my non-working Broadcom adapter:

orangepi@orangepi5:~$ sudo lspci
[sudo] password for orangepi: 
0004:40:00.0 PCI bridge: Rockchip Electronics Co., Ltd Device 3588 (rev 01)
0004:41:00.0 Network controller: Broadcom Inc. and subsidiaries BCM4352 802.11ac Wireless Network Adapter (rev 03)
orangepi@orangepi5:~$ sudo dmesg | grep -i wifi
               drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd compiled on Dec  7 2022 at 10:23:12
[   10.455031] [WLAN_RFKILL]: rockchip_wifi_get_oob_irq: Enter
[   10.455035] [WLAN_RFKILL]: rockchip_wifi_get_oob_irq: rfkill-wlan driver has not Successful initialized
[   10.455047] [dhd] dhd_wifi_platform_load: Enter
[   10.455529] [dhd] dhd_wifi_platform_load_pcie: pcie_register_driver failed
[   10.455533] [dhd] unregister wifi platform drivers
[   10.455537] [dhd] wifi_platform_bus_enumerate device present 0

Here we can see that for this Broadcom adapter it still couldn’t register the driver. It probably needs a driver that isn’t as easily available as getting it from the linux-firmware package. Sometimes the messages are a lot more helpful than this but it’s definitely the place to start if your adapter isn’t working.

Alternative USB Option

Another option is to use a USB WiFi adapter. This is a great option if you want to use your M.2 slot for something else (such as NVMe storage). I’ve tested the ODROID 5BK USB wireless adapter on the Orange Pi 5:

ODROID 5BK USB WiFi Adapter
ODROID 5BK USB WiFi Adapter

The ODROID 5BK USB WiFi module works plug-and-play with the Orange Pi 5 on Linux

Links: Amazon.com*

If you know of more adapters that are working plug-and-play let me know in the comments and I can add them to the list

Conclusion

I highly recommend the Intel adapters since I can guarantee they will work. Even the adapters that failed to load a driver or proper firmware were all recognized in lspci.

It’s not pretty but you can snap off the edge of the board if you don’t want it to hang over the edge as much. There are perforations in the board meant to snap for shorter modules. It will still hang over a little though and won’t be a perfect fit.

This is a great adapter and great working solution to use E-key WiFi adapters in the Orange Pi’s M-key slot. I highly recommend it! Hopefully it won’t be too much longer before the official solution is released from Orange Pi.

Other Resources

Check out my Orange Pi 5 review here for more important information about the Orange Pi 5

Don’t miss my Orange Pi SSD boot guide to learn how to set up the NVMe drive as the root partition

guest

9 Comments
Inline Feedbacks
View all comments

Razor Burn
Razor Burn
23 days ago

Fantastic work James as I had seen these type of adaptors previously listed on the web and your review but having actual confirmation it will work and the installation guide is greatly appreciated!

Is it super convinient not really because the 2280 size sticks out like a sore thumb but for the price it will do a job until Orange Pi release a proper PCB expansion board like we see for the Pi 4 version and having variety of suitable e keyed cards is great as many can be found for cheap online.

On top of the recent ARMBIAN releases it looks like the Orange Pi 5 will be a great budget SBC (with its limited faults) but overall its a very capable device so big thank you to people such as yourself who dedicate free time testing these boards out and helping them reach their capabilities. Keep up the outstanding work!

Razor Burn
Razor Burn
23 days ago

Yeah I saw the part about snapping the extra bit off after I sent the post and like you I might just keep it as is for other applications but its a pleasant addition for those looking to use M.2 for wifi/bt with actual cards ready to use!

I’m secretly holding out hope that you discover the PCIe short comings if possible as well as workout the mess that is the USB labelling and it not working well via that USB C port but overall its coming along nicely and as more people start getting their hands on it we should see improvements or maybe I’m just being optimistic as they didn’t help themselves with the poor decisions which is why I keenly await your upcoming Radxa Rock 5B review as that seems to be what everybody was hoping to see from the RK3588 SOC and although not perfect its getting solid reviews but you’re sure to put it through its paces… Take care and keep them honest!

Razor Burn
Razor Burn
23 days ago

User Miramax on the OrangePi Discord has shared a translated portion from the latest User Guide in Mandarin V0.6 which demonstrates the steps required to get wifi+bt working on Android 12 as well as a list of dongles that should work for wifi as bluetooth needs to be adapted??? Page 275-278:

RTL8821CU 2.4G/5G + BT 4.2 0bda: c820 – only wifi, bluetooth needs to be adapted… That appears to be based off the Odroid one and shows a green labelled dongle commonly found on Amazon “Chiciris 5 BT + AC600 Driver Free”

RTL8723BU 2.4G wifi + BT 4.0 0bda: b720 -only wifi, bluetooth needs to be adapted… That appears to be the blue 4.0 dongle we see as part of the bundles from Xunlong on Aliexpress

RTL8811CU 2.4G/5G Wifi 0bda: c811 – only has wifi function, already supported. The picture shows a dongle branded “GRiS” and has a detachable antenna

“Known problem: Currently, in order to be compatible with the AP6275P PCIe network card, the Android system of the TF card needs to be connected to the USB. Insert the wireless network card into the development board, and then start the Android system to recognize the USB wireless network card normally.
NVMe and SATA Android systems do not have this problem and support hot swapping.”

Now not sure why they mention the AP6275P PCIe network card as so far this doesn’t exist and they stupidly removed the onboard module but the manual does go into how to set things up and if successful search for wireless networks.

Supposedly at the end of the manual it shows how to compile Android 12 source code but again valuable information like this is missing from the English version dated 08 December 2022 and many people are still searching for different dongles to see if they actually work but now we know of 3 that support wifi but no bluetooth on Android?!

The Mandarin Manual can be found here as its originally behind Baidu.

Razor Burn
Razor Burn
22 days ago

Thanks again for the dedicated work testing the the software and hardware side of things as its only been a few weeks since these boards started reaching end users and their are bound to be issues but one can’t help but think they rushed the release despite having a protoboard available for testing that they then changed to something that’s cheap but still very buggy. The fact your work on the Orange Pi i96 rekindled interest in that tiny board that its now nearly impossible to find one unless you’re willing to pay insane asking prices deserves to be celebrated so congratulations but it shouldn’t be up to you and a few supporters to fix things yet it seems the manufactures are only in the business to make a quick buck and shuffle off to the next project leaving the community to work things out which sucks but all too common from eastern manufacturers…

Sadly I’m well out of my depth’s with contributing any meaningful testing but once my adaptors and storage card arrive I will glad tryout your recommended benchmark tests and see how I go with getting the usb/s to connect to wifi and bluetooth but I read their are still many issues depending on the software version with suggestions to try out Chinese versions as these seem to have better driver support but unless you know somebody with access to the Baidu folders or rudimentary understanding of Chinese your left troubleshooting which is why its great blogs such as this exist as you guys do the heavy lifting so newbies like myself get to enjoy their shinny new play thing!

Frankly 28GB for Android source code is insane but its to be expected and I hear that the xda developers are starting to get their boards which should see improvements on the Android side to match those of the traditional linux distributions that have been making some progress. I’m not sure if you’ve seen leeepspvideo on youtube as he recently did a video installing Android on his 8GB Pi 5 with success but even he had issues with the sd card being rejected and it crashing 85% of the way through but from what he shows it looks as though this board is really meant for Android as its demonstrating great media and streaming with some issues with gpu acceleration but that’s common on the other RK3588 devices as Rockchip don’t want to share and he also has test videos of other RK3588 boards that seem to share the same issues such as not quite doing 4k60 fps as claimed and other bugs that we now see on the cheaper Pi 5.

He’s more of a Raspberry Pi guy being a Brit but he’s been impressed with the Orange Pi 5 and just shared a sneak peak of the Beta version of Orange Pi OS that’s supposedly available to the Chinese testers so its encouraging to see them working hard but time will tell if they get it stable enough to release to the western audience and judging by reports its only a small team so what can they really do that hasn’t already been fixed knowing that the RK3588 SOC is a few years old already?

I wish you continued success and await new updates with excitement as I feel that we’re almost there with many dedicated people behind the scenes frantically putting this board through its paces so good luck and take care!