3

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

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

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

谢谢。

4

2 回答 2

1

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

示例:我连接到 U 盘的 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
于 2014-10-07T20:33:45.103 回答
0

查看 Linux 内核源代码,您可能会发现 USB 设备提供 mmcblk 设备的情况很少见。Realtek芯片RTS5129、RTS5139、RTS5179和RTS5170提供MMC接口。我发现 RTS5129 是我笔记本电脑的集成部分,并检查它是否正确处理 vendor custom CMD56。不幸的是,我不知道是否可以购买基于上述芯片的外部 USB SD 读卡器。

于 2020-06-28T16:23:57.033 回答