web-dev-qa-db-ja.com

マウントされた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

/sys/classにあると思われるシリアル番号、製造元IDなど、いくつかの属性を教えてください。 /sys/class/scsi_disk/3:0:0:0/を検索しましたが、うまくいきませんでした。

この情報はどこにありますか? Arch-linuxの最新バージョンを使用しています。

10

これを行う適切な方法は、Arch Linuxでdevを使用するすべてのシステムで、次のコマンドです。

  Sudo udevadm info -a -n /dev/sdb

あなたの場合。

編集:

あなたのコメントへの返答:私はあなたが間違っていると思います。 classは、低レベルの実装の詳細に依存しないデバイスのビューです。古典的な例はディスクです。もちろん、SCSIディスクまたはATAディスクを使用することもできますが、classレベルでは、それらは同じものです。 classの考え方は、ネットワークへの接続方法、動作方法、使用するデバイスドライバーなどに依存しないユーザー空間コードをユーザーが作成できるようにすることです。ある意味で、クラスは、デバイスのモデルとして利用可能な最高レベルの抽象化です。

したがって、SDカードベンダーなどの詳細を検索するのは間違っています(ちなみに、これは/ sys/class/mmc_Hostである必要があります)/ sys内にあります) /クラス

12
MariusMatutiae

正確なレイアウトはドライバーに依存しますが、いくつかのMMC(SD)特定のキーワードを/sysで検索してみてください。以下は、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カードの不正行為に関するBunnieのブログエントリ は、これらのID番号が何を意味するかを追跡し直すのに適した場所です。

6
Robert Calhoun

私は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
2
davidgo

/ 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
1
davidgo