Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 185581

Summary: gentoo-sources-2.6.22-r1 - Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18) does not work
Product: Gentoo Linux Reporter: David Carlos Manuelda <StormByte>
Component: [OLD] Core systemAssignee: Gentoo Kernel Bug Wranglers and Kernel Maintainers <kernel>
Status: RESOLVED FIXED    
Severity: normal CC: jstepien
Priority: High Keywords: InVCS
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: emerge --info
patch for ricoh_mmc controller from ricoh_mmc.c file of kernel 2.6.25-rc6

Description David Carlos Manuelda 2007-07-16 19:11:41 UTC
This is a issue with Samsung R70 laptop with Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18).

I can't have it working neither manually, neither automatically with hal and kde (as a USB stick for example). IN this URI, you can see someone having similar problem: http://bugs.archlinux.org/task/6395

It seems that device is recognized according to dmesg and lspci info (but the MMC reader says Unknown device 0843. (I have the MMC compiled as built in in kernel).

More info:

dmesg | grep -i mmc
===================
PCI: Using MMCONFIG at e0000000 - efffffff
sr0: scsi3-mmc drive: 24x/24x writer dvd-ram cd/rw xa/form2 cdda tray
mmc0: SDHCI at 0xf0401000 irq 18 DMA

dmesg | grep -i sdhci
=====================
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci: SDHCI controller found at 0000:05:09.1 [1180:0822] (rev 18)
mmc0: SDHCI at 0xf0401000 irq 18 DMA

cat /proc/devices
=================
Character devices:
  1 mem
  2 pty
  3 ttyp
  4 /dev/vc/0
  4 tty
  4 ttyS
  5 /dev/tty
  5 /dev/console
  5 /dev/ptmx
  7 vcs
 10 misc
 13 input
 14 sound
 21 sg
 29 fb
 81 video4linux
 89 i2c
116 alsa
128 ptm
136 pts
171 ieee1394
180 usb
189 usb_device
195 nvidia
202 cpu/msr
203 cpu/cpuid
212 DVB
216 rfcomm
250 usb_endpoint
251 usbmon
252 megaraid_sas_ioctl
253 megadev
254 pcmcia

Block devices:
  1 ramdisk
  7 loop
  8 sd
 11 sr
 65 sd
 66 sd
 67 sd
 68 sd
 69 sd
 70 sd
 71 sd
 80 i2o_block
128 sd
129 sd
130 sd
131 sd
132 sd
133 sd
134 sd
135 sd
179 mmc

lspci
=====
00:00.0 Host bridge: Intel Corporation Mobile Memory Controller Hub (rev 03)
00:01.0 PCI bridge: Intel Corporation Mobile PCI Express Root Port (rev 03)
00:1a.0 USB Controller: Intel Corporation USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation PCI Express Port 2 (rev 03)
00:1c.3 PCI bridge: Intel Corporation PCI Express Port 4 (rev 03)
00:1d.0 USB Controller: Intel Corporation USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation USB2 EHCI Controller #1 (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev f3)
00:1f.0 ISA bridge: Intel Corporation Mobile LPC Interface Controller (rev 03)
00:1f.2 IDE interface: Intel Corporation Mobile SATA Controller IDE (rev 03)
00:1f.3 SMBus: Intel Corporation SMBus Controller (rev 03)
01:00.0 VGA compatible controller: nVidia Corporation Unknown device 0425 (rev a1)
03:00.0 Network controller: Intel Corporation Unknown device 4229 (rev 61)
04:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8055 PCI-E Gigabit Ethernet Controller (rev 13)
05:09.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b4)
05:09.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 18)
05:09.2 System peripheral: Ricoh Co Ltd Unknown device 0843
05:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 09)
05:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 04)

lsusb
=====
Bus 002 Device 003: ID 13fe:1d00
Bus 002 Device 001: ID 0000:0000
Bus 006 Device 001: ID 0000:0000
Bus 007 Device 002: ID 0a5c:2101 Broadcom Corp.
Bus 007 Device 001: ID 0000:0000
Bus 004 Device 001: ID 0000:0000
Bus 005 Device 002: ID 1241:1177 Belkin F8E842-DL Mouse
Bus 005 Device 001: ID 0000:0000
Bus 001 Device 002: ID 0ac8:c302 Z-Star Microelectronics Corp.
Bus 001 Device 001: ID 0000:0000
Bus 003 Device 001: ID 0000:0000


Reproducible: Always

Steps to Reproduce:
1.Insert MMC card
2.Nothing happens
3.

Actual Results:  
Nothing happens, can't mount it (including if you could create nodes by hand)

Expected Results:  
Hability for hal to detect this removable media, and have the ability to mount it (similar to USB sticks).
Comment 1 David Carlos Manuelda 2007-07-16 19:12:18 UTC
Created attachment 125079 [details]
emerge --info

My emerge --info
Comment 2 David Carlos Manuelda 2007-07-16 19:13:37 UTC
Aditional data:

I am using gentoo-sources-2.6.22-r1
Comment 3 Daniel Drake (RETIRED) gentoo-dev 2007-07-17 00:01:56 UTC
Same problem here, identical hardware in a Dell Inspiron 640m.

I investigated this last year.

http://list.drzeus.cx/pipermail/sdhci-devel/2006-June/000992.html

In the above mails I was using MMC and xD cards and getting no interrupts. Since then I have discovered that SD cards do work fine.

As the hardware is not producing any interrupts for MMC/xD, there is not really anything we can do until someone reverse engineers Ricoh's windows driver -- the behaviour seen here suggests that the hardware is not fully SDHCI-compliant.

So, apologies, nothing we can do here at the moment.
Comment 4 David Carlos Manuelda 2007-09-18 23:45:21 UTC
Daniel Drake:

I've seen:
http://intr.overt.org/blog/?p=59
It says that MMC are detected by hardware, and redirected to MMC driver, but SD driver needs to 'see' MMC card in order to have it working. There they have a workarround which I cannot test now.

Could you test it? Maybe this issue is not that far from being resolved...
Comment 5 Daniel Drake (RETIRED) gentoo-dev 2007-09-19 09:34:27 UTC
I can't test it either, but I'm not bothered personally as I don't use MMC media at the moment.

There is no kernel patch available (only a workaround), closing bug again. In the mean time, you should put the setpci line in /etc/conf.d/local.start

Feel free to reopen when a kernel fix is available, then we can backport it.
Comment 6 Jakub Moc (RETIRED) gentoo-dev 2007-09-23 14:17:48 UTC
*** Bug 193525 has been marked as a duplicate of this bug. ***
Comment 7 jonathan e. Snow 2008-01-05 18:59:05 UTC
Getting the device to ID in dmesg is easy -- you need to get the latest /usr/share/misc/pci.ids file from http://pciids.sourceforge.net/

The rest is not so easy, I have had no luck at all with my card reader, which then ID's as a R5C843 MMC controller (even though it's an SD device). 

Do what you want, no response from dmesg at all. 

Jon
Comment 8 David Carlos Manuelda 2008-03-24 06:29:43 UTC
I have more news about this issue I want to comment in order to announce other people having troubles with this issue:

This claims to be solved for most models in 2.6.23 (currently stable in kernel) via ricoh_mmc kernel module, but for this model, I contacted the module author and he said me that this model will be supported in next 2.6.24, and a patch is already included in current RC, so we will see that working really soon.
Comment 9 David Carlos Manuelda 2008-03-25 16:50:01 UTC
I tried the testing kernel-2.6.25-rc6 with patch for this model of ricoh and it works good. Also, I just copied the drivers/mmc/host/ricoh_mmc.c file to the current stable kernel, and tried it with this kernel and it works good also, so I decided to create a patch to be included with gentoo patchset (if you devs want to) to current 2.6.24 as it is stable.

This patch has no impact over other things of kernel, as it is *just* a fake mmc controller which disables the mmc controller of ricoh card readers in favour of SDHCI controller for both SD and MMC cards.

Could this patch to be included in next gentoo-sources revision? This would be very usefull for people having this issues, and this way, we don't need to wait so long until 2.6.25 is released and declared stable in gentoo.

How about it?
Comment 10 David Carlos Manuelda 2008-03-25 16:51:11 UTC
Created attachment 147284 [details, diff]
patch for ricoh_mmc controller from ricoh_mmc.c file of kernel 2.6.25-rc6

Patch suggested to be included in gentoo's patchset for current 2.6.24
Comment 11 Mike Pagano gentoo-dev 2008-03-25 18:28:04 UTC
We will backport official patches from the kernel mainline git repository. I believe these two patches reference your issue:

http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=882c49164d72c45f37d7fa1bb3de7c31cf1a5fab
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff_plain;h=1f090bf5245115e404103d35e7f5597bfe653aac

I've applied them to 2.6.24-gentoo-r3 and compiled the code with the ricoh config set but I do not have the required hardware for a complete test. Can you apply these to a clean 2.6.24-gentoo-r3, compile and test the result?

Comment 12 David Carlos Manuelda 2008-03-25 22:44:45 UTC
Those two patches are included in the one I created, and I tested my patch in a clean 2.6.24-gentoo-r3 and the hardware worked good.

Since those two patches are just the same I tested, I assume [and I can tell] that they work.
Comment 13 Mike Pagano gentoo-dev 2008-03-25 22:50:28 UTC
Thanks, I'll commit the two patches from upstream into svn and you should see them in gentoo-sources-2.6.24-r4. Which I believe we will release into the wild next week.

Comment 14 Daniel Drake (RETIRED) gentoo-dev 2008-03-30 09:18:56 UTC
Fixed in gentoo-sources-2.6.24-r4 (genpatches-2.6.24-5), thanks for testing