Ubuntu

[Feature Request] Provide a driver for Ricoh R5C822 xD card reader

Reported by Rlgc79 on 2008-03-15
380
This bug affects 58 people
Affects Status Importance Assigned to Milestone
linux (Debian)
Confirmed
Wishlist
fony
Nominated for Lenny by de100671
linux (Ubuntu)
Wishlist
Maxim Levitsky
Nominated for Karmic by Leonardo Horovitz
Nominated for Lucid by Leonardo Horovitz
Nominated for Maverick by Jerone Young
udev (Ubuntu)
Undecided
Unassigned
Nominated for Karmic by Leonardo Horovitz
Nominated for Lucid by Leonardo Horovitz
Nominated for Maverick by Jerone Young

Bug Description

*** NOTE: this is a *wishlist* item - a request for new functionality. At present, and perhaps forever, xD support on linux is extremely limited. This issue is a request to have xD support added for a specific, and somewhat popular, chipset. Please do not add "me, too" items. We know that it doesn't work. If you want, please add yourself as a subscriber, and click on link to indicate that "This bug effects me, too" In the meantime, there are two xD readers known to work with linux, so if you simply must have xD support, those would be your options.

Now there is an xD driver for this chip.
Supports kernel from 3.6.31.
(http://launchpadlibrarian.net/44373795/ricoh_xd_3.tar.bz2)

The driver is now in Maverick's kernel.
You still need the udev rule to load FTL part of it.

Or just add sm_ftl to /etc/modules.

To install please do ./make && sudo make install && sudo make load

Note that this package installs several kernel modules, similar to compat-wireless
So, make sure that there is no conflict between existing mtd modules and these.

*NOTE* If you use kernel lower that 2.6.34, please be sure to unload the ricoh-mmc driver.
It conflicts with this driver.
This does meant that on this kernel you *can't* use both xD and MMC cards
To be sure that ricoh-mmc is not loaded, you should see the following output:
You can use a modified sdhci driver for mmc cards I attached.
Unfortunately this driver won't help on Mavaric kernel (my fault :-( )

03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

and NOT:

03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev FF)

------------------------------------------------

On multi-format card readers such as:

> lspci | grep Ricoh
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

SD and MMC cards work, but Xd cards do not. This appears to be due to a lack of driver support for the Xd reader.

There is no need to comment confirming this issue on more laptops. Every laptop with a similar type of reader will be affected.

Noel J. Bergman (noeljb) wrote :
Download full text (3.2 KiB)

Same with IBM/Lenovo T61p. SDHC is recognized, xD is not. No messages in any logs or via udevmonitor.

$ lspci | grep Ricoh
15:00.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev ba)
15:00.1 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 04)
15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)
15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)

More detail:

15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
 Subsystem: Lenovo Unknown device 20c8
 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
 Interrupt: pin C routed to IRQ 18
 Region 0: Memory at f8101800 (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=2 PME-

15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)
 Subsystem: Lenovo Unknown device 20c9
 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: 0
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8101c00 (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=2 PME-

15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
 Subsystem: Lenovo Unknown device 20ca
 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-
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8102000 (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=2 PME+

15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
 Subsystem: Lenovo Unknown device 20cb
 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-
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8102400 (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=2 PME+

The problem is also discussed here: http://ubuntuforums.org/showthread.php?t=636704

I'm using Hardy with all current updates:

# uname -a
Linux noel-hardy 2.6.24-16-generic #1 SMP Thu Apr 10 12:47:45 UTC 2008 x86_64 G...

Read more...

Zinn (l-zbikowski) wrote :

The same thing - lenovo n100 3000

mikele (michael-arnold) wrote :

The same thing - Asus V1S

$ lspci | grep Ricoh
09:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
09:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
09:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
09:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
09:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

mercutio22 (macabro22) wrote :

This
SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
Won't work out of the box for the Dell XPS m1730 as well.

Ian Liu Rodrigues (ian-liu88) wrote :

I have the same bug with Dell Vostro.

03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff) (prog-if ff)
 !!! Unknown header type 7f

Court (campbco) wrote :

Ditto for the Dell XPS m1210.

DS (ddswanson) wrote :

dv2000t

xD does not work (SD works), also the Palm multimedia Cards do not work for me.

lspci | grep Ricoh
08:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
08:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
08:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 0a)
08:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 05)
08:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

P.-A. (pariviere) wrote :

Same for me. SD card doesn't work. No output on dmesg or syslog. Same for udevmonitor

The problem occurs on Ubuntu Hardy uptodate (not tested on Feisty) on a Lenovo T61

15:00.2 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 21)
 Subsystem: Lenovo Unknown device 20c8
 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
 Interrupt: pin C routed to IRQ 22
 Region 0: Memory at f8101800 (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=2 PME-

15:00.3 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 11)
 Subsystem: Lenovo Unknown device 20c9
 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: 0
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8101c00 (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=2 PME-

15:00.4 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 11)
 Subsystem: Lenovo Unknown device 20ca
 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-
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8102000 (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=2 PME+

15:00.5 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 11)
 Subsystem: Lenovo Unknown device 20cb
 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-
 Interrupt: pin C routed to IRQ 11
 Region 0: Memory at f8102400 (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=2 PME+

Brad Johnson (itsbradman-gmail) wrote :

Same here Dell Inspiron 1525

02:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
02:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
02:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

Rob Johnson (sk8boy189) wrote :

Same Here Lenovo N100 3000 model: 0768

05:06.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
05:06.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
05:06.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 0a)
05:06.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 05)
05:06.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

Martin Hammer (martin.hammer) wrote :

SD cards work fine, xD cards do not work on my HP Pavilion dv2699 laptop with a built in Ricoh 5-in-1 card reader.

