查找已挂载的 SD 卡的属性

查找已挂载的 SD 卡的属性

我的 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

dmesg

[ 1206.970596] sd 3:0:0:0: [sdb] Attached SCSI removable disk

我想知道一些我认为应该包含的属性 - 序列号、制造商 ID 等/sys/class。我搜索了很久,/sys/class/scsi_disk/3:0:0:0/但没有任何结果。

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

答案1

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

  sudo udevadm info -a -n /dev/sdb

就你的情况而言。

编辑:

回复您的评论:我认为您搞错了。班级是独立于低级实现细节的设备视图。典型示例是磁盘。当然,您可能有 SCSI 磁盘或 ATA 磁盘,但至少班级水平上,它们是同一件事。班级是允许用户构建独立于他们如何连接到网络、他们如何工作、他们使用哪个设备驱动程序等的用户空间代码。在某种程度上,班级是作为设备模型的最高抽象级别。

因此,你搜索 SD 卡供应商等详细信息是错误的(顺便说一句,应该在/系统/类/mmc_host(如果有的话)在/系统/类

答案2

确切的布局取决于驱动程序,但请尝试搜索/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

Bunnie 关于 SD 卡恶作剧的博客文章是开始追溯这些 ID 号码含义的好地方。

答案3

我没有使用 Arch Linux,但“usb-devices”列出了系统知道的所有 USB 设备的详细信息,并包含了我插入的 USB 密钥的以下内容:

T:  Bus=03 Lev=02 Prnt=02 Port=02 Cnt=02 Dev#=  5 Spd=480 MxCh= 0
D:  Ver= 2.00 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=0781 ProdID=5567 Rev=01.26
S:  Manufacturer=SanDisk
S:  Product=Cruzer Blade
S:  SerialNumber=4C532000060624123092
C:  #Ifs= 1 Cfg#= 1 Atr=80 MxPwr=200mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=08(stor.) Sub=06 Prot=50 Driver=usb-storage

答案4

查看 /sys/class/scsi_disk 我发现(在我的系统上)这些是实际磁盘的符号链接。事实上,当我执行“ls -la /sys/class/scsi_disk/”时,它会显示 8:0:0:0 到 ../../devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb3/3-2/3-2.3/3-2.3:1.0/host8/target8:0:0/8:0:0:0/scsi_disk/8:0:0:0 的符号链接

如果我随后转到:/sys/devices/pci0000:00/0000:00:1c.4/0000:09:00.0/usb3/3-2/3-2.3/3-2.3:1.0/host8/target8:0:0/8:0:0:0 其中有许多我怀疑您会感兴趣的文件,包括 -

model = model of the drive
vendor = the drive vendor

可能感兴趣的还有解析 /proc/scsi -

/proc/scsi/scsi          contains the description of each device and associated host
                         as scsi8 which lets me derive the "8" in the next bit.

/proc/scsi/usb-storage/8 contains the Vendor, Product and serial number

相关内容