Linux下读取连接USB-SD Reader的SD卡CID

Ser*_*LUK 6 linux sd-card

当卡连接到SDIO接口时,我可以轻松读取CID信息:

stulluk@debian:~$ cat /sys/bus/mmc/devices/mmc0\:0007/cid
0150414a4836344713da8544b3012300
stulluk@debian:~$
Run Code Online (Sandbox Code Playgroud)

但是当我将同一张卡连接到USB-SDCard读卡器时,我在sysfs中找不到任何读取它的接口。

Linux下有这样的接口吗?或者,是否有其他方法可以在用户空间中通过 USB 读取 SD 卡的寄存器,而无需修改 Linux 内核?

非常感谢。

小智 6

但是当我将同一张卡连接到USB-SDCard读卡器时,我在sysfs中找不到任何读取它的接口。

那是因为它不可用。

USB SD 读卡器使用 USB 大容量存储设备类。该接口与介质无关——它本质上是 SCSI 的简化版本。它不提供任何访问 SD 特定信息(如 CID 寄存器)的标准方法,并且大多数 SD 读卡器不实现任何此类功能。

  • 多年后,这就是**正确答案**。SD读卡器内部有一个芯片。该芯片是一种桥接器,一侧是 USB 设备(通过 USB 电缆连接到您的 PC),另一侧是 SD 卡接口(您将 uSD 卡插入插槽的位置)。市场上大多数SD卡读卡器不提供任何标准或非标准的方式来访问Sd卡控制器的寄存器。一些制造商(咳GenesysLogic咳)可以提供一些专有的方式来访问这些数据,或者一些SD卡制造商(咳swissbit咳)为其提供专有工具(SBLTM) (3认同)