External Ext4 card mounted only for root (!) on Android 5.1 64 bits In short: if I mount my Ext4 8GB SD card, only root (SU) can see it. The rest of users (so, the rest of apps) don't detect it.

As long as my Ext4 SD card is not correctly mounted (Android always yields Damaged SD card. Format it... blah blah blah), I followed this guide to mount it. And it works:  

SD Card is at /dev/block/mmcblk1, so first partition is at /dev/block/mmcblk1p1.
I performed the (not very clear for me) prior ADB process:

su
setprop service.adb.tcp.port 5555
adb kill-server
stop adbd
start adbd
HOME=/sdcard adb start-server
adb connect localhost
adb -s localhost:5555 shell
exit
stop adbd
cat /sdcard/.android/adbkey.pub &gt;&gt; /data/misc/adb/adb_keys
start adbd


And then the card is correctly mounted by doing (as root):

# mount -t ext4 /dev/block/mmcblk1p1 /storage/extSdCard &amp;&amp; sleep 5 &amp;&amp; /system/bin/vold


Note how it works as SU but not as normal user:

root@unknown:/ # ls /storage/sdcard1
lost+found
root@unknown:/ # exit
u0_a98@unknown:/ $ ls /storage/sdcard1
ls: can't open '/storage/sdcard1': Permission denied


I have tested the above steps via SSH (remote shell).
The SD Card has been formatted from Windows using Minitool Partition Wizard.  

I have tested too:  


Editing the /system/etc/permissions/platform.xml file manually (adding &lt;group gid=”media_rw” /&gt;) to WRITE_EXTERNAL_STORAGE section, as referred here.
SDFix.
Using Xposed framework with HandleExternalStorage module.


But the apps (Total Commander, Ghost Commander, or any other program) have no access to the Ext4 SDCard.

What else could I try?
Workarounds to make apps read (and write) SD Card accepted too.

Extra data 1:  

Note the output of the mount command for both users:

root@unknown:/ # mount | grep "sdcard" -i
/dev/block/mmcblk1p1 /storage/sdcard1 ext4 rw,seclabel,relatime,data=ordered 0 0
root@unknown:/ # exit
u0_a98@unknown:/ $ mount | grep "sdcard"
u0_a98@unknown:/ $ mount | grep "mmcblk"


As can be seen, the root user has a mounted device that the normal user has not (!). I did not know this could happen on Linux.
Edit 2020-06-03: If you would like to see a way more detailed answer in how the mounting ecosystem works under Android, you may have a look at this answer: How to bind mount a folder inside /sdcard with correct permissions?
Mounting
Try logging in as a root user with proper mounting permissions using
su -mm

Make sure that a directory exists that receives the mount:
mkdir /mnt/arch1

You can also create an empty folder inside your internal storage and use that mount point instead if Apps won't allow you to browse in the / root directory.
Mount your ext4 partition using
mount -t ext4 -o noatime /dev/block/mmcblk1p2 /mnt/arch1

whereas mmcblk1p2 is the second partition of my sdcard in my case. You can replace /mnt/arch1 with any other path you wish.
My first partition is formatted (and acting as extSdCard) with FAT32 as a fallback, so Apps write their stuff there while my ext4 partition is &quot;safe&quot; and to prevent OSes accidentally formatting the whole SD-Card when inserting it.
You should now be able to browse inside that mount point using either your terminal (rooted and non-rooted) or your apps.
To automatically mount the partition on startup, you can use this line
su -mm -c mount -t ext4 -o noatime /dev/block/mmcblk1p2 /mnt/arch

in Tasker for example.
Unmounting / mount information
Please note that mount points of -mm in turn aren't visible to the &quot;regular&quot; root (without -mm). To unmount the partition, you would have to login with -mm again and use umount /dev/block/mmcblk1p2 or umount /mnt/arch1 from there.
Checking whoami won't reveal being logged in with or without -mm.
App permissions
Edit 2020-06-03: After all these years using this approach I should add that even with rwx permissions on my special ext4 sdcard partition, apps may not be able to read files unless the SELinux policy is set to &quot;permissive&quot;. For a quick fix I let Tasker execute su -c setenforce permissive on every boot. I need to do this anyway because I use ViPER4Android audio effect processing and it would not work without the permissive setting. Because of this, I noticed the permissive dependency just recently.
What I can't answer
Unfortunately I have no idea how to mount it in that way that your ext4 partition is displayed as real external storage by standard file managers. You would have to do the workaround by creating a directory inside your internal storage mentioned earlier.
How I figured it out
I experienced the exact problem. I gave the fact that other apps can't access the mount a further thought. Maybe the root user is not supposed to mount partitions for use with Android apps. I noticed a directory called media_rw is owned by media_rw (yes, same names) so I thought about suing as a media_rw user and applying the above steps.
While reading the help page with su --help within Android, I stumbled across this part:
-m, -p,
-mm, --mount-master          connect to a shell that can manipulate the
                             master mount namespace - requires su to be
                             running as daemon, must be first parameter

So tried logging in as a root user with the -mm option instead, mounted my partition from there and surprise - I was able to see my stuff in Total Commander and open media files from there with VLC.
My device in particular is the Planet Computers Gemini, using stock Android 7.1.1 (Nougat) rooted with SuperSU. Edit 2020-06-03: Android 8.1 (Oreo rooted with Magisk; same device) as well.