我正在尝试访问SD卡上的CSD(卡特定数据)寄存器。我知道这样做的唯一方法是让linux系统将其识别为mmc设备(多媒体卡?)(例如/ dev / mmcblk0)。现在,设备显示为scsi磁盘(例如/ dev / sda)。
安装为scsi磁盘时,有什么方法可以访问CSD寄存器(卡特定数据)吗?
有什么方法可以让内核将设备识别为mmc?
感谢。
答案 0 :(得分: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 :(得分:0)
查看Linux内核源代码,您可能会发现USB设备提供mmcblk设备的情况很少。 Realtek芯片RTS5129,RTS5139,RTS5179和RTS5170提供MMC接口。我发现RTS5129是笔记本电脑的集成部分,并检查它是否正确处理了供应商自定义CMD56
。不幸的是,我不知道是否可以购买基于提到的芯片的外部USB SD卡读卡器。