Guide to the MYMAHDI M400 "MP3 Player"
Table of contents
- Introduction
- What is a MYMAHDI M400 and how did I get one
- What is wrong with the MYMAHDI M400 as it comes out of the box
- Guide to fixing everything on the MYMAHDI M400
- Installing applications and getting the app store to work
- Getting a command line with git, vim, and whatever else you are used to
- Fancy bash prompt (like you see in my screenshots)
- Getting the latest version of Vim
- Fixing the root certificates so that websites load without security warnings
- Google Maps
- Wi-Fi scanner in your pocket with the MYMAHDI M400
- Playing music
- Additional settings and features
- Conclusion
Introduction
The MYMAHDI M400 is a versatile Android device marketed as an MP3 player, but it faces significant issues out of the box, such as an outdated Android 5.1 OS, an unusable Google Play Store, and outdated security certificates. This guide provides step-by-step instructions to overcome these limitations, including installing apps via APK files, downloading an alternative app launcher, using the Aurora Store for app downloads and enabling system-wide Google sign-in. Additionally, it covers setting up a functional command line with Termux, using up-to-date security certificates with Firefox and Opera Mini and exploring various other uses such as music playback and Wi-Fi scanning.
What is a MYMAHDI M400 and how did I get one
A good friend of mine recently purchased a MYMAHDI M400 "MP3 Player" and was quite excited about what this device can purportedly do. A short time later, she said it's not quite all that it’s promised to be and asked me if I want it. I, of course, said yes and so began the journey of seeing what it can actually do.
It is not just an MP3 player, but in fact a fully capable general purpose Android device, with some music playing apps installed on it by default. It's got an 8 core 1.9GHz MediaTek MT6592 CPU, Wi-Fi and Bluetooth capability, 2 GB RAM, a 2000 mAh battery, 4 inch touchscreen with 480x800 resolution, built-in speaker, headphone jack, USB-C port and an SD card expansion slot that is advertised to support cards up to 1 TB capacity. The user manual for it should be here.
At least some of the preinstalled apps (such as YouTube Music, Facebook and Twitter - even though Twitter is now called X) work perfectly out of the box, at least at the time of me writing this guide.
Image: Facebook works perfectly out of the box
Image: Twitter works too (at least as of September 24, 2024)
What is wrong with the MYMAHDI M400 as it comes out of the box
Here is a general overview video showing the MYMAHDI M400 device as it comes from the factory.
It runs Android 5.1 Lollipop (an Android version which was released in early 2015 and support for which has officially ended in 2018), but not everything works as you'd generally expect. The version of the Google Play Store that ships with it (which is not on the home screen and must launched through Settings > Apps > Google Play Store > Launch
) is so old that it won't let you complete the Google sign-in process, which you might want to do not only because many Google apps simply won't work if you're not signed into Google system-wide, but also you won't be able to install or manage your apps in the usual way via the Play Store.
So, how can we easily tell that the MYMAHDI M400 is running Android 5.1? One way is to go to whatismyandroidversion.com on the device itself and it will tell you, although the Chrome browser isn't on the home screen by default and there doesn't appear to be an app roll where you can launch all of the installed apps. It can be launched from Settings > Apps > Chrome > Launch
.
Image: whatismyandroidversion.com is a quick way to see what device you are using
To summarize the issues that I immediately encountered with the device as it came from the factory:
It's not obvious how to access apps that are not on the home screen. I couldn't find any way to open an app roll or app drawer with all of the apps in it, and if I removed an app from the home screen it seemed to disappear from the home screen permanently and there remained no way to launch it other than through
Settings > Apps
.I couldn't sign into my Google account system-wide, because generally that is done through the Play Store, but trying to sign in through the Play Store leaves you stuck at the stage where it offers to add this device's phone number to your Google account (not that this device even has a phone number, ironically enough) due to none of the buttons working including the "Skip" button. If you disconnect from the internet it does show an error screen, but there seems to be absolutely no way to move forward and complete the sign-in process.
Some of the system-wide root certificates appear to be outdated or expired, which leads to many websites served over secure HTTP (which is the norm today) to be shown with a warning that the connection is insecure, and requiring you to click
Advanced
and thenProceed to example.com (unsafe)
in order to view the web page.
So, the home screen is glitchy, there's no way to update or install apps the usual way, browsing the web means constantly seeing security warnings and clicking "Advanced" and then "Proceed to ... (unsafe)" and anything Google-related generally doesn't work as you'd expect because there's no obvious way to sign in.
If you have a MYMAHDI M400 device in front of you and you're wondering how to get around these issues, continue on to the next section.
Guide to fixing everything on the MYMAHDI M400
There is an official youtube playlist published by the manufacturer. Unfortunately, at least at the time of me writing this guide, the videos contained in that playlist don't provide enough information to help make the device fully functional.
Installing applications and getting the app store to work
While the Play Store certainly doesn't work out of the box due to the sign-in process leaving you stuck at the stage where it offers add to your device's phone number to your Google account (which is slightly paradoxical as it doesn't even have any kind of SIM capability), what does work is installing software directly from .apk files.
Make sure that Settings > Security > Unknown sources
is enabled.
Image: Installation from unknown sources enabled in system settings
The key is to find software versions that still work with Android 5 by searching these two well known repositories:
Keep in mind that what you need are packages that will install and run on Android 5 and are also built for the arm-v7a application binary interface.
The easy way is to quickly locate the correct packages is to use a web search engine, for example by typing something like the following into ddg.gg:
apkmirror play store android 5 arm-v7a
Image: Searching for Android packages that will install on Android 5
While it is possible to search the online APK repositories from a web browser on the device, it may prove to be somewhat tedious. You can launch the Chrome browser (which isn't featured on the home screen) by launching it directly from system settings via Settings > Apps > Chrome > Launch
or you can just do what I did and launch the YouTube "app" (which actually just loads m.youtube.com in a Chrome instance) and simply navigate go to the aforementioned URL instead.
I found it easier to just copy .apk files to the device from a PC after using the PC to download the files.
Image: Copying .apk files to the MYMAHDI M400 from a Linux-based system using jmtpfs
Once the .apk files are on the device, you can install them from the file browser app.
Image: .apk files in the Downloads directory
Image: Installing an Android application directly from an .apk file
The first application that I recommend installing is an alternative app launcher, because the version of Launcher3 that ships with the device exhibits some serious issues. When you install a new application, the application doesn't show up on the home screen, although when you tap and hold an empty space it strangely makes it look like you're dragging the new app “out of nowhere” albeit you’ll also find it impossible to drop it into an empty space. What I discovered you can do is drop it onto another app and it will create a combined group with the two applications inside it. When you then open the group, it will look empty as if you've just lost both of the applications, but they are technically still there. If you pretend that they are there inside that empty box and drag the second one to an empty spot on the desktop, it will dissolve the group and both applications will now appear on the home screen.
Anyhow, there are quite a few app launchers available for Android, and even though I haven't tested them all, I did get Launcher3 2.2 from APKPure and it's got a fully functioning home screen and app roll.
The next thing I recommend is getting a working app store.
The unofficial Aurora Store (version 4.6.0) gives you access to the entire Play Store library without signing into Google, although you can do that as well. Even if you do sign in, though, the issue is that you’ll only be signed into Google within the Aurora Store and not system-wide.
Image: Aurora Store lets you (optionally) sign in with your Google account
Image: Aurora Store gives you access to all the apps in the Google Play Store
I also tried installing the most recent version of the F-Droid app store that works with Android 5, but although the app can be launched it fails to load any content from the online repository (apparently due to a certificate issue) and I wasn't able to browse or install any apps. It is worth noting that F-Droid is not a replacement for the Play Store, but rather an complementary repository of free and open source applications, many of which are actually not available from the Play Store.
Image: F-Droid fails to retrieve the app index (apparently due to an outdated certificate)
Most likely you'll want the official Google Play Store, the most recent version of which installs and runs on Android 5 is here.
However, even though this version is newer than the one that comes with the device, it still gets stuck on the same screen of the sign in process.
In order to get around this problem, I installed the Google Account Manager package, which is released by Google itself as a standalone way to sign into your Google account system-wide.
Interestingly enough, the Google Account Manager doesn't actually come with an app that you can launch from the home screen. It'll be in your apps list in system settings, but the Launch
button will be greyed out.
Image: Google Account Manager cannot be launched like a regular app
In order to launch its user interface, we will have to employ an additional trick. The classic way to do this is to install the QuickShortcutMaker app, which allows you to create home screen shortcuts not just to the apps themselves, but also to what are called activities which are separate individual entry points embedded within Android apps.
Use QuickShortcutMaker to directly launch the Type Email and Password
activity contained within Google Account Manager.
Image: Launching the user login within the Google Account Manager
Image: Launch the activity within the app by tapping “Try”
Once you have it running, don't bother with the normal sign-in process since it also fails. Instead, tap the three dots in the corner and select Browser sign-in
. After being asked to accept the terms, a familiar looking Google sign-in page will be presented to you. This lesser-known way to sign into Google works perfectly and will result in you being signed into your Google account at a system level.
Image: In Google Account Manager, don’t bother with the regular sign in but tap the three dots in the top-right corner and select “Browser sign-in”
Image: System settings show Google account as signed in system-wide
Now, the Google Play Store will let you browse apps and you'll likely have at least 6 app updates waiting for you.
Getting a command line with git, vim, and whatever else you are used to
If you're used to having a terminal around and working with the command line, there's a way to get quite a few things working including git, vim, python and likely whatever else you might be interested in.
Let's get the most recent available version of Termux built for our architecture that installs and runs on Android 5.
The first command I would run is the termux-setup-storage script, which ships with Termux and sets up access to your files (Downloads, Music, Pictures, etc.) from within Termux itself:
$ termux-setup-storage
This will connect your Termux file system with the files you store as a regular Android user.
After that I would remove access to package repositories that I'm not particularly interested in:
$ pkg uninstall science-repo
$ pkg uninstall game-repo
Before you do that, see what packages these repositories contain so you can decide whether you're interested in either of these repositories.
Then I’d install all available package updates by running:
$ pkg update
At this point, you'll have a functional command line with a number of basic utilities and a package manager with access to an outdated package repository.
The most obvious immediate upgrade is to switch to the latest package repostitory that still works with Android 5.
$ nano $PREFIX/etc/apt/sources.list
Use tab completion as you type this to make it easier.
Image: How to edit the file that configures which Termux repository to use
If you're not familiar with the nano text editor, you'll likely need to use the following keyboard shortcuts: ^K
deletes a line, ^O
followed by Enter
saves the file, and ^X
exits the editor.
Looking into how to run Termux on Android 5, it is suggested to use the following repository:
deb https://packages.termux.dev/apt/termux-main-21 stable main
Image: Editing sources.list with the nano text editor
Having switched the repository and saved the configuration file, I would again run:
$ pkg upgrade
You can now pkg install
git
, python
, nodejs
and whatever else that you’re used to in the terminal.
Image: Installing nodejs
in Termux
Fancy bash prompt (like you see in my screenshots)
Use curl to download this fancy two-line bash prompt and save it as ~/.bashrc
:
$ curl -o ~/.bashrc -L bit.ly/benderbash1
Now open a new Termux tab or just restart Termux (or just run . ~/.bashrc
), and your prompt should look nice.
Image: Nice custom bash prompt
Getting the latest version of Vim
If you're a vimmer, the bad news is that the most recent version of neovim available from the package repository is 0.4.3. It's too old I don't recommend bothering with it.
I recommend installing the regular vim
package, which will give you Vim 8.1:
$ pkg install vim
Install your personal ~/.vimrc
and you'll feel right at home.
Image: Vim 8.1 running in Termux with my personal .vimrc config (although it requires some customization and also installing the dein plug-in manager)
Fixing the root certificates so that websites load without security warnings
The problem
The root certificates present on this device are at least partially outdated, which leads to browsers treating access to many legitimate websites as insecure. The root certificates that ship with Android 5.1 are stored in /etc/security/certs
which is a read-only system directory the contents of which cannot be modified unless you root the device.
It appears to be possible to install additional certificates directly from .pem or .cer files and which will be installed in /data/misc/keychain/cacerts-added
. I couldn't find a ready-made up-to-date pack of certificates that could be installed this way anywhere on the web and there is information that suggests that the system will force you to set a screen lock in order to have access to user-provided root certificates. Maybe there's a way to install an up-to-date root certificate pack this way (with even the possibility of a system level installation possible if the device is rooted).
Image: Google Chrome shows an SSL warning for some websites due to outdated root certificates that ship with this device
Image: It’s not exactly convenient to browse the web with these warnings
Image: System root certificates are stored here
Image: These .0 files are actually certificate files in PEM format
The solution
The easy way to somewhat get around this issue, as this article suggests, is by using the Firefox web browser, which comes with its own up-to-date root certificate store. The Opera Mini, which offers useful features such as advanced data compression using its own cloud servers and built-in ad blocking, also appears to have its own certificates.
Image: Wikipedia loads without a security warning in the Firefox browser
Image: Investopedia loads without a security warning in Opera Mini
Image: Opera Mini settings showing “data savings” and “ad blocking” enabled
Google Maps
You can install Google Maps from the Play Store and it works. Since this device has no GPS hardware, it will not be able to determine its precise location, but the Wi-Fi you are connected to can in some cases help center the map near where you are.
Also, be aware that it has a tendency to cache a lot of data as you use it, especially with satellite view turned on. With very limited space on the device, that can pose a bit of a problem (unless, maybe, you move Google Maps over to the SD expansion card).
Image: Google Maps
Image: Google Maps satellite view
Image: Everything seems to work in Google Maps
Wi-Fi scanner in your pocket with the MYMAHDI M400
Install the free CellularZ app to have a convenient Wi-Fi signal visualizer in your pocket.
If you see multiple Wi-Fi hotspots piled up on the same channel, you can make a suggestion to whoever has admin access to switch their hotspot to an unused channel in order to avoid signal interference because it impacts performance.
Image: Visualizing the Wi-Fi spectrum with CellularZ
Image: CellularZ also shows you some of the device specs
Playing music
Put some MP3s in the Music
folder and the HiByMusic app that comes preinstall plays them perfectly.
Image: The Music
folder is the obvious location to place audio files
Image: Playing music files with the HiByMusic app
I would, of course, look around for an alternative music player, although I tried my current favorite 1by1 Directory Player and unfortunately it crashes on this device.
Additional settings and features
Consider unlocking developer options by tapping the build number seven times in Settings > About tablet
to gain access to Android's hidden Developer options
menu in system settings, which gives you access to hidden features such as USB Debugging Mode.
Image: Since Android 4.2 “Developer options” menu becomes available only after tapping the build number 7 times
Image: Turning off animations is one of the useful features hidden in the “Developer options” menu
Conclusion
Assuming everything works as it did when I wrote this guide, you now have a great little MYMAHDI M400 pocket companion. Post in the comments what else you were able to do with yours.