การค้นหาคุณสมบัติของการ์ด 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 เวอร์ชันล่าสุด

คำตอบ:


11

วิธีที่เหมาะสมในการทำเช่นนี้ใน Arch Linux แต่ตอนนี้ในทุกระบบที่ใช้udevเป็นคำสั่ง:

  sudo udevadm info -a -n /dev/sdb

ในกรณีของคุณ

แก้ไข:

ตอบความคิดเห็นของคุณ: ฉันเชื่อว่าคุณเข้าใจผิด ระดับคือมุมมองของอุปกรณ์ที่เป็นอิสระของรายละเอียดการปฏิบัติในระดับต่ำ ตัวอย่างคลาสสิกคือดิสก์ แน่นอนคุณอาจมีดิสก์ SCSI หรือดิสก์ ATA แต่ในระดับชั้นพวกเขาเป็นสิ่งเดียวกัน แนวคิดของคลาสคือการอนุญาตให้ผู้ใช้สร้างรหัส userspace ซึ่งไม่ขึ้นอยู่กับว่าพวกเขาเชื่อมต่อกับเครือข่ายอย่างไรพวกเขาทำงานอย่างไรไดรเวอร์อุปกรณ์ที่พวกเขาใช้และอื่น ๆ ในทางใดทางหนึ่งคลาสเป็นระดับสูงสุดของสิ่งที่เป็นนามธรรมสำหรับอุปกรณ์

ดังนั้นคุณจะไม่ถูกต้องในการค้นหารายละเอียดดังกล่าวในฐานะผู้จำหน่าย SD card ของคุณ (ซึ่งโดยวิธีการที่ควรจะอยู่ในsys / / ระดับ / mmc_hostถ้ามีอะไรที่ทุกคน) ภายในsys /


1
ตกลงนี่ให้ข้อมูลทั้งหมดนั้น แต่ - แม้ว่าฉัน/sys/classควรจะเป็นวิธีที่ทำนำทาง/devโดยไม่ต้องทั้งหมดudevhieracrchy อุปกรณ์ที่เฉพาะเจาะจง (กำหนดโดย)? ฉันผิดหรือเปล่า?
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

รายการบล็อกของ Bunnie ใน SD card shenanigansเป็นสถานที่ที่ดีในการเริ่มตรวจสอบความหมายของหมายเลขประจำตัวเหล่านั้น


ยิ่งใหญ่ ในกรณีของฉันด้วยคำตอบนี้ฉันสามารถค้นหาแอตทริบิวต์อุปกรณ์ SD และ MMC ส่วนใหญ่ได้ cid, csd, scr, วันที่, fwrev, hwrev, manfid, ชื่อ, oemid, ซีเรียล ...
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 ฉันค้นพบว่า (ในระบบของฉัน) ว่านี่เป็น symkinks ของดิสก์จริง แน่นอนเมื่อฉันทำ "ls -la / sys / class / scsi_disk / มันแสดง symlink สำหรับ 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/...ไดเรกทอรีของคุณตามที่คุณระบุฉันได้รับ symlink กลับไป/sys/class/scsi_disk/8:0:0:0ซึ่งเป็นที่ที่คำถามของฉันเริ่ม ฉันไม่เห็นไฟล์ใด ๆ สำหรับแบบจำลองผู้จัดจำหน่ายเท่านั้นFUA, device, allow_restartและอื่น ๆ ฉันค้นหาสิ่งเหล่านี้โดยไม่มีโชค
Charles Pehlivanian
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.