[MAVERICK] Ricoh e823 Media card reader not functional

Bug #717435 reported by Manoj Iyer on 2011-02-11
This bug affects 16 people
Affects Status Importance Assigned to Milestone
linux (Ubuntu)
Manoj Iyer
Manoj Iyer
Manoj Iyer

Bug Description

Image: 10.10
BIOS: 8DET25WW (0.25 )

CPU: Sandy Bridge
GPU: Integrated

Card Reader: Ricoh Co Ltd Device e823 (rev 04)

Media card reader not functional. When inserting SD, MMC, SDHC card, no action occurs.

Steps to reproduce:
1) Install GM1
2) Insert SD card
3) Notice it is not mounted
4) Try MMC/SDHC card, notice none can be mounted

Expected result:
Media cards can be mounted

Actual result:
No media cards can be mounted

Manufacturer: LENOVO
Model: 814K18G
BiosVersion: 8DET25WW (0.25 )
CheckboxTest: media-sd

Manoj Iyer (manjo) on 2011-02-11
affects: ubuntu → linux (Ubuntu)
Changed in linux (Ubuntu):
importance: Undecided → Medium
assignee: nobody → Manoj Iyer (manjo)
Chris Van Hoof (vanhoof) on 2011-02-11
description: updated
summary: - [MAVERICK] Media card reader not functional x220
+ [MAVERICK] Ricoh e823 Media card reader not functional
Manoj Iyer (manjo) wrote :


MMC card reader does not recognize SD/MMC/SDHC cards

Patch adds RICOH pci id 0xe823, this enables this card reader on x220, and other lenovo platforms.

This patch was tested and reported to work on Lenovo plarform.

Tim Gardner (timg-tpi) on 2011-02-14
Changed in linux (Ubuntu Maverick):
assignee: nobody → Manoj Iyer (manjo)
status: New → Fix Committed
Changed in linux (Ubuntu Natty):
status: New → Fix Committed
Chris Van Hoof (vanhoof) on 2011-02-15
description: updated
Changed in linux (Ubuntu Maverick):
importance: Undecided → Medium
tags: added: hwe-blocker
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.38-4.31

linux (2.6.38-4.31) natty; urgency=low

  [ Andy Whitcroft ]

  * add in bugs closed by upstream patches pulled in by rebases
  * rebase to 795abaf1e4e188c4171e3cd3dbb11a9fcacaf505
  * [Config] enable CONFIG_VSX to allow use of vector instuctions
  * resync with maverick 98defa1c5773a3d7e4c524967eb01d5bae035816
  * rebase to mainline v2.6.38-rc5
  * SAUCE: ecryptfs: read on a directory should return EISDIR if not
    - LP: #719691

  [ Colin Ian King ]

  * SAUCE: Dell All-In-One: Remove need for Dell module alias

  [ Manoj Iyer ]

  * SAUCE: (drop after 2.6.38) add ricoh 0xe823 pci id.
    - LP: #717435

  [ Tim Gardner ]


  [ Upstream Kernel Changes ]

  * Quirk to fix suspend/resume on Lenovo Edge 11,13,14,15
    - LP: #702434
  * vfs: fix BUG_ON() in fs/namei.c:1461

  [ Vladislav P ]

  * SAUCE: Release BTM while sleeping to avoid deadlock.
    - LP: #713837

  [ Major Kernel Changes ]

  * rebase from v2.6.38-rc4 to v2.6.38-rc5
    - LP: #579276
    - LP: #715877
    - LP: #713769
  * resync with Maverick Ubuntu-2.6.35-27.47
 -- Andy Whitcroft <email address hidden> Fri, 11 Feb 2011 17:24:09 +0000

Changed in linux (Ubuntu Natty):
status: Fix Committed → Fix Released

Accepted linux into maverick-proposed, the package will build now and be available in a few hours. Please test and give feedback here. See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you in advance!

Brad Figg (brad-figg) on 2011-03-03
tags: added: verification-needed-maverick
Steve Conklin (sconklin) wrote :

This bug is awaiting verification that the kernel in -proposed solves the problem. Please test the kernel and update this bug with the results. If the problem is solved, change the tag 'verification-needed-<release>' to 'verification-done-<release>'.

If verification is not done by one week from today, this fix will be dropped from the source code, and this bug will be closed.

See https://wiki.ubuntu.com/Testing/EnableProposed for documentation how to enable and use -proposed. Thank you!

Manoj Iyer (manjo) wrote :

I tested the -28 #48 kernel in proposed on T420 and I was able to use the SD card

Brad Figg (brad-figg) on 2011-03-07
tags: added: verification-done-maverick
removed: verification-needed-maverick
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 2.6.35-28.49

linux (2.6.35-28.49) maverick-proposed; urgency=low

  [ Brad Figg ]

  * Release Tracking Bug
    - LP: #726796

  [ Colin Ian King ]

  * SAUCE: Dell All-In-One: Remove need for Dell module alias

  [ Manoj Iyer ]

  * SAUCE: add ricoh 0xe823 pci id.
    - LP: #717435

  [ Upstream Kernel Changes ]

  * virtio_net: Add schedule check to napi_enable call
    - LP: #579276
  * mmc: make sdhci work with ricoh mmc controller
    - LP: #717435
  * NFS: fix the return value of nfs_file_fsync()
    - LP: #585657
  * rt2x00: Pad beacon to multiple of 32 bits.
    - LP: #659143
  * rt2x00: Fix firmware loading regression on x86_64.
    - LP: #659143
  * rt2x00: Check for errors from skb_pad() calls
    - LP: #659143
  * block: check for proper length of iov entries earlier in
    blk_rq_map_user_iov(), CVE-2010-4163
    - LP: #721504
    - CVE-2010-4163
  * tty: Make tiocgicount a handler, CVE-2010-4076, CVE-2010-4077
    - LP: #720189
    - CVE-2010-4077
    - CVE-2010-4076
  * rds: Integer overflow in RDS cmsg handling, CVE-2010-4175
    - LP: #721455
    - CVE-2010-4175
 -- Brad Figg <email address hidden> Mon, 28 Feb 2011 13:02:53 -0800

