I have an ARM device running linux using a micro sd card as it's storage. The sd card is split into 3 partitions, the boot partition, the linux partition and a 3rd partition for storage. The third partition is partitioned as FAT16 and formatted as such too.
On the device I swap between mounting the 3rd partition locally to access the storage and unmounting and using usb-gadget (
modprobe g_file_storage file=/dev/mmcblk0p3) to share the partition over usb connection.
The problem I have is that the partition appears as unallocated when the device is attached via usb to a Windows machine (it appears fine in ubuntu/mac). I have tried both mkfs.vfat and mkdosfs from ubuntu.
I can use windows to format the "unallocated" partition but then when I try and mount the partition on the linux device (having done
rmmod g_file_storage) it will not see the same filesystem that Windows created (presumably because the partition when shared is slightly different from the partition when mounted).
Has anyone found a way around this sort of issue?