OK.
My timezone is UTC+13 (NZDT) and it is breaking the mount script - the time_offset argument on the mount command only accepts values up to 12 hours (720 minutes)
I’ve pulled apart the mdev.conf file and followed the /sbin/sdmount.sh script through to mounting a VFAT partition. It passes a timezone offset value in minutes - 780 in my case.
Attempting to manually mount using these parameters results in error - dropping the time_offset down to 720 results in a successful mount.
The reason it works with exfat is that it mounts using ufsd and the ‘bias’ command is used instead of time_offset.
I will update my support ticket and hopefully a fix can be found.
Posting here in case anyone else in New Zealand buys this product and plans to use FAT32 formatted SD cards.
Log file showing issue
================================================
Feb 4 19:25:56 MyPassport user.info kernel: [ 600.431097] mmc1: new ultra high speed SDR104 SDHC card at address 59b4
Feb 4 19:25:56 MyPassport user.info kernel: [ 600.440323] mmcblk0: mmc1:59b4 00000 29.8 GiB
Feb 4 19:25:56 MyPassport user.info kernel: [ 600.442330] mmcblk0: p1
Feb 4 19:25:56 MyPassport user.err kernel: [ 600.933394] ufsd: failed to mount "mmcblk0p1". bad option "utf8=1,time_offset=780"
Feb 4 19:25:56 MyPassport user.notice kernel: [ 600.941148] ufsd: fill_super failed to mount mmcblk0p1: "bad options" ->-22
================================================
Mounting with no time_offset
# blkid /dev/mmcblk0p1
/dev/mmcblk0p1: TYPE="vfat"
# mkdir -p "/media/SDCard_mmcblk0p1" || exit 1
# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=0 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext4 (rw,relatime,commit=3600,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=227608k,nr_inodes=56902,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio)
tmpfs on /media type tmpfs (rw,size=512k)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /tmp type tmpfs (rw,size=307200k)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb2 on /hwcollect type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /media/sdb1 type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /DataVolume type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /shares/Storage type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /var/ftp/Storage type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 type vfat (rw,noatime,nodiratime,fmask=0077,dmask=0077,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,time_offset=0,errors=remount-ro)
# cd /media/SDCard_mmcblk0p1/
# ls
DCIM/
# cd DCIM/
# ls
106_FUJI/
# cd 106_FUJI/
# ls
DSCF6879.JPG* DSCF6879.RAF* DSCF6880.JPG* DSCF6880.RAF*
Mounting trying to find the time offset ‘danger point’
[root@MyPassport /]# mount -t auto -o async,utf8,noatime,nodiratime,time_offset=780 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
mount: mounting /dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 failed: Invalid argument
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=400 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
[root@MyPassport /]# umount /dev/mmcblk0p1
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=500 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
[root@MyPassport /]# umount /dev/mmcblk0p1
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=600 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
[root@MyPassport /]# umount /dev/mmcblk0p1
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=700 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
[root@MyPassport /]# umount /dev/mmcblk0p1
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=750 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
mount: mounting /dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 failed: Invalid argument
[root@MyPassport /]# umount /dev/mmcblk0p1
umount: can't umount /dev/mmcblk0p1: Invalid argument
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=740 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
mount: mounting /dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 failed: Invalid argument
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=730 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
mount: mounting /dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 failed: Invalid argument
[root@MyPassport /]# mount -t auto -o async,utf8=1,noatime,nodiratime,time_offset=720 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1"
exfat
=====
# blkid /dev/mmcblk0p1
/dev/mmcblk0p1: LABEL="FujiSD" UUID="9230-8168" TYPE="exfat" PARTUUID="2698aaa9-01"
# mount -t ufsd -o trace=off,async,force,fmask=0000,dmask=0000,bias=-780 "/dev/mmcblk0p1" "/media/SDCard_mmcblk0p1";
# mount
rootfs on / type rootfs (rw)
/dev/root on / type ext4 (rw,relatime,commit=3600,data=ordered)
devtmpfs on /dev type devtmpfs (rw,relatime,size=227608k,nr_inodes=56902,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_prio)
tmpfs on /media type tmpfs (rw,size=512k)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
mqueue on /dev/mqueue type mqueue (rw,relatime)
tmpfs on /tmp type tmpfs (rw,size=307200k)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
/dev/sdb2 on /hwcollect type ext4 (rw,relatime,data=ordered)
/dev/sda1 on /media/sdb1 type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /DataVolume type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /shares/Storage type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/sda1 on /var/ftp/Storage type pmxcache (rw,relatime,fstype=ufsd,pmxcache=pmxfs,nls=utf8,fmask=0,dmask=0,nocase,force)
/dev/mmcblk0p1 on /media/SDCard_mmcblk0p1 type ufsd (rw,relatime,nls=utf8,fmask=0,dmask=0,nocase,force)