笔记本自带读卡器linux驱动
2014-10-02 22:01
134 查看
How to get the internal SD card working
NOTE!The information on this page is stale, the SD-Card patches mentioned below have long found there way into the kernel, so patches for any recent kernel are no longer required. SD cards (at least storage cards) should work
out of the box with any recent Linux distribution
Contents1Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter 1.1 Ubuntu 6.10 'edgy eft': 1.2 Update for FC5 running the newest 2.6.17 kernel: 1.2.1 Automated module loading 2 Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD) |
Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter
1. First of it all you need a working kernel 2.6 source.2. Get the patches at http://mmc.drzeus.cx/wiki/Linux/Drivers/sdhci all the *.bin.
=> Note that with kernel versions >= 2.6.17-rc1, the driver is included in the kernel, and patching is unnecessary.
3. Patch your kernel
cd /usr/src/linux patch -p1 < sdhci-0001.bin patch -p1 < pci-sdhc-0001.bin patch -p1 < mmc-respopcode-0001.bin
4. reconfigure your kernel with menuconfig
make menuconfig
5. activate "Device Drivers" -> "MMC/SD Card support"
<*> MMC support <*> MMC block device driver <M> Secure Digital Host Controller Interface support (EXPERIMENTAL)
6. recompile your kernel & reboot
make clean && make && make modules_install.. dont forget to copy your new kernel. ;)
7. Modprobe your new kernel module:
modprobe sdhci
8. Mount your SD card
mount /dev/mmcblk0p1 /mnt
9. RocknRoll
Ubuntu 6.10 'edgy eft':
To get the card reader working on edgy:Add the module 'tifm_sd' to /etc/modules and restart. Now this module gets loaded on sys bootup and a card is detected when inserted. The card reader is found as /dev/mmcblk0 and mounted automatically on card insert.
Step-by-step:
1. Make a backup of your 'modules' in case something goes wrong:
[code]$ sudo cp /etc/modules /etc/modules.backup
[/code]
2. Open the file with gedit:
[code]$ sudo gedit /etc/modules
[/code]
3. Add the following entry to the end of the file:
tifm_sd
4. Save and close the file. On the next boot, the sd-card reader works.
As mentioned below, this is already reported as a bug:
BUG #53268
Update for FC5 running the newest 2.6.17 kernel:
1. modprobe mmc_block2.modprobe sdhci
3.mount /dev/mmcblk0p1 /mnt
4. RocknRoll
Tested on my X41 with 04:00.1 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 13)
Automated module loading
I'm using ASPLinux release 11 (Seliger) based on FC4 and kernel 2.6.17-1.2142asp.1. I created the script
/etc/sysconfig/modules/sd.modulesto load modules on boot. Don't forget to chmod it 775.
#!/bin/sh start () { for i in mmc_core mmc_block sdhci; do /sbin/modprobe $i >/dev/null 2>&1 done } stop () { for i in sdhci mmc_block mmc_core; do /sbin/rmmod $i >/dev/null 2>&1 done } restart() { stop start } case $1 in start) start ;; stop) stop ;; restart) echo -n "Reloading SD modules" restart echo ".. DONE" ;; *) start esac
2. This script will run after reboot. When you insert a card the automount system in KDE or Gnome will catch the medium on the fly. I found that it only works if the medium is inserted at boot time due to a
BUG :-(. That's why my script is longer then it has to be...
BUG Currently the bug exists in automounting an SD card. The SD card is mounted properly when the card is inserted at boot time (or at time when modules is loaded). Otherwise it is not mounted (BUG
#53268). The temporary workaround is to remove && insert the module while the medium is in the reader (
/etc/sysconfig/modules/sd.modules restart). Note that you have to be root to perform this.
Tested on my Z60t with 14:00.2 Class 0805: Ricoh Co Ltd R5C822 SD/SDIO/MMC/MS/MSPro Host Adapter (rev 17)
Texas Instruments 5-in-1 Multimedia Card Reader (SD/MMC/MS/MS PRO/xD)
The TI 5-in-1 card reader is found several Z-series ThinkPads (such as theZ61m,
Z61e, and the
Z61t). You will need a recent kernel and will need need to enable the
tifm drivers in the kernel:
Device Drivers →
Misc devices →
[M]TI Flash Media interface support (EXPERIMENTAL)
(CONFIG_TIFM_CORE)
Device Drivers →
4000
Misc devices →
[M]TI Flash Media PCI74xx/PCI76xx host adapter support (EXPERIMENTAL)
(CONFIG_TIFM_7XX1)
Device Drivers →
MMC/SD Card support →
[M]MMC support
(CONFIG_MMC)
Device Drivers →
MMC/SD Card support →
[M]MMC block device driver
(CONFIG_MMC_BLOCK)
Device Drivers →
MMC/SD Card support →
[M]TI Flash Media MMC/SD Interface support (EXPERIMENTAL)
(CONFIG_MMC_TIFM_SD)
NOTE!
As of this writing, these drivers are still experimental and under ongoing development. See the
tifm page for further important details and caveats.
After rebuilding your kernel, you should have the modules tifm_core,
tifm_7xx1, tifm_sd, mmc_core, and
mmc_block. Because these drivers are relatively new, the HAL auto-detection system may not load them on boot, requiring you to add them to
/etc/modules (or equivalent for your distribution).
The modules may be loaded by hand using the modprobe command as root:
# modprobe tifm_7xx1 tifm_sd
modprobe will correctly load the dependent modules. Once loaded, you may insert an SD card into the slot. The LED should blink once as the card is inspected, and output from
dmesg should report finding a card:
tifm_core: MMC/SD card detected in socket 0:1 PM: Adding info for tifm:tifm_sd0:1 PM: Adding info for No Bus:mmc1 PM: Adding info for mmc:mmc1:b368 mmcblk0: mmc1:b368 SD 993792KiB mmcblk0: p1
If you see errors, you could probably do with a newer version of the
tifm drivers.
After insertion, the
/dev heirarchy is populated with new devices.
/dev/disk/by-label should be populated with the labels of the partitions on the device, which you may then mount:
# mount /dev/disk/by-label/cardlabel /mnt
Alternatively, you can mount the block device directly, which usually appears as
/dev/mmcblk0 or, when the card has a partition table,
/dev/mmcblk0p1:
# mount /dev/mmcblk0p1 /mnt
NOTE!
As of this writing, only SD cards are reported to work. The driver isn't yet able to handle MMC/MS/MS PRO/xD cards.
相关文章推荐
- Linux系统自带spi驱动加载及应用程序编写方法详解
- linux下禁用笔记本自带键盘和touchpad
- Linux系统自带SPI接口驱动自测
- Linux系统自带spi驱动加载及应用程序编写方法详解
- linux自带spi驱动 ,可自己配置CS
- Linux系统自带SPI接口驱动自测
- Linux 无线网卡驱动安装 Dell Inspiron R14-N4010 笔记本
- Linux中USB鼠标驱动详解(讲解内核自带源码)
- 在linux下配置好opencv后,测试笔记本自带的摄像头
- Linux4.3.2内核自带LCD驱动移植
- linux笔记本安装双显卡驱动(intel+nvidia)
- 如何利用笔记本自带读卡器放入存储卡+ReadyBoost加快笔记本电脑的速度
- linux2.6.12自带的i2c驱动的应用
- FL2440移植LINUX-3.4.2 (七)--驱动移植LCD(移植自己写的和移植内核自带的)
- linux下更改分辨率 ,找不到显卡驱动的可以参考一下(另外:笔记本声卡问题)
- TI am335x sdk 自带linux源码下编译驱动出错解决办法
- Linux系统自带SPI接口驱动自测
- 东芝笔记本自带蓝牙在ubuntu中的驱动问题修复方法
- 在linux下自带安装JDK和mysql下,mysql驱动存放的目录问题
- linux笔记本上安装了双显卡驱动(intel+nvidia)