NFS on Xiaomi Redmi: how to configure network access to files without root

Why is NFS on a smartphone convenient?

Network File Systems (NFS) are traditionally associated with servers and desktops, but Xiaomi Redmi’s current MIUI 14/15-based smartphones are capable of working with them, and the main advantage is that remote folders are accessed as local folders without having to sync via cloud or USB.

β€” They keep the media stores on. NAS-servers (Synology, QNAP) They want to stream movies in 1080p/4K bufferless;

Work with large files (projects, backups) and need instant access;

Use a smartphone as a thin client for a remote machine (for example, for development through Termux).

Unlike in the past. SMB (which often slows down on Android or WebDAV (with speed limits), NFS Minimum delays and maintains UNIX-rights that are critical to some applications: MIUI It does not include support by default NFS to the kernel, so you will need a workaround through Termux or third-party applications.

Requirements and preparation of the device

Before you start setting up, make sure your device meets the minimum requirements:

  • πŸ“± Redmi: any based on Qualcomm Snapdragon (Note series) 10/11/12, K40/50) or MediaTek Dimensity (Note) 12 Pro+, K60). On budget models (e.g. Redmi) 10A) possible lag.
  • πŸ”„ Version. MIUI: 13.5+ (Older versions may lack libraries β€” MIUI 14/15 with the latest security patches.
  • 🌐 Network: connection to NFS-Wi-Fi server only 5/6 (mobile Internet is unstable. Recommended speed: from 100 Mbit/s.
  • πŸ”§ Rights: root is not required, but you need access to Termux with a proot-distro package or application NFS Manager (paid).

If you use NAS-server (Synology, QNAP, TrueNAS, make sure it's on it:

  • πŸ“ On. NFS-Service (usually in the File Management section) β†’ Public access β†’ NFS);
  • πŸ”’ Allowed connections with IP-addresses of your local network (for example, 192.168.1.0/24);
  • πŸ”„ Unplugged. NFS v4.1+ (Android works better with you NFS v3).

⚠️ Note: Some Xiaomi.eu firmware or custom ROM (For example, PixelExperience support NFS It can be turned off at the core level. /proc/filesystems | grep nfs in Termux – if no response is given, core reassembly will be required.

πŸ“Š What? NAS-You are using the server?
Synology
QNAP
TrueNAS/FreeNAS
Homemade (Raspberry Pi/Single-Player)
No NAS, just PC.
Other

Method 1: Connecting via Termux (without root)

This method is suitable for most Redmi users and does not require superuser rights.We will use Termux with root emulation via proot-distro.

Step 1: Install Termux and Dependencies

1. Download Termux from F-Droid (the version from Google Play is outdated and does not support proot).

2. Update packages and install proot-distro:

pkg update && pkg upgrade -y


pkg install proot-distro -y

3. Create a virtual Ubuntu environment (it contains all the necessary utilities for NFS):

proot-distro install ubuntu


proot-distro login ubuntu

Step 2: Installation NFS-client

Inside the Ubuntu virtual environment, do:

apt update && apt install -y nfs-common


modprobe nfs

If the modprobe command produces an Operation not permitted error, then the MIUI kernel does not support module loading, in which case go to Method 2 (NFS Manager application).

Step 3: Mounting NFS-balls

1. Create a mounting point:

mkdir ~/nfs_share

2. Connect the Remote Folder (Replace) IP_SERVICE and / way / to / folder on your own):

mount -t nfs IP_SERVICE:/path/to/folder ~/nfs_share -o nolock,soft,udp

Flags -o nolock,soft,udp are critical for stable Android work!

Check the mounting:

df -h | grep nfs

Installed by Termux from F-Droid|Created a virtual environment Ubuntu|Installed package nfs-common|The nfs module is loaded (modprobe)|The folder for mounting created|The mount command is executed without errors-->

⚠️ Warning: After the smartphone is restarted, the mounting will reset. To automate the process, add the mount command to the file. ~/.bashrc (but it will only work after manually running Termux). + Termux plugin: Tasker.

Method 2: NFS Manager Application (paid but simple)

If working with Termux seems difficult, you can use the application NFS Manager (cost) ~300β‚½). It provides a graphical interface for mounting NFS-The ball and works on most Redmi devices without root.

Instructions for setting:

  1. Install NFS Manager from Google Play.
  2. Open the application and press + (Add server).
  3. Fill in the fields: Server name: arbitrary (e.g., "My" NAS"); IP-address: NFS-servers (e.g., servers, 192.168.1.100); Path: Exportable folder (e.g., exported folder, /volume1/movies); Protocol: Select NFS v3; Port: Leave it 2049 (default).

Save.

Connect

Once you have successfully connected, the folder will appear in the Storage β†’ NFS section of any file manager (e.g., Mi File Manager or Solid Explorer).

ParameterTermuxNFS Manager
Root is required.❌ No.❌ No.
Costβœ… Free of charge.⚠️ ~300β‚½
Auto-mounting❌ Only manually.βœ… There's an option.
Support for NFS v4❌ No, only. v3)βœ… Partially.
Speed of operation⚑ Faster (native client)🐒 Slower (Java wrapper)

πŸ’‘

If NFS Manager can’t see the server, check what is on the server. NAS You're allowed to access from your Wi-Fi subnet, for example, in Synology, this is configured into the Control Panel. β†’ File sharing β†’ NFS β†’ Export rules. Add a line. 192.168.1.0/24(rw,async,no_root_squash) (replace the subnet with your own).

Addressing common mistakes

Even with the right NFS setup on Redmi, there can be problems, and here are the most common ways to fix them:

1. "Permission denied" error during mounting

Reason: The server is not allowed access to your IP or has incorrect rights.

Decision:

  • πŸ”§ On the server edit the export file (/etc/exports) And add the rule: /path/to/folder 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
  • πŸ”„ Reboot. NFS-Service: sudo exportfs -a && sudo systemctl restart nfs-server

2. Hanging up when copying files

Reason: Uses TCP instead of UDP or locks are enabled.

Solution: When mounting in Termux, add the following flags:

mount -t nfs IP_ SERVER:/path ~/nfs_share -o nolock,soft,udp,timeo=10,retrans=2

3. Low data transfer speed

Causes and solutions:

  • πŸ“Ά Weak Wi-Fi: Connect to 5GHz or use Wi-Fi 6 (on Redmi Note 12 Pro)+ newer).
  • πŸ”Œ Powering the processor: Enable performance mode in Settings β†’ Battery. β†’ Power regimens.
  • πŸ”§ MTU: Reduce packet size to 1472 (in router settings or via Termux by ifconfig command) wlan0 mtu 1472).