$ lspci | grep Ricoh
08:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
08:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
08:09.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
08:09.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

Daniel Bermudez G. (nergar) wrote :

I can confirm this on a Dell Inspiron 1525

as above: lspci | grep Ricoh

02:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
02:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
02:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

The hardware works with SD cards but not with Memory Stick

demsg displays nothing.

Akdo (menoft) wrote :

I confirm on HP DV6243eu

03:00.0 Network controller: Broadcom Corporation BCM4311 802.11b/g WLAN (rev 01)
07:05.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
07:05.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 19)
07:05.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 0a)
07:05.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 05)
07:05.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

only XD card not working.

Mario Limonciello (superm1) wrote :

Confirmed on both Ubuntu 8.04 and Ubuntu 8.10 alpha4 on a Studio15n

Changed in dell:
status: New → Confirmed
Matt Zimmerman (mdz) wrote :

My hardware is:

15:00.2 SD Host controller [0805]: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter [1180:0822] (rev 21)
15:00.3 System peripheral [0880]: Ricoh Co Ltd R5C843 MMC Host Controller [1180:0843] (rev ff)
15:00.4 System peripheral [0880]: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter [1180:0592] (rev 11)
15:00.5 System peripheral [0880]: Ricoh Co Ltd xD-Picture Card Controller [1180:0852] (rev 11)

running current Intrepid (post-alpha4)

I only have SD and xD cards to test (no MMC). SD works fine, xD is not recognized at all.

[ 13.598137] sdhci: Secure Digital Host Controller Interface driver
[ 13.598140] sdhci: Copyright(c) Pierre Ossman
[ 13.598181] sdhci: SDHCI controller found at 0000:15:00.2 [1180:0822] (rev 21)
[ 13.598213] ACPI: PCI Interrupt 0000:15:00.2[C] -> GSI 18 (level, low) -> IRQ 18
[ 13.599293] mmc0: Will use DMA mode even though HW doesn't fully claim to support it.
[ 13.599293] PCI: Setting latency timer of device 0000:15:00.2 to 64
[ 13.599373] mmc0: SDHCI at 0xf8301800 irq 18 DMA
[ 13.645778] ricoh-mmc: Ricoh MMC Controller disabling driver
[ 13.645778] ricoh-mmc: Copyright(c) Philip Langdale
[ 13.645778] ricoh-mmc: Ricoh MMC controller found at 0000:15:00.3 [1180:0843] (rev 11)
[ 13.645778] ricoh-mmc: Controller is now disabled.

graingert (tagrain) wrote :

I get this problem also; HP dv2700 ubuntu hardy amd64

graingert@graingert-laptop:~$ lspci | grep Ricoh
08:09.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
08:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
08:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
08:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
08:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)

graingert (tagrain) on 2008-08-21
Changed in linux:
status: New → Confirmed

I can confirm that also in acer aspire 5920, and with Hardy Heron x86-64, xD card is not recognised.
This is my lspci
0a:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
0a:09.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
0a:09.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
0a:09.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

description: updated

The Ubuntu Kernel Team is planning to move to the 2.6.27 kernel for the upcoming Intrepid Ibex 8.10 release. As a result, the kernel team would appreciate it if you could please test this newer 2.6.27 Ubuntu kernel. There are one of two ways you should be able to test:

1) If you are comfortable installing packages on your own, the linux-image-2.6.27-* package is currently available for you to install and test.

--or--

2) The upcoming Alpha5 for Intrepid Ibex 8.10 will contain this newer 2.6.27 Ubuntu kernel. Alpha5 is set to be released Thursday Sept 4. Please watch http://www.ubuntu.com/testing for Alpha5 to be announced. You should then be able to test via a LiveCD.

Please let us know immediately if this newer 2.6.27 kernel resolves the bug reported here or if the issue remains. More importantly, please open a new bug report for each new bug/regression introduced by the 2.6.27 kernel and tag the bug report with 'linux-2.6.27'. Also, please specifically note if the issue does or does not appear in the 2.6.26 kernel. Thanks again, we really appreicate your help and feedback.

Matt Zimmerman (mdz) wrote :

This fails to work in precisely the same fashion under 2.6.27-2.3.

Matt Zimmerman (mdz) wrote :

It looks like each card type uses a different controller (separate PCI device), and there simply isn't a driver in the kernel for the xD controller. See also http://linux.derkeiler.com/Mailing-Lists/Kernel/2006-03/msg08781.html

Changed in linux:
importance: Undecided → Wishlist
importance: Undecided → Wishlist

My ...
02:09.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
02:09.2 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
02:09.3 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
Is also not working on Intrepid 64bit - I have a Dell 1525.
Thanks

Alex Maguran (amaguran) wrote :

At least SD card not detected.

HP 8510p

02:06.0 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b9)
02:06.1 CardBus bridge: Ricoh Co Ltd RL5c476 II (rev b9)
02:06.2 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 03)
02:06.3 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 20)
02:06.4 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 10)

On Wed, Oct 01, 2008 at 06:22:27AM -0000, Alex Maguran wrote:
> At least SD card not detected.

Not the same problem.

--
 - mdz

> No the same problem

I thought I have the same problem as #276484, which is marked as duplicate of this one. Sorry, if this is not the case.

Dan The Man (onemanbanddan) wrote :

Now, I'm very new to this, but I've just done the 8.10 upgrade, and my lspci | grep ricoh output is identical to those listed above. Dell Vostro 1700.
Everything I've seen on the web in the last hour leads me to believe that it's impossible to read xd cards with a built in reader using gnu/linux.
(not very) Interestingly, I just put ubuntu on this machine this morning dual boot, and when I fired up xp pro, it told me 'Found new hardware: xd picture card reader'. It had always worked flawlessly before in xp on this box. I guess I'm just going to have to stick with windows, because microsoft, quite clearly, make far superior operating systems than this geek oriented linux nonsense.

