Linux 上的 MMC 读卡器运行缓慢

Linux 上的 MMC 读卡器运行缓慢

我一直在 Google 和论坛上搜索有关我在使用 Linux 时遇到的问题,但至今没有任何结果。

这是我的系统:

System:    Host: wally Kernel: 3.13.0-37-generic x86_64 (64 bit) Desktop: Gnome Distro: Linux Mint 17.1 Rebecca
Machine:   System: Hewlett-Packard (portable) product: HP EliteBook Folio 9470m version: A1029D1102
           Mobo: Hewlett-Packard model: 18DF version: KBC Version 62.17
           Bios: Hewlett-Packard version: 68IBD Ver. F.46 date: 07/16/2013

我有一个带 128Gb 卡的 MMC 读卡器http://www.amazon.co.uk/dp/B00OD712HG/ref=pe_385721_51767431_TE_dp_1

但是,同一台笔记本电脑在运行 Windows 的情况下,读写速度却快得多。

以下是更多信息:

~ cat /sys/kernel/debug/mmc0/ios
clock:      25000000 Hz
actual clock:   25000000 Hz
vdd:      21 (3.3 ~ 3.4 V)
bus mode:   2 (push-pull)
chip select:   0 (don't care)
power mode:   2 (on)
bus width:   2 (4 bits)
timing spec:   0 (legacy)
signal voltage:   0 (3.30 V)

(while writing)
~ cat /proc/interrupts | grep mmc
 18:     416899     327705     150854      74913  IR-IO-APIC-fasteoi   mmc0


dmesg | grep mmc
[    3.374525] mmc0: no vqmmc regulator found
[    3.374530] mmc0: no vmmc regulator found
[    3.374669] mmc0: SDHCI controller on PCI [0000:02:00.0] using DMA
[    3.624502] mmc0: new SDXC card at address 59b4
[    3.626966] mmcblk0: mmc0:59b4       119 GiB
[    3.628030]  mmcblk0: p1
[  141.158242] EXT4-fs (mmcblk0p1): mounted filesystem with ordered data mode. Opts: (null)

lsmod | grep mmc
mmc_block              35929  2

根据我的理解,我应该在 dmesg 中看到类似这样的内容

mmc0: new high speed SDHC card at address 0007

但我显然不知道。

Windows 性能:60Mbps(读写约)Linux 性能:6Mbps(慢 10 倍)。在通过 SD 卡复制文件时,我可以看到 CPU 处于 60/70% wa 状态。

我做错什么了吗?任何帮助我都感激不尽。

谢谢!

答案1

正如我在评论中提到的,我也遇到了类似的问题。我设法手动将时钟频率加倍,使其处于老式的“高速”模式。

echo 50000000 | sudo tee  /sys/kernel/debug/mmc0/clock

现在我需要将电压降低到 1.8V 才能进一步提高性能,希望达到 UHS-1 水平。

我在 Linux 堆栈交换中提出了另一个问题,我应该在那里分享更新: https://unix.stackexchange.com/questions/437545/sd-reader-how-to-force-uhs-i

看到没有答案真是令人难过。也许这只是卡速检测的一个极端情况。

相关内容