Bug 201447

Summary: SDXC scandisk Extreme UHS-I card not recognized on DELL XPS 15-9550 laptop
Product: Drivers Reporter: ufospoke
Component: MMC/SDAssignee: drivers_mmc-sd
Status: NEW ---    
Severity: normal CC: andrew.harford, antoine.gravelot, benwolsieffer, bkanuka, brodie, coeos, ionut.ciocirlan, kernelbugs.philipl, mrcn.wielgus, pappl1978, samuel-kbugs, skala.vaclav96, sqoorch
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 4.18.13 Subsystem:
Regression: No Bisected commit-id:

Description ufospoke 2018-10-16 20:45:58 UTC
I have a SD card reader on my laptop (DELL XPS 15-9550). I can read a 5 year old SDXC ScanDisk 64Gb U1 card without any issue but if I want to read my brand new SDXC ScanDisk 64Gb A2 UHS-I card, I get the following kernel error message:
mmc0: cannot verify signal voltage switch
mmc0: error -110 whilst initialising SD card

lspci says:
03:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd.
RTS525A PCI Express Card Reader (rev 01)

When I insert the old SDXC card (the one that works), I get this:
mmc0: cannot verify signal voltage switch
mmc0: new ultra high speed SDR104 SDXC card at address e624
mmcblk0: mmc0:e624 SU64G 59.5 GiB
mmcblk0: p1

I am on Fedora 28 (x86_64).
Comment 1 ufospoke 2018-10-16 20:52:25 UTC
I forgot to say that the new SDXC card works well on my Android phone and on another linux computer (older) with the same kernel (Fedora 28) and gives this message on this other computer:
mmc0: new SDXC card at address aaaa
mmcblk0: mmc0:aaaa SN64G 59.5 GiB
mmcblk0: p1
Comment 2 Andrew 2019-04-04 11:21:26 UTC
Hi I am seeing the same behaviour with kernel 5.0.5-200.fc29.x86_64 and a new Sandisk Extreme 128GB card.

01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader (rev 01)
	Subsystem: Dell Device 081b
	Flags: bus master, fast devsel, latency 0, IRQ 126
	Memory at ef200000 (32-bit, non-prefetchable) [size=4K]
	Capabilities: [80] Power Management version 3
	Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+
	Capabilities: [b0] Express Endpoint, MSI 00
	Capabilities: [100] Advanced Error Reporting
	Capabilities: [148] Device Serial Number 00-00-00-01-00-4c-e0-00
	Capabilities: [158] Latency Tolerance Reporting
	Capabilities: [160] L1 PM Substates
	Kernel driver in use: rtsx_pci
	Kernel modules: rtsx_pci

[    3.578318] mmc0: error -110 whilst initialising SD card
[    4.906367] mmc0: error -110 whilst initialising SD card
[    6.234451] mmc0: error -110 whilst initialising SD card