stiv2k (stiv2k) wrote :

I can confirm the same problem with the same Ricoh chipset on:

HP Pavilion dv1657cl
HP Pavilion dv9009nr

Zaar Hai (haizaar) wrote :

Same here on Dell XPS m1330 Ubuntu 8.04

03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

Changed in dell:
importance: Undecided → Wishlist
Yossi Gil (yossi-gil) wrote :

Same problem. Thinkpad T61 (which is not exactly the same as the T61).
SD card is read. But not an XD card..

Take note that the problem occurs in Windows as well, and an update from Lenovo is required.

See

http://www-307.ibm.com/pc/support/site.wss/MIGR-68053.html

Recent versions add more and more support for the XD card. Here is the summary from the Lenovo site:

Version 3.54.02

    * (New) Support for Dutch and Brazilian Portuguese installer program.
    * (Fix) Blue Screen on Death happens with System Enable/Disable with IO test on Windows Logo Kit (WLK) 1.1.

Version 3.52.02

    * (New) Added some SSID.
    * (New) Updated xD Icon design.
    * (Fix) The Memorystick and xD devcies don't work when the system memory exceeds 4GB.
    * (Fix) Kingston MMC plus 1GB might not work properly.
    * (Fix) SanDisk RS-MMC 1GB might not work properly.

Version 3.51.01

    * (New) Added some SSID/SVID for MS and xD x86 drivers.
    * (New) Summarized Windows Vista x86/x64 drivers.
    * (New) Supported uninstall feature on "Programs and features".
    * (New) Changed user interface of program installer.
    * (New) Added WHQL signature files for all drivers.
    * (New) Updated to support resource rebalancing for Windows Vista.
    * (Fix) It becomes impossible to access the xD-Picture card without rebooting the computer if once failing to recognize the card.
    * (Fix) Kingston RS-MMC 512MB isn't recognized on Windows Vista x64.
    * (Fix) Flash Media Card may not be recognized after booting the computer with a CardBus Card.

Pablo Estigarribia (pablodav) wrote :

I made many many test after upgrade to Interpid, I have no problems to work with SSD card on Interpid!!

Seems to be ok with kernel 2.6.27

Pablo Estigarribia (pablodav) wrote :

Sorry I wrote SSD card, but is MMC....

TomasHnyk (sup) wrote :

Pablo: do you have the same reader? Please post output of lspci.

Pablo Estigarribia (pablodav) wrote :

This is my lspci:

00:00.0 Host bridge: Intel Corporation Mobile PM965/GM965/GL960 Memory Controller Hub (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
00:1a.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #4 (rev 03)
00:1a.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #5 (rev 03)
00:1a.7 USB Controller: Intel Corporation 82801H (ICH8 Family) USB2 EHCI Controller #2 (rev 03)
00:1b.0 Audio device: Intel Corporation 82801H (ICH8 Family) HD Audio Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 1 (rev 03)
00:1c.1 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 2 (rev 03)
00:1c.2 PCI bridge: Intel Corporation 82801H (ICH8 Family) PCI Express Port 3 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801H (ICH8 Family) USB UHCI Controller #3 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801H (ICH8 Family) 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 82801HEM (ICH8M) LPC Interface Controller (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) IDE Controller (rev 03)
00:1f.2 SATA controller: Intel Corporation 82801HBM/HEM (ICH8M/ICH8M-E) SATA AHCI Controller (rev 03)
01:04.0 FLASH memory: ENE Technology Inc ENE PCI Memory Stick Card Reader Controller
01:04.1 SD Host controller: ENE Technology Inc ENE PCI SmartMedia / xD Card Reader Controller
01:04.2 FLASH memory: ENE Technology Inc Memory Stick Card Reader Controller
01:04.3 FLASH memory: ENE Technology Inc ENE PCI Secure Digital / MMC Card Reader Controller
02:00.0 Network controller: Intel Corporation PRO/Wireless 3945ABG [Golan] Network Connection (rev 02)
03:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168B PCI Express Gigabit Ethernet controller (rev 01)

Mike (michael-calcano) wrote :

You don't have the same hardware, this bug affects the Ricoh reader.

I've been unable to read MemoryStick Cards with this reader on ubuntu
intrepid.

Also on Acer Aspire 5720-602G16Mi (on special offer from Tesco direct so probably v. common):

# lspci -vv
...
07:00.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff) (prog-if ff)
 !!! Unknown header type 7f

(Intrepid 32-bit)

toneman77 (toni-eleftheriadis) wrote :

I dont know when this happened, but 2 minutes ago I put my card in the reader (Dell Vostro 1400) and it was instantly recognized.

$ uname -a
Linux tonesdell 2.6.27-7-generic #1 SMP Tue Nov 4 19:33:20 UTC 2008 i686 GNU/Linux

$ lspci |grep -i ricoh
03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev 05)
03:01.1 SD Host controller: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter (rev 12)
03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev ff)

thumbs up! Works for me now.

TomasHnyk (sup) wrote :

toneman77: what kind of card was that?

toneman77 (toni-eleftheriadis) wrote :

According to the text on my digital camera it's a SD HC card (Kingston 4GB premium pro)
It is/was the only card that was ever plugged into the card reader. Worked without problems in hardy, stopped working in intrepid.
I was only putting it in the card reader because I forgot that it didn't work in intrepid.

Andrea Piccinelli (frasten) wrote :

