AFAIK Google got rid of built-in support for this in Android Jelly Bean. Additional tricks are needed to make later versions of Android behave as a USB Mass Storage device. If it works for you out of the box, I suspect it may be specific to your Android distro.
The easiest thing in my mind would be to use USB mass storage, with the storage presented to the connected computer being virtualized with a layer reconciling changes with actual storage on the fly (which the current MTP implementation already does anyway), solving the problem that USB mass storage traditionally has arising from two systems mounting the same chunk of disk at once.
That would work everywhere and remove the need for a bizarre protocol borrowed from Windows XP.