Why is 64GB SD Card "unreadable"?

Solution 1:

Most Android phones format exFAT SDcards incorrectly, the BlackBerry Priv being the only one I know that does it correctly. All other Android devices create a partition of type 12 (sometimes referred as hexadecimal "c") instead of 7. The android device actually ignores the partition type, so if you set it to 7 then the sdcard will work fine everywhere. There are many options:

  1. You can format the sd card on your MAC, then use it on any other device. Don't forget to copy your data somewhere else first, since reformatting will erase the contents of the sd card.
  2. Use the program fdisk on PC or Linux system. Use the command "mount" on the linux system to see the name of the device corresponding to your sd card (it looks like /dev/sdc1 ) then call fdisk on that device, omitting the last digit (ex: fdisk /dev/sdc). Then use option "t" to change the partition type to 7
  3. I think there is a similar program on Windows.

Solution 2:

My workaround was to access the disk via a Linux VM under VirtualBox. I would still quite like to know how to do this natively under OSX.

This is not a trivial task. This answer was instrumental in getting it set up. I did end up chowning /dev/disk4.

Even after getting SD Card access set up, Linux was unable to mount the partition until I installed exfat-utils; presumably this is, in fact, an exFAT partition. When I mounted it, something like FUSE exFAT was output to the console. This is confusing, since both OSX and Linux's fdisk show the partition ID as 0C, indicating FAT32 LBA (exFAT is supposed to use 07).

EDIT there were problems with this approach: large copies accessing the vm-mounted sdcard would hang after copying only a relatively small amount of data (say, 1-2G out of 64). It was a while ago, but I think I ended up archiving the stuff to copy over into split tarballs and sending the files to the phone using adb. I'll probably be posting another answer here soon, since I'm about to upgrade my SD card yet again. It's looking like rebooting to Ubuntu using a USB drive is going to be the way to go.