toneman77: it isn't the same bug: your card is a SD, but here we're talking about XDs.

toneman77 (toni-eleftheriadis) wrote :

Argh, my fault. sorry

Matt Zimmerman (mdz) on 2008-12-03
description: updated
Noel J. Bergman (noeljb) on 2009-01-01
description: updated
Changed in dell:
status: Confirmed → Triaged
fony (four-baladewa) on 2009-11-18
Changed in linux (Debian):
assignee: nobody → fony (four-baladewa)
status: Confirmed → New
Santiago M. Mola (smola) on 2010-01-22
Changed in linux (Debian):
status: New → Confirmed
Changed in linux (Ubuntu):
assignee: nobody → Maxim Levitsky (maximlevitsky)
Changed in dell:
assignee: nobody → Maxim Levitsky (maximlevitsky)
tags: added: patch
Tony Espy (awe) on 2010-04-07
Changed in dell:
status: Triaged → Won't Fix
76 comments hidden view all 156 comments
Jerone Young (jerone) wrote :

@Wojciech
             This sounds a lot like the udev with hdparm. Try removing file /lib/udev/rules.d/85-hdparm (place it somewhere else). Reboot and see if it works?

@Wojciech Aniszewski

my driver consists of two parts, r852, the lowlevel driver,
and sm_ftl the high level driver that provides xD compatable FTL.

The udev rule I gave should load the sm_ftl after a card is detected by r852. If its isn't loaded "lsmod | grep sm_ftl"
try to load sm_ftl manually (modprobe sm_ftl).

The device that you can mount is /dev/smblka

Best regards,
     Maxim Levitsky

@Maxim.
Both r852 and sml_ftl are present (i see them in lsmod).
Nevertheless, /dev/smblka you mentioned does not exist.

@Jerone.
I did that, no effect.

Regards

2010/4/14, Maxim Levitsky <email address hidden>:
> @Wojciech Aniszewski
>
> my driver consists of two parts, r852, the lowlevel driver,
> and sm_ftl the high level driver that provides xD compatable FTL.
>
> The udev rule I gave should load the sm_ftl after a card is detected by
> r852. If its isn't loaded "lsmod | grep sm_ftl"
> try to load sm_ftl manually (modprobe sm_ftl).
>
> The device that you can mount is /dev/smblka
>
> Best regards,
> Maxim Levitsky
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https://bugs.launchpad.net/bugs/202490
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in The Dell Project: Won't Fix
> Status in “linux” package in Ubuntu: Confirmed
> Status in “linux” package in Debian: Confirmed
>
> Bug description:
> *** NOTE: this is a *wishlist* item - a request for new functionality. At
> present, and perhaps forever, xD support on linux is extremely limited.
> This issue is a request to have xD support added for a specific, and
> somewhat popular, chipset. Please do not add "me, too" items. We know that
> it doesn't work. If you want, please add yourself as a subscriber, and
> click on link to indicate that "This bug effects me, too" In the meantime,
> there are two xD readers known to work with linux, so if you simply must
> have xD support, those would be your options.
>
> ------------------------------------------------
>
> On multi-format card readers such as:
>
>> lspci | grep Ricoh
> 03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev
> 05)
> 03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822
> SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
> 03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
> 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
> (rev 12)
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
>
> SD and MMC cards work, but Xd cards do not. This appears to be due to a
> lack of driver support for the Xd reader.
>
> There is no need to comment confirming this issue on more laptops. Every
> laptop with a similar type of reader will be affected.
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/dell/+bug/202490/+subscribe
>

--
Pentahedron - A polyhedron having five faces. Because there are two
pentahedral graphs, there are two convex pentahedra, namely the square
pyramid and the triangular prism. The triangular prism is the unique
convex pentahedra having unit edge lengths.

(Eric W. Weisstein. "Pentahedron." From MathWorld--A Wolfram Web
Resource. http://mathworld.wolfram.com/Pentahedron.html)

@Wojciech Aniszewski

Thank you very much for testing.
First of all, try to remove and add the card.
I have seen that nand core very rarely doesn't detect it.

Then try to load the drivers with debug=1 (both r582 and sm_ftl support it)
And then see what you get in the logs.

What xD card you use?
(Is it type M or not, and what size is it)

If you could join irc 5 hours from that post, (I am MaximLevitsky on freenode and oftc), we could do some debugging.

The above is of course true for anybody that wants to test my driver.

description: updated
Download full text (6.1 KiB)

Sorry, I couldn't join the channel back then.
I'll be happy to try later, will look for you.
When I put the card out and in:
----(code 1)
$dmesg
[...]
[73418.876071] r852: card removed
[74172.784059] r852: detected xD writeable card in slot
[74173.088094] NAND device: Manufacturer ID: 0x98, Chip ID: 0xd5
(Toshiba SmartMedia 4MiB 3,3V ROM)
----
As far as writings on it say, its FujiFilm XD H 2GB card.

With debug=1, only difference seems to be that r852 prints
---(code 2)
[80148.517617] r852 0000:03:01.4: PCI INT B disabled
[80165.105581] r852 0000:03:01.4: PCI INT B -> GSI 18 (level, low) -> IRQ 18
---
after being modprobed. After that comes the same data as in (code 1).

best reagards
wojtek

2010/4/15, Maxim Levitsky <email address hidden>:
> ** Description changed:
>
> *** NOTE: this is a *wishlist* item - a request for new functionality.
> At present, and perhaps forever, xD support on linux is extremely
> limited. This issue is a request to have xD support added for a
> specific, and somewhat popular, chipset. Please do not add "me, too"
> items. We know that it doesn't work. If you want, please add yourself
> as a subscriber, and click on link to indicate that "This bug effects
> me, too" In the meantime, there are two xD readers known to work with
> linux, so if you simply must have xD support, those would be your
> options.
> +
> + Now there is an xD driver for this chip.
> + Supports kernel from 3.6.32.
> + (http://launchpadlibrarian.net/42999924/ricoh_xd-2.tar.bz2)
> +
> + To install please do ./make && sudo make install && sudo make load
> +
> + Note that this package installs several kernel modules, similar to
> compat-wireless
> + So, make sure that there is no conflict between existing mtd modules and
> these.
> +
> + *NOTE* If you use kernel lower that 2.6.34, please be sure to unload the
> ricoh-mmc driver.
> + It conflicts with this driver.
> + This does meant that on this kernel you *can't* use both xD and MMC cards
> + To be sure that ricoh-mmc is not loaded, you should see the following
> output:
> +
> + 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> + 12)
> +
> + and NOT:
> +
> + 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> + FF)
> +
>
> ------------------------------------------------
>
> On multi-format card readers such as:
>
> > lspci | grep Ricoh
> 03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
> (rev 05)
> 03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822
> SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
> 03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev
> 12)
> 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
> Adapter (rev 12)
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> 12)
>
> SD and MMC cards work, but Xd cards do not. This appears to be due to a
> lack of driver support for the Xd reader.
>
> There is no need to comment confirming this issue on more laptops.
> Every laptop with a similar type of reader will be affected.
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https...

