Bug 242875 - SD card slot not working
SD card slot not working
Status: CLOSED INSUFFICIENT_DATA
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
7
i386 Linux
low Severity high
: ---
: ---
Assigned To: Kernel Maintainer List
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2007-06-06 03:11 EDT by Ian Walker
Modified: 2008-01-08 20:09 EST (History)
2 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-01-08 20:09:31 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Ian Walker 2007-06-06 03:11:50 EDT
Description of problem:

The SD card slot doesn't seem to work, no matter what I try with either the
standard sdhci module or the tifm_7xx1 or tifm_sd modules.


Version-Release number of selected component (if applicable):

From lspci:

03:0b.3 Generic system peripheral [0805]: Texas Instruments PCIxx12 SDA Standard
Compliant SD Host Controller (prog-if 01)
        Subsystem: Toshiba America Info Systems Unknown device 0001
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr-
Stepping- SERR- FastB2B-
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort-
<TAbort- <MAbort- >SERR- <PERR-
        Latency: 64 (1750ns min, 1000ns max), Cache Line Size: 32 bytes
        Interrupt: pin D routed to IRQ 19
        Region 0: Memory at ff8ff700 (32-bit, non-prefetchable) [size=256]
        Capabilities: [80] Power Management version 2
                Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA
PME(D0+,D1+,D2+,D3hot+,D3cold-)
                Status: D0 PME-Enable- DSel=0 DScale=0 PME-


How reproducible:

Always reproducable.  The default modules loaded with Fedora 7 are mmc_core and
sdhci.  I've tried previous methods of getting this to work by unloading the
modules and then reloading in a specific sequence.

Steps to Reproduce:
1. modprobe -r sdhci mmc_core
2. modprobe mmc_block
3. modprobe sdhci

Alternatively:

1. modprobe -r sdhci mmc_core
2. modprobe tifm_7xx1
3. modprobe mmc_block
4. modprobe tifm_sd
  
Actual results:

dmesg shows:

sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci: SDHCI controller found at 0000:03:0b.3 [104c:803c] (rev 0)
ACPI: PCI Interrupt 0000:03:0b.3[D] -> GSI 23 (level, low) -> IRQ 19
mmc0: SDHCI at 0xff8ff700 irq 19 DMA

when using the sdhci module.  Using the tifm modules, produces no results in
dmesg, leading me to believe these modules either don't work for my card, or,
they are buggy and only support a few earlier versions of the card slot.


Expected results:

To see that the disk has appeared, using fdisk -l, and should show /dev/mmcblk01
or similar (forget the actual device name but along the lines of what I've
written), but the device should appear, and be mountable.


Additional info:

I have had this working previously in Mandriva 2007.0 using the method described
for unloading the modules.  Alternatively, adding mmc_block to
/etc/modprobe.preload in Mandriva meant that my system automatically had it
ready for inserting a card.  Then the disk mounted automatically, and started to
work as expected.

The kernel in Mandriva 2007.0 by default was 2.6.17-5mdv and used the standard
mmc_block and sdhci modules.  I've not needed to use the tifm modules, as these
have never seemed to work for me anyway.
Comment 1 Hans de Goede 2007-06-10 07:14:32 EDT
The tifm module is know to be broken since kernel 2.6.20, 2.6.22 has many fixes
and hopefully will also fix your problem.

A test / prerelease version of 2.6.22 for Fedora can be found here:
http://koji.fedoraproject.org/packages/kernel/2.6.21/1.3218.fc8/
(don't let the 2.6.21 in the name fool you, thats because its a pre-release)

Please try with this version and report back here. Always be carefull when
testing new kernels. Use rpm -ivh to install the new kernel besides your current
one so that you can always boot back into the old kernel.
Comment 2 Ian Walker 2007-06-11 03:30:42 EDT
I tried with the new kernel, and whilst I had results, they didn't last very long.

First off, I noticed that by default the kernel loads mmc_core and sdhci.  When
I inserted a card, this didn't work.  However, I figured if I modprobe -r sdhci
mmc_core, and then attempt my previous method - just in case.  So, after this, I
did:

modprobe mmc_block
modprobe sdhci

and then I inserted the card.  This is the result from dmesg:

mmc0: card claims to support voltages below the defined range. These will be
ignored.
ACPI: PCI interrupt for device 0000:03:0b.3 disabled
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci: SDHCI controller found at 0000:03:0b.3 [104c:803c] (rev 0)
ACPI: PCI Interrupt 0000:03:0b.3[D] -> GSI 23 (level, low) -> IRQ 19
mmc0: SDHCI at 0xff8ff700 irq 19 DMA
mmcblk0: mmc0:0002 SD2GB 1955328KiB 
 mmcblk0: p1

I could mount the card, because the last two lines are key here.  However, I
removed the card, and entered it again - and it didn't work.  I removed the
modules using modprobe -r again, and modprobed in the same order as I just did
above - but nothing worked.  This time, the dmesg:

mmc0: card claims to support voltages below the defined range. These will be
ignored.
ACPI: PCI interrupt for device 0000:03:0b.3 disabled
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci: SDHCI controller found at 0000:03:0b.3 [104c:803c] (rev 0)
ACPI: PCI Interrupt 0000:03:0b.3[D] -> GSI 23 (level, low) -> IRQ 19
mmc0: SDHCI at 0xff8ff700 irq 19 DMA
mmc0: card claims to support voltages below the defined range. These will be
ignored.

there is a distinct lack of the two lines allowing the card/device to be
recognised and therefore, I cannot mount the card and access it.  I've attempted
a few times with the method above, and it didn't work.  I've also tried the tifm
modules within this kernel, but they do not provide any results, not even
anything within dmesg.

I'm convinced that I can only use sdhci for my SD card slot, since it's the only
module that shows results within dmesg.  None of the tifm modules do this,
regardless of what I try.

As previously mentioned, this worked perfectly fine with a 2.6.17.x kernel that
I used in Mandriva, as well as within Ubuntu 6.10 which also was using a
2.6.17.x kernel.  I only ever used the sdhci module in these distributions.
Comment 3 Ian Walker 2007-06-13 09:34:16 EDT
Anyone had any further ideas on how I can get this device working?
Comment 4 Christopher Brown 2007-09-13 17:57:11 EDT
Hello Ian,

I'm reviewing this bug as part of the kernel bug triage project, an attempt to
isolate current bugs in the fedora kernel.

http://fedoraproject.org/wiki/KernelBugTriage

I am CC'ing myself to this bug and will try and assist you in resolving it if I can.

There hasn't been much activity on this bug for a while. Could you tell me if
you are still having problems with the latest kernel?

If the problem no longer exists then please close this bug or I'll do so in a
few days if there is no additional information lodged.

Cheers
Chris
Comment 5 Christopher Brown 2008-01-08 20:09:31 EST
As indicated previously there has been no update on the progress of this bug
therefore I am closing it as INSUFFICIENT_DATA. Please re-open if the issue
still occurs for you and I will try to assist in its resolution. Thank you for
taking the time to report the initial bug.

Note You need to log in before you can comment on or make changes to this bug.