NFS not being seen

I’ve got a V4K setup downstairs with an attached USB hard drive. I’m trying to share database and library with my rPi3 upstairs.

I’ve mounted the device to /mnt/hdd using fstab (I read that it was better to do that than mount the /media/ folder). I’ve added it to /etc/exports with the following:

/mnt/hdd/Media          192.168.1.0/24(rw,async,insecure,no_subtree_check)

But I can’t browse it when using the built in Kodi browser for NFS. I’m not experienced with linux so I’m almost sure I’m missing something simple but I can’t figure out what. Any help is appreciated.

You try rebooting all devices?

I have. Just did it again to be sure. Even the local V4K can’t find any NFS folders. I don’t know if that is normal or not since the files are local to that device.

For best performance I’d recommend mounting it via /etc/fstab if the Raspberry Pi will always be on with the HDD attached.

Sam

Did you sudo apt-get install nfs-kernel-server?

@sam_nazarko Yes, i did mount using fstab

UUID=D61E-3752 /mnt/hdd vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0111,dmask=0000,allow_utime=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,errors=remount-ro,uhelper=udisks

@ActionA Yup.

nfs-kernel-server is already the newest version.

Any hint in a Kodi debug log when attempting to browse?

When I select “NFS share” the screen flashes the OSMC loading logo briefly before going back to the “browse” screen.

Logs available at http://paste.osmc.io/vagofipeka

You provided grab-logs -a, we need grab-logs -A. :wink:

Killing me, Smalls. :wink:

Logs available at http://paste.osmc.io/haporudofo

10:16:21.730 T:4112860080  NOTICE: NFS is idle. Closing the remaining connections.
11:03:08.078 T:3452957680   ERROR: NFS: Failed to mount nfs share:  (nfs_mount_async failed)
11:03:11.096 T:4112860080   ERROR: GetDirectory - Error getting nfs://
11:03:11.096 T:4112860080   ERROR: CGUIDialogFileBrowser::GetDirectory(nfs://) failed

Usually means some permission problem. Can you mount via the command line, fstab or another device?

Sam

Sure. Can you give me a quick string on how to do it (I’m googling everything and translating it best I can to my needs)? Local device should be 192.168.1.60
Do I mount this through the local device or through remote device for testing purposes?

I’m guessing something like:

192.168.1.60:/mnt/hdd/Media <new mount point?> vfat rw,nosuid,nodev,relatime,uid=1000,gid=1000,fmask=0111,dmask=0000,allow_utime=0022,codepage=437,iocharset=ascii,shortname=mixed,showexec,utf8,errors=remount-ro,uhelper=udisks

is that about right?

Used

sudo mount 192.168.1.60:/mnt/hdd/Media /mnt/Test

gave a “connection timed out”. That was on the V4K, I’ll try it on the rPi

Edit: Same on the rPi.

Does sudo systemctl status rpcbind report rpcbind as active running?

Yup.

 Active: active (running) since Tue 2017-03-07 11:16:47 PST; 1h 25min ago

Could it be something simple I’m missing here, like a basic “do this first” kind of step?

I started with this guide (to share the library): Kodi MySQL setup for sharing media library | SHB
And it led me to this guide (to share the actual files): Install and configure NFS server on Ubuntu for serving files

I had this setup with my V2 (before I fried it) and I didn’t need help before. But it would be very like me to stumble over something super basic.

On the device which is serving your share (ie the one your hdd is plugged into) try running

sudo showmount -e

That will prove whether or not the entries in /etc/exports are actually being shared correctly.

If they are then try

sudo showmount -e IP.OF.SERVER on the client machine. That will determine if they’re visible. If they aren’t, ensure you have connectivity with ping -c5 IP.OF.SERVER

If you have connectivity and the first showmount was ok then try adding a line like this to the /etc/fstab file on the client:

IP.OF.SERVER:/mnt/hdd/Media /mnt/temp nfs x-systemd.automount,_netdev,nfsvers=3,rw,intr,noatime,rsize=32768,wsize=32768,nolock,async 0 0

then running the following on the client:

sudo mkdir /mnt/temp
sudo mount -a
cd /mnt/temp
ls -al

Thanks for the reply!

osmc@osmc:~$ sudo showmount -e
clnt_create: RPC: Program not registered

I was playing around with that a little bit last night, but I couldn’t find a good resolution for why its giving me that error. I double checked that NFS server and portmapper were installed and they seemed to be up to date (although portmapper is now rpcbind or something).

@yknivag Saw your post here: Some services failing to start at boot - #15 by yknivag
Even tried doing the sudo systemctl restart nfs-kernel-server command, but it doesn’t fix the problem so I don’t think its related to the timing issue that you had.

It will probably be the same issue. It arises because NFS still uses a file in /etc/init.d to start and systemd (the startup software used by OSMC) isn’t properly backwards compatible.

I used to fix this by adding a sleep command to the nfs-kernel file in init.d but this is no longer necessary in the RPi OSMC images (maybe newer systemd code).

The Vero 4K uses a different kernel though so you may need to do something similar.

Or you could do the following:

sudo nano /etc/rc.local

and add the following just above the exit 0 line

systemctl restart rpcbind
systemctl restart nfs-kernel-server

This will cause them to restart in the correct order at the end of the boot process.