Read more...

@Wojciech Aniszewski

Thanks for testing.
Well you found first bug.

My driver thinks that your card is 4 MB SmartMedia card (this was predecessor of xD),
But it shares same ID with your card.

For now, find file sm_common.c

and delete line

 {"SmartMedia 4MiB 3,3V ROM", 0xd5, 512, 4, 0x2000, NAND_ROM},

An update for that fixes the above bug (should :-) )

description: updated
description: updated

Can I kindly ask you to test latest version?

Download full text (3.4 KiB)

Hello Maxim.
Yes, it works like a charm within Gnome and using 2.6.31-21.
Two days ago I tried it without nautilus and gvfs (I use Ion3 on daily
basis), I got some errors but now I see that gnome manages just fine.
Anyway, thanks very much, it's up and running !

2010/4/19, Maxim Levitsky <email address hidden>:
> Can I kindly ask you to test latest version?
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https://bugs.launchpad.net/bugs/202490
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in The Dell Project: Won't Fix
> Status in “linux” package in Ubuntu: Confirmed
> Status in “linux” package in Debian: Confirmed
>
> Bug description:
> *** NOTE: this is a *wishlist* item - a request for new functionality. At
> present, and perhaps forever, xD support on linux is extremely limited.
> This issue is a request to have xD support added for a specific, and
> somewhat popular, chipset. Please do not add "me, too" items. We know that
> it doesn't work. If you want, please add yourself as a subscriber, and
> click on link to indicate that "This bug effects me, too" In the meantime,
> there are two xD readers known to work with linux, so if you simply must
> have xD support, those would be your options.
>
> Now there is an xD driver for this chip.
> Supports kernel from 3.6.31.
> (http://launchpadlibrarian.net/44373795/ricoh_xd_3.tar.bz2)
>
> To install please do ./make && sudo make install && sudo make load
>
> Note that this package installs several kernel modules, similar to
> compat-wireless
> So, make sure that there is no conflict between existing mtd modules and
> these.
>
> *NOTE* If you use kernel lower that 2.6.34, please be sure to unload the
> ricoh-mmc driver.
> It conflicts with this driver.
> This does meant that on this kernel you *can't* use both xD and MMC cards
> To be sure that ricoh-mmc is not loaded, you should see the following
> output:
>
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
>
> and NOT:
>
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev FF)
>
> ------------------------------------------------
>
> On multi-format card readers such as:
>
>> lspci | grep Ricoh
> 03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller (rev
> 05)
> 03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822
> SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
> 03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev 12)
> 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host Adapter
> (rev 12)
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev 12)
>
> SD and MMC cards work, but Xd cards do not. This appears to be due to a
> lack of driver support for the Xd reader.
>
> There is no need to comment confirming this issue on more laptops. Every
> laptop with a similar type of reader will be affected.
>
>
>
> To unsubscribe from this bug, go to:
> https://bugs.launchpad.net/dell/+bug/202490/+subscribe
>

--
Pentahedron - A polyhedron having five faces. Because there are two
pentahedral graphs, there are two convex pentahedra, namely...

Read more...

jerzy (jpiter) wrote :

I managed to start your driver under Lucid, I replaced original "nand_ecc.ko", "nand_ids.ko", "nand.ko", "mtd_blkdevs.ko"
"mtdblock.ko", "mtd.ko", "ssfdc.ko" with compiled from your package. Of course I'd done back up original files. After reboting system everything works perfectly. I don't see any conficts, SD card works fine too. For the time the only inconveniance is the fact that the XD icon you mentioned above doesn't show in my gnome bar (tool mounting disks). After inserting XD card I only see blank button. By the way I use 2 GB XD H card so I removed the line: "{"SmartMedia 4MiB 3,3V ROM", 0xd5, 512, 4, 0x2000, NAND_ROM}" from sm_common.c before compiling.

@jerzy. you probably use different icon style that default?

I also use lucid.
If you didn't do make install, you should copy udev rule I provided to /lib/udev/rules.d
It should then make udisk ask for 'gnome-dev-media-xd',which I provide.

I put the icon in '/usr/share/icons/Humanity/devices/16', '/usr/share/icons/Humanity/devices/32' and '/usr/share/icons/Humanity/devices/48'

