Ricoh R5C576 SD Bus Internal SD Card Reader Not Functioning in OpenSUSE 12.3 with Gnome

We have a Panasonic Toughbook CF-73 with the Ricoh R5C576 SD Bus Internal SD Card Reader Not Functioning in OpenSUSE 12.3 with Gnome.

I’ve spent about three days into looking for a driver, fix or some kind of solution. Everything we have tried doesn’t seem to have returned a workable solution.

Does anybody have a fix or a RPM patch?

Hi
What is the PCI ID of the device, can you post the output just for the device from the command;


/sbin/lspci -nnk

We really need to know the chipset. Unfortunately, not all Ricoh devices are supported by Linux as outlined here

Drivers Needed - Linux Driver Project

<<snip snip>>
02:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev 88)
Subsystem: Matsushita Electric Industrial Co., Ltd. Panasonic CF-Y5 laptop [10f7:8338]
Kernel driver in use: yenta_cardbus
02:00.1 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev 88)
Subsystem: Matsushita Electric Industrial Co., Ltd. Panasonic CF-Y5 laptop [10f7:8338]
Kernel driver in use: yenta_cardbus
<<snip snip>>

Let me know if you need the other PCI IDs.

Hi
So there are no other Ricoh entries in the output? An FYI, we use code tags to wrap text output, see the # in the WYSIWYG interface… :slight_smile:

Can you post the output from the command;


lsmod

/sbin/lspci -nnk

00:00.0 Host bridge [0600]: Intel Corporation 82855PM Processor to I/O Controller [8086:3340] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: agpgart-intel
00:01.0 PCI bridge [0604]: Intel Corporation 82855PM Processor to AGP Controller [8086:3341] (rev 03)
00:1d.0 USB controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #1 [8086:24c2] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: uhci_hcd
00:1d.1 USB controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #2 [8086:24c4] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: uhci_hcd
00:1d.2 USB controller [0c03]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) USB UHCI Controller #3 [8086:24c7] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: uhci_hcd
00:1d.7 USB controller [0c03]: Intel Corporation 82801DB/DBM (ICH4/ICH4-M) USB2 EHCI Controller [8086:24cd] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: ehci_hcd
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev 83)
00:1f.0 ISA bridge [0601]: Intel Corporation 82801DBM (ICH4-M) LPC Interface Bridge [8086:24cc] (rev 03)
    Kernel driver in use: lpc_ich
00:1f.1 IDE interface [0101]: Intel Corporation 82801DBM (ICH4-M) IDE Controller [8086:24ca] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: ata_piix
00:1f.3 SMBus [0c05]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) SMBus Controller [8086:24c3] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
    Kernel driver in use: i801_smbus
00:1f.5 Multimedia audio controller [0401]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Audio Controller [8086:24c5] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8346]
    Kernel driver in use: snd_intel8x0
00:1f.6 Modem [0703]: Intel Corporation 82801DB/DBL/DBM (ICH4/ICH4-L/ICH4-M) AC'97 Modem Controller [8086:24c6] (rev 03)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:834b]
    Kernel driver in use: snd_intel8x0m
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Radeon RV250 [Mobility FireGL 9000] [1002:4c66] (rev 02)
    Kernel driver in use: radeon
02:00.0 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev 88)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Panasonic CF-Y5 laptop [10f7:8338]
    Kernel driver in use: yenta_cardbus
02:00.1 CardBus bridge [0607]: Ricoh Co Ltd RL5c476 II [1180:0476] (rev 88)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Panasonic CF-Y5 laptop [10f7:8338]
    Kernel driver in use: yenta_cardbus
02:00.2 System peripheral [0880]: Ricoh Co Ltd R5C576 SD Bus Host Adapter [1180:0576]
    Subsystem: Matsushita Electric Industrial Co., Ltd. Device [10f7:8338]
02:01.0 Network controller [0280]: Intel Corporation PRO/Wireless 2200BG [Calexico2] Network Connection [8086:4220] (rev 05)
    Subsystem: Intel Corporation WM3B2300BG Mini-PCI Card [8086:2701]
    Kernel driver in use: ipw2200
02:02.0 Ethernet controller [0200]: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ [10ec:8139] (rev 10)
    Subsystem: Matsushita Electric Industrial Co., Ltd. Panasonic CF-Y5 laptop [10f7:8338]
    Kernel driver in use: 8139too


lsmod

Module                  Size  Used by
ndiswrapper           217715  0 
st                     43659  0 
dm_mod                 84524  0 
fuse                   80539  2 
michael_mic            12541  12 
arc4                   12544  6 
ecb                    12712  0 
lib80211_crypt_tkip    17422  3 
xt_tcpudp              12757  2 
xt_pkttype             12457  3 
xt_LOG                 17290  10 
xt_limit               12542  10 
af_packet              30862  4 
bnep                   18957  2 
bluetooth             303438  7 bnep
ip6t_REJECT            12827  3 
nf_conntrack_ipv6      14228  3 
nf_defrag_ipv6         17873  1 nf_conntrack_ipv6
ip6table_raw           12604  1 
ipt_REJECT             12486  3 
iptable_raw            12599  1 
xt_CT                  12749  4 
iptable_filter         12707  1 
ip6table_mangle        12621  0 
nf_conntrack_netbios_ns    12586  0 
nf_conntrack_broadcast    12542  1 nf_conntrack_netbios_ns
nf_conntrack_ipv4      14493  3 
nf_defrag_ipv4         12650  1 nf_conntrack_ipv4
ip_tables              17988  2 iptable_raw,iptable_filter
xt_conntrack           12665  6 
nf_conntrack           89684  6 nf_conntrack_ipv6,xt_CT,nf_conntrack_netbios_ns,nf_conntrack_broadcast,nf_conntrack_ipv4,xt_conntrack
ip6table_filter        12712  1 
ip6_tables             22066  3 ip6table_raw,ip6table_mangle,ip6table_filter
x_tables               26164  15 xt_tcpudp,xt_pkttype,xt_LOG,xt_limit,ip6t_REJECT,ip6table_raw,ipt_REJECT,iptable_raw,xt_CT,iptable_filter,ip6table_mangle,ip_tables,xt_conntrack,ip6table_filter,ip6_tables
cpufreq_conservative    13526  0 
cpufreq_userspace      12974  0 
cpufreq_powersave      12555  0 
snd_intel8x0           33135  2 
snd_intel8x0m          18424  0 
snd_ac97_codec        113887  2 snd_intel8x0,snd_intel8x0m
ac97_bus               12671  1 snd_ac97_codec
snd_pcm                97659  3 snd_intel8x0,snd_intel8x0m,snd_ac97_codec
snd_seq                63595  0 
snd_timer              24319  2 snd_pcm,snd_seq
snd_seq_device         14138  1 snd_seq
snd                    70562  11 snd_intel8x0,snd_intel8x0m,snd_ac97_codec,snd_pcm,snd_seq,snd_timer,snd_seq_device
pcmcia                 55525  0 
ipw2200               183777  0 
libipw                 50485  1 ipw2200
cfg80211              195534  2 ipw2200,libipw
rfkill                 25445  5 bluetooth,cfg80211
soundcore              14600  1 snd
iTCO_wdt               13257  0 
iTCO_vendor_support    13503  1 iTCO_wdt
sg                     35712  0 
snd_page_alloc         14231  3 snd_intel8x0,snd_intel8x0m,snd_pcm
ppdev                  17399  0 
yenta_socket           40363  0 
parport_pc             36450  0 
pcmcia_rsrc            18320  1 yenta_socket
sr_mod                 21873  0 
parport                40727  2 ppdev,parport_pc
pcmcia_core            22278  3 pcmcia,yenta_socket,pcmcia_rsrc
panasonic_laptop       13230  0 
8139too                32531  0 
8139cp                 31197  0 
lib80211               14041  3 lib80211_crypt_tkip,ipw2200,libipw
acpi_cpufreq           18940  0 
mperf                  12604  1 acpi_cpufreq
video                  18889  0 
microcode              22863  0 
joydev                 17098  0 
pcspkr                 12631  0 
serio_raw              13160  0 
i2c_i801               21997  0 
cdrom                  41399  1 sr_mod
shpchp                 32130  0 
pci_hotplug            33982  1 shpchp
container              12736  0 
lpc_ich                16926  0 
sparse_keymap          13659  1 panasonic_laptop
button                 13665  0 
battery                18329  0 
ac                     12957  0 
autofs4                33270  2 
rtc_cmos               18169  0 
radeon                885878  2 
uhci_hcd               35592  0 
thermal                18248  0 
ttm                    74171  1 radeon
ehci_hcd               60431  0 
drm_kms_helper         45273  1 radeon
drm                   243772  4 radeon,ttm,drm_kms_helper
i2c_algo_bit           13198  1 radeon
i2c_core               34250  5 i2c_i801,radeon,drm_kms_helper,drm,i2c_algo_bit
processor              43569  2 acpi_cpufreq
thermal_sys            24245  3 video,thermal,processor
hwmon                  12912  2 radeon,thermal_sys
usbcore               200347  3 ndiswrapper,uhci_hcd,ehci_hcd
usb_common             12526  1 usbcore
scsi_dh_rdac           17172  0 
scsi_dh_emc            17062  0 
scsi_dh_alua           16973  0 
scsi_dh_hp_sw          12746  0 
scsi_dh                14428  4 scsi_dh_rdac,scsi_dh_emc,scsi_dh_alua,scsi_dh_hp_sw
ata_generic            12791  0 
ata_piix               26399  3 
ahci                   25508  0 
libahci                30205  1 ahci
libata                197443  4 ata_generic,ata_piix,ahci,libahci

Hi
So this is the device in question… I’m guessing it’s the sdhci_pci kernel module that would be used, if/when it supports your pci id number…

Hopefully someone running a later kernel can check if the id number exists…

On Wed 18 Sep 2013 01:36:03 AM CDT, malcolmlewis wrote:

dancin_penguin;2585804 Wrote:
> /sbin/lspci -nnk
>
> >
Code:

> >
> 02:00.2 System peripheral [0880]: Ricoh Co Ltd R5C576 SD Bus Host
Adapter [1180:0576] > Subsystem: Matsushita Electric Industrial Co.,
Ltd. Device [10f7:8338] >

> >
> Hi
> So this is the device in question… I’m guessing it’s the
> sdhci_pci kernel module that would be used, if/when it supports your
> pci id number…
>
> Hopefully someone running a later kernel can check if the id number
> exists…

Hi
So the latest kernel doesn’t have that pci id… so not sure how to
proceed. It is enabled in the BIOS?

What size is the SD card you plugging in? I know some readers don’t
like large capacity SD cards, eg > 4GB.


Cheers Malcolm °¿° SUSE Knowledge Partner (Linux Counter #276890)
openSUSE 12.3 (x86_64) GNOME 3.8.4 Kernel 3.7.10-1.16-desktop
If you find this post helpful and are logged into the web interface,
please show your appreciation and click on the star below… Thanks!

Is there a way for me to enable the sdhci-pci module within the kernel? Would you happen to have a HOWTO tutorial that covers this?

The SD card being put into it is a 2GB SanDisk card.

As for the BIOS, I believe that it is enabled. It was running in windows XP prior to opensuse 12.3 install. I will check that on next reboot.

You could try communicating with the developer (Pierre Ossman)

modinfo sdhci_pci

Perhaps he could include that chipset for testing…

Additional note: The SD card reader is enabled within BIOS.

It will be down to driver support (or lack of)…

It may be possible (for testing purposes) to add the desired chipset to /sys/bus/pci/drivers/sdhci_pci/new-id like described here

Adding new vendor and product IDs to an existing USB driver on Linux

The above is written regarding USB drivers, but perhaps will work for PCI drivers too? Please note that driver and hardware interface may not be compatible, so this won’t necessarily be the solution, but you’d soon know… :slight_smile:

I’m sure that the driver developer could help you to progress this. Unfortunately, it may also take Ricoh’s involvement to resolve. (Lack of manufacturer support is a big problem in Linux.)

Further to my last post:

https://www.kernel.org/doc/Documentation/ABI/testing/sysfs-bus-pci


What:		/sys/bus/pci/drivers/.../new_id
Date:		December 2003
Contact:	linux-pci@vger.kernel.org
Description:
		Writing a device ID to this file will attempt to
		dynamically add a new device ID to a PCI device driver.
		This may allow the driver to support more hardware than
		was included in the driver's static device ID support
		table at compile time.  The format for the device ID is:
		VVVV DDDD SVVV SDDD CCCC MMMM PPPP.  That is Vendor ID,
		Device ID, Subsystem Vendor ID, Subsystem Device ID,
		Class, Class Mask, and Private Driver Data.  The Vendor ID
		and Device ID fields are required, the rest are optional.
		Upon successfully adding an ID, the driver will probe
		for the device and attempt to bind to it.  For example:
		# echo "8086 10f5" > /sys/bus/pci/drivers/foo/new_id