What if NFS shuts down after the device sleeps?
By default, Android breaks network connections when it goes to sleep.To avoid this: 1. IP yours NFS-The servers in the list "Always active" VPN" (via the NetGuard or Tasker app. 2. disable battery optimization for Termux or NFS Manager in Settings β†’ Annexes β†’ Battery management. 3. Use Termux:Wake-Lock (Termux plugin) to keep the processor active: pkg install termux-wake-lock wake-lock

Optimizing NFS Performance on Redmi

By default, NFS on Android doesn't work as fast as it does on a PC, but there are ways to speed up data transfer:

Configuring buffering

In Termux, before mounting, perform:

echo 1048576 > /proc/sys/net/core/rmem_default


echo 1048576 > /proc/sys/net/core/wmem_default

This will increase the size of the network buffer, which is especially useful for transferring large files (like movies in 4K HDR).

2.Using NFS over TCP (UDP alternative)

Although UDP is usually faster, some networks have more stable TCP.

mount -t nfs IP_ SERVER:/path ~/nfs_share -o tcp,vers=3,rsize=32768,wsize=32768

3. Disable rights verification (for trusted networks)

If you are connected to your home network and trust all devices, you can turn off the rights check:

mount -t nfs IP_SERVICE:/path ~/nfs_share -o noac

⚠️ This will reduce safety, but increase speed. 10-15%.

mount -t nfs IP_SERVER:/way ~/nfs_share -o udp,nolock,noac,rsize=32768,wsize=32768,timeo=14

These settings are optimal for Redmi with Wi-Fi 6 and NAS synology-based DS220+ similar.-->

How to protect data when using NFS

NFS doesn't encrypt traffic in the first place, so it's best not to use it on open networks like a cafe or a hotel.

1. Restriction of access over IP

On the server, allow connections only from IP-address of your devices, for example, in /etc/exports:

/path/to/folder 192.168.1.100(rw) 192.168.1.101(ro)