Changed in linux (Ubuntu Maverick):
status: Fix Committed → Fix Released
David Duffey (dduffey) wrote :

It appears that this patch appears to enable the card reader, it fails to mount/use/unmount MMC cards successfully. We are seeing failures on two Toshiba R850 (Intel and AMD) laptops with the 11.04 release of Natty.

The output from lspci is:
 * System peripheral: Ricoh Co Ltd Device e823 (rev 04)

It appears to be a known issue according to:

 * http://groups.google.com/group/linux.kernel/browse_thread/thread/81d5997647563887?pli=1

And it doesn't appear others have reported successfully using MMC.

-- cut and paste from the URL above --

Okay. There's nothing in the log about Ricoh, which probably means that
it bailed out early in the function. You could add a printk to the top
of ricoh_mmc_fixup_rl5c476() if you want to be really sure that the code
there is getting a chance to run.

I think the likely conclusion is that:

(a) The Ricoh controller has a proprietary MMC function that is stealing
    MMC cards away from the SDHCI controller even though the SDHCI could
    read them if it had a chance to.

(b) We don't know how to turn the MMC controller off, because our old
    method for doing so isn't working on this new 0xe823 model.

I'm adding a few people who've touched this code to CC: in case they
have any ideas on working out how to disable the MMC function. If you
have contact with Ricoh directly or through a vendor, please ask them
for the PCI configuration writes needed to disable the MMC function on
this model so that you can read MMC cards with the SD interface instead.

-- end copy and paste --

David Duffey (dduffey) wrote :

The Toshiba laptops (R850) appeared to have similar problems, but it appears the Lenovo laptop mentioned here works with SD (but not MMC), and the Toshiba laptops don't work with either. A new bug has been opened for the Toshiba laptops (Intel and AMD R850) here: https://bugs.launchpad.net/bugs/773524

Manoj Iyer (manjo) wrote :

WRT to comment #7, that is from a conversation I had with upstream. We are still waiting on the BIOS vendor to tell is what magic to use with PCI configuration writes in the driver to turn off the MMC function in the controller. Unfortunately the bios vendor is located in Japan and they are not in a position to respond quickly.

vilmos (vilmos) wrote :

This is still a problem in Natty, even after upgrading to linux-image-2.6.39-0-generic from kernel-ppa.

Bram Biesbrouck (b-m) wrote :

I can confirm this still isn't resolved in Natty with kernel 2.6.39-0-generic (Lenovo Thinkpad X220)

Andrey Krutov (a-o-krutov) wrote :

Problem doesn't resolved in Natty with 2.6.39-3-generic (Lenovo Thinkpad X220)

Andrey Krutov (a-o-krutov) wrote :

When I insert Transend 16GB SD card (card is working, it is work fine on my camera and on eeepc 1000 card reader) kernel say following

[13625.214835] mmc0: Timeout waiting for hardware interrupt.
[13625.214846] sdhci: =========== REGISTER DUMP (mmc0)===========
[13625.214856] sdhci: Sys addr: 0x00000000 | Version: 0x00000502
[13625.214865] sdhci: Blk size: 0x00000000 | Blk cnt: 0x00000000
[13625.214873] sdhci: Argument: 0x00000000 | Trn mode: 0x00000000
[13625.214881] sdhci: Present: 0x01f70001 | Host ctl: 0x00000005
[13625.214889] sdhci: Power: 0x00000000 | Blk gap: 0x00000000
[13625.214897] sdhci: Wake-up: 0x00000000 | Clock: 0x00000000
[13625.214905] sdhci: Timeout: 0x00000009 | Int stat: 0x00000000
[13625.214914] sdhci: Int enab: 0x00ff00c3 | Sig enab: 0x00ff00c3
[13625.214922] sdhci: AC12 err: 0x00000000 | Slot int: 0x00000000
[13625.214930] sdhci: Caps: 0x21e8c8b2 | Caps_1: 0x00008073
[13625.214938] sdhci: Cmd: 0x00000102 | Max curr: 0x00000040
[13625.214944] sdhci: Host ctl2: 0x00000000
[13625.214947] sdhci: ===========================================
[16229.775872] mmc0: error -110 whilst initialising SD card

But with some other cards card reader works perfectly.

Scott Howard (showard314) wrote :

It's not a duplicate of 773524, after that bug is fixed Ricoh e823 card readers (multiple Thinkpad T420) still can't read SD cards. My thinkpad and comments 48 66 59 on bug 773524 confirm it.

Ondrej Mikle (d-mikle) wrote :

The reader is working with kernel 3.3.0 on Thinkpad T420 (I used Fedora kernel 3.3.0-8.fc16.x86_64, but I guess it should work with vanilla kernel as well). Hopefully it might help someone since it was quite PITA to find out how to make the reader work.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers