sd卡的Linux设备节点作为mmcblk来访问CSD寄存器

问题描述 投票:0回答:3

我正在尝试访问 SD 卡上的 CSD(卡特定数据)寄存器。我知道做到这一点的唯一方法是让 Linux 系统将其识别为 mmc 设备(多媒体卡?)(例如 /dev/mmcblk0)。现在该设备显示为 scsi 磁盘(例如 /dev/sda)。

当作为 scsi 磁盘安装时,有什么方法可以访问 CSD 寄存器(卡特定数据)吗?

有什么方法可以让内核将设备识别为 mmc 吗?

谢谢。

linux linux-kernel sd-card device-name device-node
3个回答
1
投票

您至少应该在 /sys/block/diskX 目录中获取一些 CSD 信息。

示例: 我连接到 USB 记忆棒的 SD 卡被系统发现为 /dev/sdc。

ls -l /sys/block/sdc/queue/
total 0
-rw-r--r-- 1 root root 4096 Oct  7 22:25 add_random
-r--r--r-- 1 root root 4096 Oct  7 22:25 discard_granularity
-r--r--r-- 1 root root 4096 Oct  7 22:25 discard_max_bytes
-r--r--r-- 1 root root 4096 Oct  7 22:25 discard_zeroes_data
-r--r--r-- 1 root root 4096 Oct  7 22:25 hw_sector_size
drwxr-xr-x 2 root root    0 Oct  7 22:24 iosched
-rw-r--r-- 1 root root 4096 Oct  7 22:24 iostats
-r--r--r-- 1 root root 4096 Oct  7 22:25 logical_block_size
-r--r--r-- 1 root root 4096 Oct  7 22:24 max_hw_sectors_kb
-r--r--r-- 1 root root 4096 Oct  7 22:24 max_integrity_segments
-rw-r--r-- 1 root root 4096 Oct  7 22:24 max_sectors_kb
-r--r--r-- 1 root root 4096 Oct  7 22:24 max_segment_size
-r--r--r-- 1 root root 4096 Oct  7 22:24 max_segments
-r--r--r-- 1 root root 4096 Oct  7 22:24 minimum_io_size
-rw-r--r-- 1 root root 4096 Oct  7 22:25 nomerges
-rw-r--r-- 1 root root 4096 Oct  7 22:25 nr_requests
-r--r--r-- 1 root root 4096 Oct  7 22:25 optimal_io_size
-r--r--r-- 1 root root 4096 Oct  7 22:23 physical_block_size
-rw-r--r-- 1 root root 4096 Oct  7 22:25 read_ahead_kb
-rw-r--r-- 1 root root 4096 Oct  7 22:25 rotational
-rw-r--r-- 1 root root 4096 Oct  7 22:25 rq_affinity
-rw-r--r-- 1 root root 4096 Oct  7 22:25 scheduler

1
投票

查看Linux内核源代码,您可能会发现USB设备在极少数情况下提供mmcblk设备。 Realtek芯片RTS5129、RTS5139、RTS5179和RTS5170提供MMC接口。我发现 RTS5129 作为我的笔记本电脑的集成部分,并检查它是否正确处理供应商自定义

CMD56
。不幸的是,我不知道是否可以购买基于上述芯片的外部 USB SD 读卡器。


0
投票

我可以确认基于 RTS5179 的读卡器将 MMC 识别为 /dev/mmcblk0。我购买了笔记本电脑使用的读卡器部件,并通过 USB 连接器和更换的连接器连接。这是唯一的方法,因为我从未见过普通的 USB 读卡器将 MMC 识别为 /dev/mmcblk0。

在此模式下开始为我的 MMC 使用 TRIM 功能。

© www.soinside.com 2019 - 2024. All rights reserved.