Same laptop has no problems mounting the card in Windows.
Comment 3 Václav Skála 2019-04-09 07:49:23 UTC
Possibly duplicate of bug https://bugzilla.kernel.org/show_bug.cgi?id=93201.
Comment 4 pappl 2019-05-10 16:50:10 UTC
(In reply to Andrew from comment #2)
> Hi I am seeing the same behaviour with kernel 5.0.5-200.fc29.x86_64 and a
> new Sandisk Extreme 128GB card.
> 
> 01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A PCI
> Express Card Reader (rev 01)
>       Subsystem: Dell Device 081b
>       Flags: bus master, fast devsel, latency 0, IRQ 126
>       Memory at ef200000 (32-bit, non-prefetchable) [size=4K]
>       Capabilities: [80] Power Management version 3
>       Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+
>       Capabilities: [b0] Express Endpoint, MSI 00
>       Capabilities: [100] Advanced Error Reporting
>       Capabilities: [148] Device Serial Number 00-00-00-01-00-4c-e0-00
>       Capabilities: [158] Latency Tolerance Reporting
>       Capabilities: [160] L1 PM Substates
>       Kernel driver in use: rtsx_pci
>       Kernel modules: rtsx_pci
> 
> [    3.578318] mmc0: error -110 whilst initialising SD card
> [    4.906367] mmc0: error -110 whilst initialising SD card
> [    6.234451] mmc0: error -110 whilst initialising SD card
> 
> Same laptop has no problems mounting the card in Windows.

Exactly the same issue and error messages on my Dell XPS 13 laptop.

It also has the Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card Reader

SDXC doesn't work anymore, SDHC still working only.
Comment 5 coeos 2019-05-17 15:06:32 UTC
(In reply to pappl from comment #4)
> (In reply to Andrew from comment #2)
> > Hi I am seeing the same behaviour with kernel 5.0.5-200.fc29.x86_64 and a
> > new Sandisk Extreme 128GB card.
> > 
> > 01:00.0 Unassigned class [ff00]: Realtek Semiconductor Co., Ltd. RTS525A
> PCI
> > Express Card Reader (rev 01)
> >       Subsystem: Dell Device 081b
> >       Flags: bus master, fast devsel, latency 0, IRQ 126
> >       Memory at ef200000 (32-bit, non-prefetchable) [size=4K]
> >       Capabilities: [80] Power Management version 3
> >       Capabilities: [90] MSI: Enable+ Count=1/1 Maskable- 64bit+
> >       Capabilities: [b0] Express Endpoint, MSI 00
> >       Capabilities: [100] Advanced Error Reporting
> >       Capabilities: [148] Device Serial Number 00-00-00-01-00-4c-e0-00
> >       Capabilities: [158] Latency Tolerance Reporting
> >       Capabilities: [160] L1 PM Substates
> >       Kernel driver in use: rtsx_pci
> >       Kernel modules: rtsx_pci
> > 
> > [    3.578318] mmc0: error -110 whilst initialising SD card
> > [    4.906367] mmc0: error -110 whilst initialising SD card
> > [    6.234451] mmc0: error -110 whilst initialising SD card
> > 
> > Same laptop has no problems mounting the card in Windows.
> 
> Exactly the same issue and error messages on my Dell XPS 13 laptop.
> 
> It also has the Realtek Semiconductor Co., Ltd. RTS525A PCI Express Card
> Reader
> 
> SDXC doesn't work anymore, SDHC still working only.

The issue seems to be *A1 and A2* certified cards, as for me the cards without these certifications work fine.  

I've tried several cards (all UHS-I U3), on my Dell with the RTS525A chipset, under Fedora 29 and Debian 9:  
-Sandisk Extreme SDHC 32GB V30 A1  
-Sandisk Extreme Pro SDXC 64GB V30 A2  
-Sandisk Extreme Plus SDXC V30  
-Samsung Evo Plus 128GB  
The latter two work fine, the first 2 don't (error -110 whilst initializing SD card).
Comment 6 Ionuț Ciocîrlan 2019-06-02 19:51:34 UTC
(In reply to coeos from comment #5)
> The issue seems to be *A1 and A2* certified cards, as for me the cards
> without these certifications work fine.  

Replicated this with an RTL8411B PCI Express Card Reader (10ec:5287) on an Asus ROG. 

Using a Sandisk Extreme SDHC 32GB V30 A1 (U3), I get the dreaded error -110. With an older class 10 32GB Kingston everything works fine.
Comment 7 Philip Langdale 2019-08-29 15:18:05 UTC
Here's the final patch: https://patchwork.kernel.org/patch/11116271/

Ultimate conclusion is that the card is sort-of-out-of-spec because it sets a flag that isn't really defined in the SD spec, but the mmc subsystem should be explicitly ignoring that flag, but wasn't. Now it does.

See also https://bugzilla.kernel.org/show_bug.cgi?id=202473
Comment 8 Philip Langdale 2019-09-16 15:38:34 UTC
The patch was merged into 5.3 and all the active stable branches, so you can get it right now. Unfortunately, I can't lose this bug report.