Maybe you can even put it in ~/.icons

But don't forget to remove -16 -32 or -48 suffix from the icon

jerzy (jpiter) wrote :

I did make install during installation. I checked icons directory /usr/share/... File with picture is present, I checked also udev rules wich also exist in /lib/udev/rules.d. It helped to copy icon to ~/.icons directory.

jerzy (jpiter) wrote :

I use 24 bit color depth, and can't use 32 because I have graphics card Intel X3100 (GM965) and default ubuntu driver doesn't support such depth. Probably that is why I hadn't seen the icon.

@jerzy

24 and 32 bit depths are exactly the same
The icons I created are SVG, and the suffix is its recommended size, not bit depth.
(SVG is supposed to be scalable, but in practicable, its not....)

I think you just use non default icon theme.
But anyway this is really minor issue.
Thanks for testing

Noel J. Bergman (noeljb) wrote :

> I'll try to get my hands on an Olympus camera, and make sure that it is happy with media processed by them.

Worked perfectly. I spent the past week diving with Olympus loaner cameras, and the driver worked fine with the older models that still used xD media.

Thanks for the effort, Maxim! I know that xD is a dead format, but there are still people using it, who will appreciate all of the work you've done!

Now the driver is committed upstream to what will became 2.6.35
Since ubuntu 10.10 is will be based on this kernel, I guess soon I could close this bug

Jerone Young (jerone) wrote :

@Maxim
             Best to wait to close. What you wan to ensure is once the 2.6.35 kernel is pulled in for 10.10 that the kernel config option to enable the driver is enabled.

Misosofos (misosofos) wrote :

It doesn't work :(

Changed in linux (Ubuntu):
assignee: Maxim Levitsky (maximlevitsky) → Misosofos (misosofos)

@Misosofos could you explain why?

we figured out what problem was, and I want to repeat to *anyone* here listening:

If you have kernel below 2.6.34, you need to:

Unload and blacklist ricoh_mmc module.
To do so:

sudo modprobe -r ricoh_mmc

and then add
blacklist ricoh_mmc to
/etc/modprobe.d/blacklist.conf

This will make it impossible to use MMC cards, update the kernel if you want to use both.

(You can load that module manually to temporally regain ability to read MMC cards)

Changed in linux (Ubuntu):
assignee: Misosofos (misosofos) → Maxim Levitsky (maximlevitsky)
Ayrton Araújo (ayrton) wrote :

ayrton ~ $ -> lspci | grep JMicron
04:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
04:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
04:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
04:00.4 System peripheral: JMicron Technology Corp. xD Host Controller

List that my reader supports xD Cards however it doesn't.

On Sun, 2010-05-23 at 18:27 +0000, Ayrton Araujo wrote:
> ayrton ~ $ -> lspci | grep JMicron
> 04:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
> 04:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
> 04:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
> 04:00.4 System peripheral: JMicron Technology Corp. xD Host Controller
>
> List that my reader supports xD Cards however it doesn't.
>

I have that reader too, and Alex Dubov wrote an xD driver for it.
It isn't compatable with modern kernels.

In future I rewrite his driver and make this xD reader work.

Due to unexpected turn of events (sometimes it pays to ask a question) I was told that mmc controller that ricoh-mmc disables in fact is almost standard sdhci controller.

Therefore I patched the sdhci kernel driver and now it binds to both sdhci and mmc devices and therefore allows you to use sd,sdhi,mmc and xD cards at same time.

The driver modified to compile under 10.4 kernel is attached.

