查找挂载的 SD 卡的属性

Cha*_*ian 12 linux sd-card arch-linux

我的 SD 卡自动挂载为 /dev/sdb:

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sr0     11:0    1  1024M  0 rom  
sda      8:0    0    80G  0 disk 
??sda1   8:1    0    78G  0 part /
??sda2   8:2    0     1K  0 part 
??sda5   8:5    0     2G  0 part [SWAP]
sr1     11:1    1  1024M  0 rom  
sdb      8:16   1   7.4G  0 disk 
??sdb1   8:17   1    56M  0 part /media/boot
??sdb2   8:18   1   2.7G  0 part /media/af599925-1134-4b6e-8883-fb6a99cd58f1
Run Code Online (Sandbox Code Playgroud)

dmesg

[ 1206.970596] sd 3:0:0:0: [sdb] Attached SCSI removable disk
Run Code Online (Sandbox Code Playgroud)

我想知道一些属性 - 序列号、制造商 ID 等我认为会在/sys/class. 我/sys/class/scsi_disk/3:0:0:0/没有任何运气进行了搜索。

我在哪里可以找到这些信息?我正在使用最新版本的 Arch-linux。

Mar*_*iae 13

在 Arch Linux 中执行此操作的正确方法,但现在在所有使用udev 的系统中,是以下命令:

  sudo udevadm info -a -n /dev/sdb
Run Code Online (Sandbox Code Playgroud)

在你的情况下。

编辑:

回复你的评论:我相信你错了。的是一种装置,其是独立的低级实现细节的视图。典型的例子是磁盘。您当然可以拥有 SCSI 磁盘或 ATA 磁盘,但是,在级别上,它们是相同的。该类的想法是允许用户构建用户空间代码,该代码独立于他们如何连接到网络、他们如何工作、他们使用哪个设备驱动程序等。在某种程度上,是可用作设备模型的最高抽象级别。

因此,您在/sys/class中搜索诸如 SD 卡供应商(顺便说一下,应该在/sys/class/mmc_host 中,如果有的话)之类的详细信息是错误的


Rob*_*oun 7

确切的布局取决于驱动程序,但请尝试搜索/sys一些 MMC (SD) 特定关键字。下面是一个基于ARM的嵌入式系统:

$ find /sys -name "oemid"
/sys/class/mmc_host/mmc0/mmc0:aaaa/oemid
$ find /sys -name "cid"
/sys/class/mmc_host/mmc0/mmc0:aaaa/cid
$ find /sys -name "csd"
/sys/class/mmc_host/mmc0/mmc0:aaaa/csd
Run Code Online (Sandbox Code Playgroud)

Bunnie 关于 SD 卡恶作剧的博客条目是开始回溯这些 ID 编号含义的好地方。