Card reader can read Extreme Pro 128GB, but not High Endurance 128GB

The SD card reader is built into a ThinkPad T550 (20CJ-S01P00). It is running Arch Linux. When I insert a 128GB Extreme Pro SDXC (full size), it mounts nicely. However, when I insert a 128GB High Endurance microSDXC, that is not detected. Both cards were formatted in a Sony ZV-1 camera.

I also tried another microSD adapter, and I tried another non-Sandisk microSD card. Neither option works. It seems that the reader in this ThinkPad just cannot read microSDXC cards in an adapter.

Shouldn’t a microSDXC card in an adapter be equivalent to an SDXC card? Or is there some subtle difference?

For technical details, have a look at the kernel ring buffer, where I added some comments (Before… / After…):

[ 3553.027428] Before inserting Sandisk Extreme Pro 128GB
[ 3557.887173] mmc0: cannot verify signal voltage switch
[ 3558.279925] mmc0: error -110 reading general info of SD ext reg
[ 3558.279947] mmc0: error -110 whilst initialising SD card
[ 3559.055169] mmc0: cannot verify signal voltage switch
[ 3559.166906] mmc0: error -22 reading PERF func of ext reg
[ 3559.166918] mmc0: error -22 parsing SD ext reg
[ 3559.166941] mmc0: error -22 whilst initialising SD card
[ 3559.937355] mmc0: cannot verify signal voltage switch
[ 3560.049835] mmc0: new UHS-I speed SDR104 SDXC card at address aaaa
[ 3560.050226] mmcblk0: mmc0:aaaa SR128 119 GiB
[ 3560.051641]  mmcblk0: p1
[ 3569.857809] After inserting Sandisk Extreme Pro 128GB
[ 3587.199384] After unmounting Sandisk Extreme Pro 128GB
[ 3610.383914] mmc0: card aaaa removed
[ 3624.295387] wlp3s0: disconnect from AP 7c:10:c9:a6:c4:51 for new auth to c8:7f:54:b9:fa:35
[ 3624.349178] wlp3s0: authenticate with c8:7f:54:b9:fa:35 (local address=60:57:18:e9:36:8f)
[ 3624.350265] wlp3s0: send auth to c8:7f:54:b9:fa:35 (try 1/3)
[ 3624.352016] wlp3s0: authenticated
[ 3624.355477] wlp3s0: associate with c8:7f:54:b9:fa:35 (try 1/3)
[ 3624.356783] wlp3s0: RX ReassocResp from c8:7f:54:b9:fa:35 (capab=0x1011 status=0 aid=33)
[ 3624.358968] wlp3s0: associated
[ 3624.390621] wlp3s0: Limiting TX power to 30 (30 - 0) dBm as advertised by c8:7f:54:b9:fa:35
[ 3625.740164] After physically ejecting Sandisk Extreme Pro 128GB
[ 3660.060995] Before inserting Sandisk High Endurance 128GB microSD
[ 3667.922242] mmc0: cannot verify signal voltage switch
[ 3668.026753] mmc0: tuning execution failed: -22
[ 3668.026774] mmc0: error -22 whilst initialising SD card
[ 3668.852453] mmc0: cannot verify signal voltage switch
[ 3668.955819] mmc0: tuning execution failed: -22
[ 3668.955829] mmc0: error -22 whilst initialising SD card
[ 3669.770292] mmc0: cannot verify signal voltage switch
[ 3669.875773] mmc0: tuning execution failed: -22
[ 3669.875817] mmc0: error -22 whilst initialising SD card
[ 3702.622935] After inserting Sandisk High Endurance 128GB microSD
[ 3739.860493] After physically ejecting Sandisk High Endurance 128GB microSD

Have you checked our knowledge base articles?
(Get Support for Your SSDs and Flash Products | Sandisk)

Try this one

Have you opened a Support Case?
If not, contact SanDisk Technical Support for assistance.
(Contact Support | Sandisk)

Thanks for the suggestion, but that is way too basic information.

I could try, but my question is probably beyond regular technical support.

I assume an engineer, who designs the products and specs, may be able to answer it.

Make sure all cards are formatted with exFAT which is the standard

Thank you for the suggestion, but the format is not the issue. The card does not even show up as a block device (lsblk). We now got a full sized Ultra card of the same size (128GB), and that – like all the other full size SD cards that I tested – just works. I formatted it with Ext4.

To the card reader, apparently a microSD card in an adapter appears different to a full-size SD card. I just wonder in what way.

Could be the machine card reader is too old for modern SDHC class cards. Linux, OSX and Windows all can read exFAT so I recommend using the standard and use a USB reader which evidently reads the modern SDHC class cards.

SDHC cards would be too small. I tried with SDXC and microSDXC. SDXC works, while microSDXC in an adapter doesn’t. This is independent of the file system.

I just would like to understand why there is the difference. It might be an electrical issue.

A full microSD card inside of an adapter is not the same as a full size SD Card inside of a SD card reader slot. Yes the cards are different, designed for different purposes, but it sounds like your reader is not capable of seeing a microSD card inside of an adapter. So, (1) Ditch the Adapter (2) get a USB-C Reader with a microSD card slot (3) attach to your computer USB-C port, (4) insert the microSD card into the microSD card slot, and if your system supports it outside of the default SD Card slot, the microSD card should mount even if EXT4.

Just say NO to microSD adapters period :slight_smile:

Reference: Learn About the Best Practices for Using Memory Cards | Sandisk

The T550 has no USB-C ports but it does have USB 3.0 support which will accept low cost USB multi card adapters

I use one when I need to import data

I suggest test the High Endurance microSD card in another slot or reader using a USB microSD reader (not the built-in SD slot).
Also check kernel logs (dmesg) for errors – you already captured logs showing failure to complete voltage tuning. That’s solid evidence of hardware-level incompatibility.

Yes, it looks like hardware level incompatibility. I just wonder in what way microSDXC cards look different to the reader than SDXC cards. That’s for an electrical engineer to tell.

Modern USB card readers are usually able to handle most cards out there. The more recent express card readers usually are more costly.

Hey @feklee,
You’ve already done a great job testing and analyzing this. Everyone here has rightly pointed out it’s likely a hardware-level issue with how the T550’s SD reader handles microSDXC via adapters. Your logs with tuning/voltage errors back that up.

Just to reinforce what’s been said: the cleanest workaround here is using a USB microSD reader (not adapter-based) via one of the USB 3.0 ports. It avoids compatibility quirks with the built-in slot and should work reliably.