Sharing storage partition from linux device over usb

1

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?

Septih

Posted 2012-06-11T08:16:27.283

Reputation: 209

"an ARM device running linux using a micro sd card as it's storage." You mean a phone, right? – Hassan – 2012-06-11T08:26:24.833

It's not a phone, no. It will be an mp3 player. The sd card is the only storage on the board (not like a phone where it has internal storage and an sd card slot for extra storage). – Septih – 2012-06-11T08:34:39.970

Answers

2

Adding removable=y to the end of modprobe fixed this for me.

Septih

Posted 2012-06-11T08:16:27.283

Reputation: 209