MangoPi MQ Pro D1 Ubuntu (P)review

MangoPi MQ-Pro D1 w/ Ubuntu (P)review
MangoPi MQ-Pro D1 w/ Ubuntu (P)review

Recently Ubuntu has received official preview images for some RISC-V boards. One of those boards is (indirectly) the MangoPi MQ Pro! RISC-V boards have been available for a while but the software support lags that of ARM substantially. It’s steadily catching up though with an official Ubuntu preview out as well as official OpenJDK support coming soon.

Today I wanted to review the MangoPi MQ Pro D1 (Revision 1.4) as well as look at the experience of the Ubuntu preview version on it acknowledging that this isn’t the final release of Ubuntu for RISC-V boards yet and is just a developer preview. My intent is to simply see what the experience is like and get an idea of what is already working and what isn’t ready yet.

Let’s get started!

Hardware Used

MangoPi MQ-Pro D1 - Top View
MangoPi MQ-Pro D1

The MangoPi MQ Pro Revision 1.4 has a very bold pink PCB as well as USB-C ports, options for 512MB or 1GB of RAM, WiFi and Bluetooth and a single core 1GHz D1 processor.

Links: AliExpress*, Alt AliExpress*

Geekworm Copper Heatsink Set
Geekworm Copper Heatsink Set

The Geekworm copper heatsink set is designed to fit many different single board computers. It uses thermal conductive adhesive which many “cheap” heatsink kits for SBCs don’t have. Eliminates hotspots and reduces throttling. Can be further enhanced by powered cooling over the heatsinks.

Links: Amazon.com*, Amazon.ca*, Amazon.co.jp*, Amazon.co.uk*, Amazon.de*, Amazon.es*, Amazon.fr*, Amazon.it*

Build Quality

Let’s take a closer look at the board. Here is the top view:

MangoPi MQ-Pro D1 - Top View
MangoPi MQ-Pro D1 – Top View

The PCB is honestly beautiful. Look at the gold rings lining the solder holes for the GPIO pins. Tracing is clearly visible.

Here is the bottom view:

MangoPi MQ-Pro D1 – Bottom View
MangoPi MQ-Pro D1 – Bottom View

The edges of the board are very clean. I’ve reviewed a lot of boards lately and this one you can tell that they care and are proud of the board.

Images Available

The official images for the MangoPi MQ Pro are available here.

Right now this consists of an Armbian distribution and a Tina-Linux distribution.

The official Ubuntu download page for the RISC-V platform is here.

Once you go to the official Ubuntu download page you will choose the “AllWinner Nezha” section like this:

Ubuntu Downloads Page - RISC-V AllWinner Nezha
Ubuntu Downloads Page – RISC-V AllWinner Nezha

Keep in mind this image isn’t intended for our exact board. It seems to be compatible though as they share the AllWinner D1 chip.

I strongly recommend using the newer 22.10 version. Some drivers still don’t seem to be present but the newer kernel you have the better off you will be as this is the bleeding edge (it’s literally a developer preview).

Testing Ubuntu

I imaged my SD card with Ubuntu 22.10 and put it into the device. I used a USB to Ethernet adapter so I could get a headless network connection to the device and

I logged in over SSH with the default credentials:

ubuntu/ubuntu

After the mandatory password change I then updated the device with:

sudo apt update && sudo apt full-upgrade -y

Fixing WiFi

I first noticed that the WiFi and Bluetooth weren’t present for the board. The MangoPi MQ Pro is using the rtl8723ds. I searched apt for rtl8723ds and there is a package available for another board that has this driver (licheerv-rtl8723ds-dkms).

sudo apt install licheerv-rtl8723ds-dkms net-tools wireless-tools rfkill

This took a very long time to build the module on my device (at least an hour). Once it is finally done you can either reboot the device or use:

sudo modprobe 8723ds

Bingo! You should now have a wireless card:

root@ubuntu:/home/ubuntu# iwconfig
lo        no wireless extensions.

usb0      no wireless extensions.

enx3c18a07c2cb9  no wireless extensions.

wlan0     unassociated  Nickname:"<WIFI@REALTEK>"
          Mode:Auto  Frequency=2.412 GHz  Access Point: Not-Associated   
          Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:off
          Power Management:off
          Link Quality=0/100  Signal level=0 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

Connecting to WiFi (persistently)

Since this is Ubuntu we need to use netplan to set up the WiFi connection. To do this we will edit the file /etc/netplan/50-cloud-init.yaml:

sudo nano /etc/netplan/50-cloud-init.yaml

We are going to modify the file and add the “wifis” section like this:

network:
    ethernets:
        zz-all-en:
            dhcp4: true
            match:
                name: en*
            optional: true
        zz-all-eth:
            dhcp4: true
            match:
                name: eth*
            optional: true
    version: 2
    wifis:
        wlan0:
            optional: true
            access-points: 
                "YourSSID":
                    password: "YourPassword"
            dhcp4: true

Note that the spacing is *extremely* sensitive with YAML. You should paste your code into a YAML validator and make sure you don’t have any spacing errors as they will break the file.

Now let’s apply the netplan configuration with:

sudo netplan --debug generate
sudo netplan --debug apply

Now let’s check iwconfig again:

root@ubuntu:/etc/netplan# iwconfig
lo        no wireless extensions.

usb0      no wireless extensions.

enx3c18a07c2cb9  no wireless extensions.

