我一直在 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
看到没有答案真是令人难过。也许这只是卡速检测的一个极端情况。