탑재 된 SD 카드의 속성 찾기


10

내 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를 사용하고 있습니다.

답변:


12

이를 수행하는 올바른 방법은 Arch Linux에서는 지금 udev 를 사용하는 모든 시스템에서 다음 명령입니다.

  sudo udevadm info -a -n /dev/sdb

당신의 경우에.

편집하다:

귀하의 의견에 대한 답변 : 귀하가 착각했다고 생각합니다. 이 클래스 는 하위 레벨 구현 세부 사항과 독립적 인 디바이스의보기입니다. 전형적인 예는 디스크입니다. 물론 SCSI 디스크 나 ATA 디스크가있을 수 있지만 클래스 수준에서는 동일합니다. 이 클래스 의 개념은 사용자가 네트워크에 연결되는 방식, 작동 방식, 사용하는 장치 드라이버 등에 독립적 인 사용자 공간 코드를 작성할 수 있도록하는 것입니다. 어떤면에서이 클래스 는 장치 모델로 사용할 수있는 최고 수준의 추상화입니다.

따라서 당신은 (, 그런데,에 있어야합니다 귀하의 SD 카드 공급 업체 등의 자세한 내용은 검색에서 잘못 / SYS / 클래스 / mmc_host 내에서 어떤 경우 모두에서) / SYS / 클래스 .


1
자, 이것은 모든 정보를 제공합니다. 그러나-비록 모든 장치 특정 (설정 ) 계층 구조 없이 /sys/class탐색 할 수있는 방법이 되었습니까? 내가 틀렸어? /devudev
Charles Pehlivanian

@CharlesPehlianian 내 답변의 편집 참조
MariusMatutiae

좋아-나는 그때 잘못된 인상을 받았다. 감사!
Charles Pehlivanian

@CharlesPehlivanian : 다음을 통해 자세한 정보를 얻을 수 있습니다 /sys/class. @Robert의 답변을 참조하십시오. 최선의 방법이 아닐 수도 있습니다. 그러나 일부 시스템 (예 : Android)에서는 udevadm사용할 수 없습니다.
LarsH

6

정확한 레이아웃은 드라이버에 따라 다르지만 /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

SD 카드 shenanigans 에있는 Bunnie의 블로그 항목 은 해당 ID 번호의 의미를 역 추적하기에 좋은 곳입니다.


큰. 필자의 경우이 답변으로 대부분의 SD 및 MMC 장치 속성을 찾을 수 있습니다. cid, csd, scr, 날짜, fwrev, hwrev, manfid, 이름, oemid, serial ...
agfe2

2

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

1
감사합니다. 이것은 내가 요구 한 것을 제공하지만 /sys/class조금 더 잘 이해 하고 싶습니다. 그래서 나는 그것을 기반으로 답변을 원합니다.
Charles Pehlivanian

1

/ 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

ls귀하의 /sys/devices/...디렉토리에서 할 때 , 귀하가 나타내는대로, 나는 /sys/class/scsi_disk/8:0:0:0질문을 시작한 곳으로 다시 symlink를 얻습니다 . 모델, 공급 업체 FUA, device, allow_restart등의 파일이 표시되지 않습니다 . 운이 없이 파일을 검색했습니다.
Charles Pehlivanian
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.