wlan0     IEEE 802.11bgn  ESSID:"jamesachambers.net"  Nickname:"<WIFI@REALTEK>"
          Mode:Managed  Frequency:2.437 GHz  Access Point: 24:5A:XX:XX:XX:XX   
          Bit Rate:72.2 Mb/s   Sensitivity:0/0  
          Retry:off   RTS thr:off   Fragment thr:off
          Encryption key:****-****-****-****-****-****-****-****   Security mode:open
          Power Management:off
          Link Quality=0/100  Signal level=-55 dBm  Noise level=0 dBm
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0
          Tx excessive retries:0  Invalid misc:0   Missed beacon:0

You’ve now configured netplan and will persistently connect to the network!

Note on Bluetooth

The Bluetooth radio also isn’t present. Installing the WiFi driver does not fix this unfortunately. I’m not sure how to get the onboard Bluetooth going on here yet.

We will score this one as not working for right now for the purposes of the review.

OpenJDK Availability

Finally it was time to answer one of my original questions: is Ubuntu including the new OpenJDK RISC builds? The answer:

ubuntu@ubuntu:~$ sudo apt search openjdk | grep 'openjdk-' | grep '\-jre'

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

openjdk-11-jre/kinetic 11.0.16+8-0ubuntu1 riscv64
openjdk-11-jre-headless/kinetic 11.0.16+8-0ubuntu1 riscv64
openjdk-17-jre/kinetic 17.0.4+8-1 riscv64
openjdk-17-jre-headless/kinetic 17.0.4+8-1 riscv64
openjdk-18-jre/kinetic 18.0.2+9-2 riscv64
openjdk-18-jre-headless/kinetic 18.0.2+9-2 riscv64
openjdk-19-jre/kinetic 19+36-2 riscv64
openjdk-19-jre-headless/kinetic 19+36-2 riscv64
openjdk-19-jre-zero/kinetic 19+36-2 riscv64
openjdk-20-jre/kinetic 20~17ea-2 riscv64
openjdk-20-jre-headless/kinetic 20~17ea-2 riscv64
openjdk-20-jre-zero/kinetic 20~17ea-2 riscv64

Excellent, there is a wide range of versions available in here. Very impressive!

Benchmarking I/O Performance

You can verify the performance of your SD card on Pi Benchmarks using the following command:

sudo curl https://raw.githubusercontent.com/TheRemote/PiBenchmarks/master/Storage.sh | sudo bash

Here are the results:

     Category                  Test                      Result     
HDParm                    Disk Read                 11.36 MB/s               
HDParm                    Cached Disk Read          11.37 MB/s               
DD                        Disk Write                9.5 MB/s                 
FIO                       4k random read            1501 IOPS (6005 KB/s)    
FIO                       4k random write           757 IOPS (3028 KB/s)     
IOZone                    4k read                   4334 KB/s                
IOZone                    4k write                  2130 KB/s                
IOZone                    4k random read            4229 KB/s                
IOZone                    4k random write           2519 KB/s                

                          Score: 718

The full MangoPi MQ-Pro D1 benchmark can be viewed here on Pi Benchmarks.

This is a pretty slow result performance wise. I wasn’t surprised because you can feel it as you’re using the board. The 1GB of RAM is fantastic but you only have a single CPU core to work with and it’s not a very high powered one.

The average score for a Pi 3 is something like 900 points and for a Pi Zero the average is slightly under that. In other words it’s slightly slower than a Pi Zero at 718 points. The board will turn heads for it’s looks but not for it’s performance for sure.

To be clear I think the performance on it is fine but just want to give the context of what to expect. A Pi Zero isn’t very fast and this is slightly slower than that so keep that in mind for your use cases. It’s a great board for low performance applications or services but should not be expected to carry a heavy load.

Pros / Cons

Pros

  • Quite inexpensive at prices ranging from ~$22-27
  • Can run Ubuntu with everything but the Bluetooth working
  • Very stylish and bold appearance
  • 1GB of RAM option available which can be hard to come by on boards of this size

Cons

  • Only has a single core 1GHz CPU so performance is limited to services/applications that don’t need a lot of processing power
  • Image selection is limited (but improving)

Conclusion

The new Ubuntu support is looking fantastic. It’s everything you would expect from a supported Ubuntu distribution. There are definitely problems (I couldn’t get the Bluetooth going) but since the WiFi is fixable I’d guess this is ready for early adopters or anyone who wants to try using a RISC board to start playing with. If you have one of these boards already you should absolutely try the new Ubuntu distribution!

If you are wanting a really cheap board to start playing with the RISC architecture on with the new Ubuntu support coming there’s honestly never been a better time. Considering these are available for < $25 this is a pretty cheap and fun way to get into RISC. It will probably be ready for the general public in 6-12 months and come out of developer preview within that time frame would be my guess. It definitely seems on track for it to me.

The board itself is quite the eye catcher. My wife highly approves of the board’s visual aesthetics (and not just because it’s pink, it’s the style and lettering on the back with phrases like “Your tiny-tiny-tiny Card Computer”. The quality seems great especially for the price. Let’s be clear that this is not a high performance board as it only has a single core. This is meant for lower-powered applications and use cases for sure.

I definitely would recommend getting the heat sink kit for this board. I put a copper heat sink on mine that I’ve linked to in the “Hardware Used” section. This should keep the board running stable and for a long time!

Other Resources

Check out my Sispeed LicheeRV review here for another great RISC-V board option

If you are interested in alternatives to the Compute Module check out my BIGTREETECH CB1 review here

I’ve reviewed a ton of different SBC options lately here

guest

0 Comments
Inline Feedbacks
View all comments