To use first unload the ricoh-mmc (if you didn't already)

$ sudo modprobe -r ricoh_mmc

To make this permanent blacklist it (if you didn't already)
to do so:

$ echo ricoh_mmc | sudo tee /etc/modprobe.d/blacklist_ricoh_mmc.conf

Now compile & install:

$ make
$ sudo make install

Unload current driver:
$ modprobe -r sdhci_pci
$ modprobe -r sdhci

assure that new driver is seen
to do so ensure that you see the 'extra':

$ modinfo sdhci-pci | grep filename
filename: /lib/modules/2.6.32-18-generic/extra/sdhci-pci.ko

Now load patched driver: (on next boot it will be loaded automaticly)
$ modprobe -r sdhci_pci
$ modprobe -r sdhci

note that due to bug (you probably seen it) don't try to suspend the system while sd/sdhc/mmc card is in slot
This just hands the system
I know the cause, but fix is far from trivial.
(Its not my fault)

Download full text (4.2 KiB)

Maxim, thank you for all your work and your attention to this thread and the
people waiting for this feature.

On Thu, Jun 3, 2010 at 6:13 PM, Maxim Levitsky <email address hidden>wrote:

> Due to unexpected turn of events (sometimes it pays to ask a question) I
> was told that mmc controller that ricoh-mmc disables in fact is almost
> standard sdhci controller.
>
> Therefore I patched the sdhci kernel driver and now it binds to both
> sdhci and mmc devices and therefore allows you to use sd,sdhi,mmc and xD
> cards at same time.
>
> The driver modified to compile under 10.4 kernel is attached.
>
> To use first unload the ricoh-mmc (if you didn't already)
>
> $ sudo modprobe -r ricoh_mmc
>
> To make this permanent blacklist it (if you didn't already)
> to do so:
>
> $ echo ricoh_mmc | sudo tee /etc/modprobe.d/blacklist_ricoh_mmc.conf
>
> Now compile & install:
>
> $ make
> $ sudo make install
>
> Unload current driver:
> $ modprobe -r sdhci_pci
> $ modprobe -r sdhci
>
>
> assure that new driver is seen
> to do so ensure that you see the 'extra':
>
> $ modinfo sdhci-pci | grep filename
> filename: /lib/modules/2.6.32-18-generic/extra/sdhci-pci.ko
>
>
> Now load patched driver: (on next boot it will be loaded automaticly)
> $ modprobe -r sdhci_pci
> $ modprobe -r sdhci
>
>
> note that due to bug (you probably seen it) don't try to suspend the system
> while sd/sdhc/mmc card is in slot
> This just hands the system
> I know the cause, but fix is far from trivial.
> (Its not my fault)
>
>
> ** Attachment added: "mmc-sd-sdhci.tar.gz"
> http://launchpadlibrarian.net/49613807/mmc-sd-sdhci.tar.gz
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https://bugs.launchpad.net/bugs/202490
> You received this bug notification because you are a direct subscriber
> of the bug.
>
> Status in The Dell Project: Won't Fix
> Status in “linux” package in Ubuntu: Confirmed
> Status in “linux” package in Debian: Confirmed
>
> Bug description:
> *** NOTE: this is a *wishlist* item - a request for new functionality. At
> present, and perhaps forever, xD support on linux is extremely limited.
> This issue is a request to have xD support added for a specific, and
> somewhat popular, chipset. Please do not add "me, too" items. We know that
> it doesn't work. If you want, please add yourself as a subscriber, and
> click on link to indicate that "This bug effects me, too" In the meantime,
> there are two xD readers known to work with linux, so if you simply must
> have xD support, those would be your options.
>
> Now there is an xD driver for this chip.
> Supports kernel from 3.6.31.
> (http://launchpadlibrarian.net/44373795/ricoh_xd_3.tar.bz2)
>
> To install please do ./make && sudo make install && sudo make load
>
> Note that this package installs several kernel modules, similar to
> compat-wireless
> So, make sure that there is no conflict between existing mtd modules and
> these.
>
> *NOTE* If you use kernel lower that 2.6.34, please be sure to unload the
> ricoh-mmc driver.
> It conflicts with this driver.
> This does meant that on this kernel you *can't* use both xD and MMC cards
> To be sure that ricoh-mmc is not loa...

Read more...

This is updated backport of mmc subsystem.

Not only this version binds and works correctly with mmc cards without need of mmc disabler, but it also contains a fix for hangs on suspend/resume. Now you can suspend and resume the system with the card normally.

Changed in linux (Ubuntu):
status: Confirmed → Fix Committed
description: updated
Misosofos (misosofos) wrote :

What if we installed previous version? Can we just run this script, or we
need to whitelist the mmc kernel module?

Thank you.

On Sat, Jun 12, 2010 at 12:55 AM, Maxim Levitsky <email address hidden>wrote:

> ** Description changed:
>
> *** NOTE: this is a *wishlist* item - a request for new functionality.
> At present, and perhaps forever, xD support on linux is extremely
> limited. This issue is a request to have xD support added for a
> specific, and somewhat popular, chipset. Please do not add "me, too"
> items. We know that it doesn't work. If you want, please add yourself
> as a subscriber, and click on link to indicate that "This bug effects
> me, too" In the meantime, there are two xD readers known to work with
> linux, so if you simply must have xD support, those would be your
> options.
>
> Now there is an xD driver for this chip.
> Supports kernel from 3.6.31.
> (http://launchpadlibrarian.net/44373795/ricoh_xd_3.tar.bz2)
>
> + The driver is now in Maverick's kernel.
> + You still need the udev rule to load FTL part of it.
> +
> + Or just add sm_ftl to /etc/modules.
> +
> To install please do ./make && sudo make install && sudo make load
>
> Note that this package installs several kernel modules, similar to
> compat-wireless
> So, make sure that there is no conflict between existing mtd modules and
> these.
>
> *NOTE* If you use kernel lower that 2.6.34, please be sure to unload the
> ricoh-mmc driver.
> It conflicts with this driver.
> This does meant that on this kernel you *can't* use both xD and MMC cards
> To be sure that ricoh-mmc is not loaded, you should see the following
> output:
> + You can use a modified sdhci driver for mmc cards I attached.
> + Unfortunately this driver won't help on Mavaric kernel (my fault :-( )
>
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> 12)
>
> and NOT:
>
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> FF)
>
> ------------------------------------------------
>
> On multi-format card readers such as:
>
> > lspci | grep Ricoh
> 03:01.0 FireWire (IEEE 1394): Ricoh Co Ltd R5C832 IEEE 1394 Controller
> (rev 05)
> 03:01.1 Generic system peripheral [0805]: Ricoh Co Ltd R5C822
> SD/SDIO/MMC/MS/MSPro Host Adapter (rev 22)
> 03:01.2 System peripheral: Ricoh Co Ltd R5C843 MMC Host Controller (rev
> 12)
> 03:01.3 System peripheral: Ricoh Co Ltd R5C592 Memory Stick Bus Host
> Adapter (rev 12)
> 03:01.4 System peripheral: Ricoh Co Ltd xD-Picture Card Controller (rev
> 12)
>
> SD and MMC cards work, but Xd cards do not. This appears to be due to a
> lack of driver support for the Xd reader.
>
> There is no need to comment confirming this issue on more laptops.
> Every laptop with a similar type of reader will be affected.
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https://bugs.launchpad.net/bugs/202490
> You received this bug notification because you are a direct subscriber
> of the bug.
>

@Misosofus, I didn't understand what you mean.

The modified sdhci driver I just published allows you to use mmc cards without ricoh_mmc.
It just uses it the same way windows does

Launchpad Janitor (janitor) wrote :

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

---------------
linux (2.6.35-3.4) maverick; urgency=low

  [ Andy Whitcroft ]

  * debian -- ensure the version number is clean

  [ Henrik Rydberg ]

  * [Upstream] Introduce MT event slots (rev 5)
  * [Upstream] Document the MT event slot protocol (rev5)
  * [Upstream] (evdev) Use multi-reader buffer to save space (rev4)
  * [Upstream] (evdev) Convert to dynamic event buffer (rev4)
  * [Upstream] (evdev) Use driver hint to compute the evdev buffer size
    (rev2)

  [ Leann Ogasawara ]

  * Revert "SAUCE: Add MODULE_ALIAS for Dell WMI module"
  * Revert "SAUCE: hostap: send events on data interface as well as master
    interface"
  * Revert "Fix webcam having USB ID 0ac8:303b"
  * Revert "SAUCE: toshiba_acpi -- pull in current -dev version of driver"
  * rebase to v2.6.35-rc3

  [ Maxim Levitsky ]

  * [Config] Enable new Smartmedia/xD translation layer
    - LP: #202490

  [ Upstream Kernel Changes ]

  * net: fix deliver_no_wcard regression on loopback device

  [ Upstream changes ]

  * rebased to v2.6.35-rc3
 -- Leann Ogasawara <email address hidden> Thu, 10 Jun 2010 16:15:22 -0700

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

Just note that 'Fix isn't yet fully released'

That is driver won't load automatically, so you need the udev rule that I have in my package.

This patch adds the udev rule to load my driver automatically.
It was posted on linux-hotplug@vger, but no reaction yet.

It is still not enough for out of box experience.
Another rule for udisk in needed.

Misosofos (misosofos) wrote :

I tried to patch with patch -p0 < filename

In which folder is necessary to put the patch file?

On Wed, Jun 23, 2010 at 6:31 PM, Maxim Levitsky <email address hidden>wrote:

> This patch adds the udev rule to load my driver automatically.
> It was posted on linux-hotplug@vger, but no reaction yet.
>
>
> It is still not enough for out of box experience.
> Another rule for udisk in needed.
>
> ** Attachment added: "[PATCH]_Add_autodetection_for_xD_cards"
>
> http://launchpadlibrarian.net/50808643/%5BPATCH%5D_Add_autodetection_for_xD_cards
>
> --
> [Feature Request] Provide a driver for Ricoh R5C822 xD card reader
> https://bugs.launchpad.net/bugs/202490
> You received this bug notification because you are a direct subscriber
> of the bug.
>

You don't need it.
As you probably already know my driver consists on 2 parts, a lowlevel driver r852, and it is loaded automatically,
and high-level sm_ftl which implements wear leveling according to xD standard.

The problem is that sm_ftl isn't loaded automatically.
(In the package I provided, there is an udev rule that loads the ftl automatically)

This patch does the same but in generic and clean way.
It is intended to patch udev sources.

This udev patch is now included in udev-158.
I hope maveric will use it.

The only thing that isn't 'working' yet, (and you probably noticed it) is that xD card isn't automounted.

This is partially thanks to this piece of hardcoded code (devicekit and its friends are full of this junk):

                      if (g_strcmp0 (connection_interface, "usb") == 0 ||
                          g_strcmp0 (connection_interface, "firewire") == 0 ||
                          g_strcmp0 (connection_interface, "sdio") == 0 ||
                          gdu_device_is_optical_disc (drive_device))
                        {
                          volume->should_automount = TRUE;
                        }

in package 'gvfs', gvfs/monitor/ggduvolume.c

Roman Krylov (volyrkr) wrote :

Tested my xd ricoh reader with 2.6.35 mainline - had to modprobe ssfdc it manually since I did not find udev rule in the package for it. Found a rule for sm_ftl only. It works now, thank you so much!

@Roman Krylov, note that you can use sm_ftl too.
ssfdc is read only driver. Very safe though.

sm_ftl is read/write driver. It works ok here. It is of course (as anything that is RW) a bit less safe.

Changed in udev (Ubuntu):
status: New → Fix Released
jerzy (jpiter) wrote :

maxim, could you tell when your driver is going to be included in main stream linux kernel?

> On Sun, 2010-05-23 at 18:27 +0000, Ayrton Araujo wrote:
>> ayrton ~ $ -> lspci | grep JMicron
>> 04:00.0 System peripheral: JMicron Technology Corp. SD/MMC Host Controller
>> 04:00.2 SD Host controller: JMicron Technology Corp. Standard SD Host Controller
>> 04:00.3 System peripheral: JMicron Technology Corp. MS Host Controller
>> 04:00.4 System peripheral: JMicron Technology Corp. xD Host Controller
>>
>> List that my reader supports xD Cards however it doesn't.
>>
>
> I have that reader too, and Alex Dubov wrote an xD driver for it.
> It isn't compatable with modern kernels.
>
> In future I rewrite his driver and make this xD reader work.
>

Hello Maxim, when you can rewrite driver for JMicron reader? Thanks.

Ubuntu QA Website (ubuntuqa) wrote :

This bug has been reported on the Ubuntu laptop testing tracker.

A list of all reports related to this bug can be found here:
http://laptop.qa.ubuntu.com/qatracker/reports/bugs/202490

tags: added: laptop-testing
Changed in somerville:
assignee: nobody → Maxim Levitsky (maximlevitsky)
importance: Undecided → Wishlist
status: New → Won't Fix
no longer affects: dell

The bug task for the somerville project has been removed by an automated script. This bug has been cloned on that project and is available here: https://bugs.launchpad.net/bugs/1305865

no longer affects: somerville
Displaying first 40 and last 40 comments. View all 156 comments or add a comment.
This report contains Public information  Edit
Everyone can see this information.

Duplicates of this bug

Other bug subscribers