FreeBSD : Compaq presario v3000 Ricoh card reader
In my previous post on FreeBSD : Compaq Presario V3010AU, the Ricoh SD/MMC card reader attached to my laptop was not functioning on FreeBSD 6.2R. Following the post by Hajimu UMEMOTO on freebsd-mobile mailing list, I’ve tested his driver and able to write on Kingston SD card.
Update :
New driver at http://www.agt.ne.jp/~a-gota/programs/driver/FBSD6.2R/memcard/sdmmc-20070627.tar.gz
Writing speed
coeus# mount_msdosfs /dev/sd0s1 /mnt/card
coeus# cd /mnt/card
coeus# dd if=/dev/zero of=test.img bs=1k count=10k
10240+0 records in
10240+0 records out
10485760 bytes transferred in 10.765308 secs (974033 bytes/sec)
Here are some of the dmesg and pciconf details:
dmesg
sdshc0: <Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter> mem 0xc3100800-0xc31008ff irq 22 at device 9.1 on pci5 sdshcbus0: <SD Standard Host Controller slot bus> on sdshc0 sdshcbus0: capability: 3.3V Suspend/Resume sdshcbus0: card inserted in slot #0 sd0: <Toshiba TM SD256 rev 0.7> on sdshcbus0 sd0: Ver 1.x SD memory card sd0: 243MB (498176 x 512-byte blocks) sd0: access time: read 200.0us, write 6.4ms sd0: speed class 0 sd0: max clock 25MHz, drive at 16.500MHz sd0: 8.250MB/s transfers with 4-bit bus width
pciconf -lv
sdshc0@pci5:9:1: class=0x080500 card=0x30b5103c chip=0x08221180 rev=0x19 hdr=0x00
vendor = 'Ricoh Co Ltd'
device = 'SD Bus Host Adapter'
class = base peripheral
none11@pci5:9:2: class=0x088000 card=0x30b5103c chip=0x08431180 rev=0x01 hdr=0x00
vendor = 'Ricoh Co Ltd'
class = base peripheral
none12@pci5:9:3: class=0x088000 card=0x30b5103c chip=0x05921180 rev=0x0a hdr=0x00
vendor = 'Ricoh Co Ltd'
device = 'Memory Stick Bus Host Adapter'
class = base peripheral
none13@pci5:9:4: class=0x088000 card=0x30b5103c chip=0x08521180 rev=0x05 hdr=0x00
vendor = 'Ricoh Co Ltd'
class = base peripheral




May 24th, 2007 at 4:29 pm
Many thanks for digging this up. It works great for me on my x40’s reader.
May 26th, 2007 at 12:24 am
No worries. But I think big “Thank you” should go to Hajimu UMEMOTO for writing the driver.
November 11th, 2007 at 5:10 pm
Thanks very much for posting this - I now have working the Ricoh SD/MMC cardreader in my ECS 223 notebook.
The sdmmc driver exposes three sysctls:
hw.sdshc.wait_after_insertion: 5000
hw.sdshc.polling_interval: 10
hw.sdshc.timeout_interval: 100
I had to adjust the wait_after_insertion delay to 5000 (~ 5 secs) to get an old 32MB Sandisk card to work, and put
hw.sdshc.wait_after_insertion=5000
into my /etc/sysctl.conf to ensure the setting is carried over between boots.
November 16th, 2007 at 4:01 pm
1 sec (1000) delay is good enough for my 256MB Toshiba/Kingston card. Thanks for sharing the info anyway.