Sometimes out-of-the-box storage device (USB stick, memory card, external hard drive) comes with a formatting that only satisfies on operating systems, and the stick cannot be mounted using other operating systems.
Similar problems can occur after formatting a storage device with recent Windows versions (uses NTFS) or MacOS (whatever) or after dd-ing an ISO image on it in Linux (block size confusion).
The following command line snippets for Linux should make any storage device usuable with all operating systems and most or all devices (like smartphones, digital cameras, media players, ...).
Disclaimer: Use at Your own risk
In case of certain problems (i.e. if the storage device is not detected at all) the following snippets can destroy all data even on your internal storage device (i.e. main hard disc resp. SSD).
So USE AT YOUR OWN RISK.
For easier reading the following text will use "storage device" to refer to "USB memory stick or memory card".
Making sure the storage device is detected and remember device partition
To make sure the storage device is detected we list the permanent partitions, connect the storage device, wait a bit, and list the partitions again:
Only if the latter partition list shows a partition the former partition list did not can we assume the device is detected.
Usually but not always the new parititon entry or entries appear at the bottom of the list.
On legacy linuxes it should be the "highest" sd[a-z] value, i.e. sdb, sdc, ...
We are only interested in the device level partition, like sdb. Eventually detected actual paritions like sdb1, sdb2, ... can be ignored.
Clean eventual partition table
Create partition table
TBD: Files > 4 GB?