Where 192.168.1.100 is your Redmi’s IP and 192.168.1.101 is another read-only device.

2. VPN for remote access

If you need to connect to NFS from the outside (for example, via mobile Internet), configure WireGuard or OpenVPN:

  1. Install. VPN-server NAS (For example, through the WireGuard Synology package).
  2. On Redmi, connect to a VPN and then mount NFS over local IP (e.g. 10.0.0.1).

3. Encrypting folders

If the NAS supports eCryptFS or EncFS, encrypt the folder before exporting over NFS. For example, on Synology:

  1. Create an encrypted folder in File Station.
  2. Export it to the NFS as usual.
  3. When mounting on Redmi, you will need to enter a password (via Termux or NFS Manager).

⚠️ Note: Do not store passwords from NFS or VPN note-book SMS! Use a password manager (like Bitwarden or KeePassDX) with two-factor authentication. On Redmi, you can integrate Bitwarden into the autocomplete menu (Settings) β†’ Passwords and security β†’ Auto-filling).

FAQ: Frequent questions about NFS on Xiaomi Redmi

Can I connect NFS to Redmi without Wi-Fi, via mobile Internet?
Technically, yes, but it is highly discouraged for two reasons: Security: NFS does not encrypt traffic, and your data (including passwords) can be intercepted. Stability: Mobile Internet often changes IP, and the connection will break. Better use VPN (WireGuard) + NFS. If you still need to: set up port port port port port port port on the router (TCP/UDP port 2049) and use DDNS (for example, No-IP) to access the domain name.
Why did MIUI NFS stop working after the update?
The reasons may be different: kernel update: In new versions MIUI sometimes take out support NFS Check the cat with the team. /proc/filesystems | grep nfs. If no response is required, a custom core (e.g. KernelSU) will be required. Termux lock: After the update MIUI It can reset permissions for Termux. β†’ Annexes β†’ Permit management β†’ Special access β†’ Access to storage and enable for Termux. Changes to SELinux: In MIUI 15+ Try temporarily switching SELinux to Permissive mode (root required): su setenforce 0
How to Auto-Connect NFS When Starting Termux?
Add the mount command to the file ~/.bashrc: Open the file: nano ~/.bashrc Add to the end of the line: mount -t nfs IP_SERVER:/way ~/nfs_share -o nolock,soft,udp Save (Ctrl)+O) and close (Ctrl)+X. Now. NFS It will be mounted automatically every time Termux starts. For full automation, set up Tasker: Create a task with the action Execute command: Point the way to Termux: am start -a com.termux.RUN_COMMAND -n com.termux/.app.TermuxActivity -d "mount -t nfs IP_SERVER:/way ~/nfs_share -o nolock,soft,udp" Add trigger Device downloaded or Wi-Fi connection.
What are the alternatives to NFS for Xiaomi Redmi?
If NFS not suitable, consider other protocols: Protocol Speed Security Complexity of settings SMB (Samba) 🟑 Medium 🟑 Medium (encryption can be enabled) βœ… Easy Mi File Manager, FX File Explorer WebDAV 🟠 Low. 🟒 Tall (HTTPS) 🟑 Average WebDAV Navigator SSHFS 🟒 Tall. 🟒 High (encryption) 🟠 Difficult (needed) SSH-server + sshfs FTP/FTPS 🟠 Low. 🟑 Medium (FTPS) βœ… Easy Solid Explorer For most Redmi users, the best choice β€” SMB (simplicity SSHFS (safety + speed).
Can I stream 4K video over NFS on Redmi?
Yes, but with reservations: πŸ“Ί Codecs: Make sure your Redmi supports hardware-based video format decoding. e.g. Redmi Note 12 Pro+ decode H.265 (HEVC) and VP9 hardware, and Redmi 10C β€” only H.264. 🌐 Network: For 4K HDR (bitrate ~50 Mbps) Wi-Fi 6 or wired connection via USB-Ethernet adapter (e.g, UGREEN USB 3.0 to RJ45). 🎡 Player: Use VLC or MX Player with hardware acceleration enabled (Settings) β†’ decoder β†’ Hardware acceleration. If the video slows down, try: Reduce bitrate on the server (e.g. via FFmpeg). Use Plex or Jellyfin to transcode on the fly. Connect on the fly. SMB (Sometimes it works better for the media).