Jump to content
XPEnology Community

exFAT for DSM 5.0 & DSM 6.0


luckylz

Recommended Posts

In the old period, DSM never support exFAT because it's a MicroSoft patent file system. But the memory cards for digital cameras over than 32GB (e.g. 64GB, 128GB), the default format is exFAT. If I want to copy data to DSM, that will be a bigger problem.

 

So from last year I tried to figure out how to support exFAT in DSM 5.0 and finally success. Because DSM is a kind of linux system, so just use the linux exfat packages will be done. Recently, after I tested to install DSM 6.0, also success to mount exFAT without using the $3.99 package "exFAT Access". So I'd like share my method with all.

 

Because this method is not the officially solution, use this at your own risks!

 

Install exFAT support package (tested with XPEnobot 5.2 DS3615x, Jun's loader v1.01 DSM 6.0.2 DS3615x):

1. Enabled root user via ssh:

sudo su -
synouser --setpw root your_new_root_password

2. Login as root user via ssh:

ssh root@nas_ip_address

3. Download and install the exfat-fuse package as the following code:

It seems DSM 5.0 is 32bit linux, and DSM 6.0 is 64bit version, please download different packages.

DSM 5.0

wget -P /tmp/ http://mirrors.kernel.org/ubuntu/pool/universe/f/fuse-exfat/exfat-fuse_1.2.3-1_i386.deb
dpkg -x /tmp/exfat-fuse_1.2.3-1_i386.deb /tmp/exfat-fuse/
cp /tmp/exfat-fuse/sbin/mount.exfat-fuse /usr/bin/

DSM 6.0

wget -P /tmp/ http://mirrors.kernel.org/ubuntu/pool/universe/f/fuse-exfat/exfat-fuse_1.2.3-1_amd64.deb
dpkg -x /tmp/exfat-fuse_1.2.3-1_amd64.deb /tmp/exfat-fuse/
cp /tmp/exfat-fuse/sbin/mount.exfat-fuse /usr/bin/

4. Create a Shared Folder in Control Panal, e.g. usbexfat in Volume1

5. Plug the usb device with exFAT format, and in ssh:

fdisk -l

find out the exFAT device like this:

DSM 5.0

Device     Boot Start     End Sectors  Size Id Type
/dev/sdu1         256 7823654 7823399  3.7G  7 HPFS/NTFS

DSM 6.0

Device     Boot Start     End Sectors  Size Id Type
/dev/sdu1         256 7823654 7823399  3.7G  7 HPFS/NTFS/exFAT

6. Mount the exFAT partition:

mount.exfat-fuse /dev/sdu1 /volume1/usbexfat -o nonempty

7. Then can read & write the exFAT partition in Shared Folder usbexfat.

8. Unmount the exFAT partition:

umount /volume1/usbexfat

9. Eject the usb device in Control Panel or ssh:

eject -F /dev/sdu1

Link to comment
Share on other sites

  • 7 months later...
  • 8 months later...

hi,

 

you have to create the directory before assigning it to the usb folder:

 

mkdir /volume1/usbexfat

 

chmod -w /volume1/usbexfat

 

mount.exfat-fuse /dev/sdu1 /volume1/usbexfat -o nonempty

 

 

 

can you test it ? 

Link to comment
Share on other sites

  • 4 months later...
  • 2 months later...
  • 6 months later...
  • 1 month later...
  • 2 months later...

Hi everyone, registered here just to share my Over Engineered workaround, but its working for me

 

Requirements

  • SSH access to the box
  • Docker (install via package center)

Not Working/Untested

  • Auto copy

Instructions / Steps

  1. Follow the guide to get the scripts installed on https://github.com/luckylz2git/exfat-synology
  2. Install Docker
  3. ssh into the box
    1. Elevate to root (su) 
      sudo su
    2. Create a docker network
      docker network create exfat_nfs_share --subnet 172.31.15.0/24 --gateway 172.31.15.1
    3. Obtain the NFS Server docker image
      docker image pull itsthenetwork/nfs-server-alpine:latest

       

    4. Run the docker container
      docker run -d --net exfat_nfs_share --ip 172.31.15.100 --name exfat_nfs --privileged -v /volume1/usbexfat/usbshare1:/nfsshare -e READ_ONLY -e SHARED_DIRECTORY=/nfsshare itsthenetwork/nfs-server-alpine:latest

       

    5. You can close the ssh session now
    6. Login to DSM
    7. Open File Station
    8. Click in Tools > Mount Remote Folder > NFS Shared Folder
    9. Fill the dialog with the follow values and click mount
      Field Value
      Folder 172.31.15.100:/
      Version v4 <= THIS IS MANDATORY
      Transport TCP
      Mount To Click Browse > usbexfat > Create folder "nfs_usbshare1" > Select "nfs_usbshare_1" > Click OK
      Mount Automatically
      on Startup
      Checked
    10. After mounting there will be a new folder,  nfs_usbshare1, under Remote Folder  on the left sidebar.

This can be used to copy files from the exfat drive into any folder in DSM via the WebUI, I believe that it might also be possible to modify the existing scripts to have a sync running

Regarding the fact that we're running another nfs server and if you're concerned about security, the container is running nfs on a isolated network visible only to the DSM host and containers running on the same network, it SHOULD NOT interfere with DSM NFS shares / Server

 

Note: The new share/mountpoint will be READ ONLY as a preventive measure

Note 2: Wrote this from the top of my head, I might have forgot one or two steps, happy to help if required

  • Thanks 1
Link to comment
Share on other sites

  • 2 months later...
  • 1 year later...
On 1/12/2020 at 5:54 PM, RangaWal said:

Thanks for the tutorial.  Unfortunately I can;t seem to copy files from or to the USB device.  I get an "Error occurred on [destination folder]. (This action is not supported)" message.  Any tips?

Got same issue...seems something related to linux(synology) ACL.

Quick work around, copy by CLI(SSH,telnet) instead of do it in GUI

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...