Bug 8871 - Card Reader does not detect mmc cards
Summary: Card Reader does not detect mmc cards
Status: CLOSED CODE_FIX
Alias: None
Product: Drivers
Classification: Unclassified
Component: MMC/SD (show other bugs)
Hardware: All Linux
: P1 normal
Assignee: Pierre Ossman
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2007-08-09 11:13 UTC by Adolfo Rodrigues
Modified: 2008-03-01 05:54 UTC (History)
3 users (show)

See Also:
Kernel Version: 2.6.22.1-16-default
Subsystem:
Regression: ---
Bisected commit-id:


Attachments

Description Adolfo Rodrigues 2007-08-09 11:13:16 UTC
Distribution: Opensuse 10.3 Beta 1
Hardware Environment: Laptop Asus G1S

"08:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
08:01.1 Generic system peripheral [Class 0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
08:01.2 System peripheral: Ricoh Co Ltd Unknown device 0843 (rev 12)
08:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
08:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)"

It reads sd cards but not mmc or it does not support 4gb mmc cards
Comment 1 Pierre Ossman 2007-08-09 13:33:27 UTC
What kernel are you running? Support for large MMC cards was added rather recently. I'm quite impressed you've been able to find one.
Comment 2 Pierre Ossman 2007-08-09 13:35:05 UTC
Sorry, I see that we have a bugzilla field for that these days. :)

This is most likely a hardware issue. It might be tweakable from software, but I'll need to dig through some specs first.

Have you tried any other MMC cards?
Comment 3 Adolfo Rodrigues 2007-08-09 16:40:29 UTC
sorry but i do not have other mmc. Just this 4gb. It's not a hardware issue because it works on other OS. I also have 2 sds, a 512 and 1gb. The 1gb card is or isn't detected, it works randomly. the 512 works just fine
Comment 4 Pierre Ossman 2007-09-03 01:52:41 UTC
I'm afraid no progress has been made on this. A relevant bit in the settings for the controller has been identified, but we have not found any way of modifying it (it is read from a EEPROM in your laptop).

Philip Langdale also has this controller and has been digging into the issue. I haven't seen any progress from him yet though.

Since it works in Windows, there should be a way of modifying the relevant bits. Could you see if you can find a tool that dumps the entire PCI config space for the Ricoh devices? (The equivalent of lspci -xxx in Linux)
Comment 5 Philip Langdale 2007-09-11 10:05:09 UTC
Dell came through with the details on how to do this. You have to poke registers on the firewire function of the device. On my laptop it is device 03:01.0 but it might be different on yours.

/sbin/setpci -s ‘03:01.0′ 0xCA=0×57 (Write Enable)
/sbin/setpci -s ‘03:01.0′ 0xCB=0×02 (MMC Disable)
/sbin/setpci -s ‘03:01.0′ 0xCA=0×00 (Write Disable)

More details on my blog:

http://intr.overt.org/blog/?p=59
Comment 6 Pierre Ossman 2008-03-01 05:54:04 UTC
Tester hasn't come back with a reply for several months, and the fix has been known to solve the issue on other machines. Closing bug.

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