Cannot get Android 4.0 NFS client to connect to my NFSv4 Ubuntu server: "no such device" I'm using GLaDOS kernel which includes the NFS modules (and I'm using the Codename Android ICS 4.0.3 ROM) on a GSM Galaxy Nexus. I'm trying to connect to my NFSv4 server (Ubuntu 11.10). My other clients (e.g., Ubuntu 11.04 laptop) can connect over the same LAN network, but my Galaxy Nexus will not connect.

In the Android terminal (BTEP), in su mode, I'm entering these commands:

insmod sunrpc.ko
insmod lockd.ko
insmod nfs.ko


lsmod shows the modules loaded:

nfs 104232 0 - Live 0xbf036000
lockd 42336 1 nfs, Live 0xbf028000
sunrpc 150792 3 nfs,lockd, Live 0xbf000000


My mount command (In the terminal, in su mode) is:

mount -t nfs4 nfserver:/shared1 /sdcard/nfs/shared1


The error is "no such device". (See edit below - I have a new error now.) It returns immediately, so I'm fairly certain this is entirely a client side error. It is probably not even trying to contact the server.

Usually the "no such device" error means that the nfs kernel module is not loaded. However, in my case, it is indeed loaded, as shown above. Can anyone help? 

EDIT: so now I believe that the BusyBox mount command does not support NFSv4. Unfortunately, my server only supports NFSv4. So I borrowed a NAS device which supports NFS v3 and set that up.

Now the error is "invalid argument". In fact, the BusyBox mount command gives the same "invalid argument" error on all mounts using either "-t nfs" or "-t cifs". That leads me to conclude (based on quote below) that there is a version mismatch between BusyBox and my Linux kernel.


busybox: 1.19.3-Stericson   
linux: 3.0.8-GLaDOS-V1-15


My conclusion is supported by this link where he says:

This is how I interpret it.
kernel is newer - recompile mount command (i.e. busybox etc)
Make sure that it uses the headers from the kernel it will run with.


Finally, trying a regular NFS v3 server (the NAS device) with Mount Manager does not succeed with either NFS or CIFS. But AndSMB will connect to the NAS using CIFS.
I can tell you that is is Not the mount command, it is the nfs.ko module that probably doesn't support NFS4. 

When you call mount -t nfs ... the mount command is going to look for the filesystem type of nfs. If it doesn't find it, then you get the no such device error. If it does find it, it basically hands off the "mount" to the module. 

For the mount manager issue, if you do not have a cifs module, cifs will not work with mount manager. AndSMB uses its own cifs/samaba implementation, and that is fine, but in order to accomplish something that allows any application to access the mounted share, it has to be cifs.ko module. I have to do some more looking in to the nfs issue you are still having.