マウントされた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
OK、これですべての情報が得られます。しかし、私はデバイス固有の(によって設定された)すべての階層なしで/sys/classナビゲートする方法であるはずでしたが、私はそれについて間違っていますか?/devudev
Charles Pehlivanian

@CharlesPehlianian私の回答の編集を参照してください
MariusMatutiae 2014年

わかりました-私はその時間違った印象にありました。ありがとう!
Charles Pehlivanian、2014年

@CharlesPehlivanian:詳細な情報はから取得できます/sys/class。@ロバートの答えを見てください。それは最善の方法ではないかもしれません。ただし、一部のシステム(Androidなど)ではudevadm利用できません。
LarsH 2015年

6

正確なレイアウトはドライバーによって異なりますが、/sysMMC(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カードの不正行為に関するBunnieのブログエントリは、これらのID番号の意味をさかのぼって追跡するのに適しています。


すごい。私の場合、この答えで、ほとんどのSDおよびMMCデバイス属性を見つけることができました。cid、csd、scr、date、fwrev、hwrev、manfid、name、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、2014年

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そこに私の質問が始まりました。モデル、ベンダー、のみFUA, device, allow_restartなどのファイルが表示されません。これらのファイルを検索しましたが、うまくいきませんでした。
Charles Pehlivanian、2014年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.